virtual

segmentation-fault .. AnsiStringToUnicodeString as first debug-error-line .. doobious class-hieracy

走远了吗. 提交于 2020-02-08 10:01:05
问题 I tried to make the classes hold RAII standards (as I get it .. I'm a hobby programmer), but the compiler/debugger complained about missing constructors (with empty brackets), so I added them + set_value() functions. The point of elaborating so much on a simple rectangle is to lift the cloudiness of integrating GUI-types (top-down types like buttons and text-fields) from the foreground problem I'm trying to handle: openGL 2D & 3d graphics living in a lower-left coordinatesystem. enum class

segmentation-fault .. AnsiStringToUnicodeString as first debug-error-line .. doobious class-hieracy

随声附和 提交于 2020-02-08 10:01:02
问题 I tried to make the classes hold RAII standards (as I get it .. I'm a hobby programmer), but the compiler/debugger complained about missing constructors (with empty brackets), so I added them + set_value() functions. The point of elaborating so much on a simple rectangle is to lift the cloudiness of integrating GUI-types (top-down types like buttons and text-fields) from the foreground problem I'm trying to handle: openGL 2D & 3d graphics living in a lower-left coordinatesystem. enum class

虚拟机centos7与docker使用

浪子不回头ぞ 提交于 2020-02-08 03:01:05
虚拟机 1、虚拟机介绍 2、环境准备及docker介绍 3、Virtual Box 4、smartTTY 5、docker操作命令 1、虚拟机介绍 具有完整硬件系统功能的完整计算机系统 常见虚拟机:Java虚拟机,Linux虚拟机,windows虚拟机 流行的虚拟机软件有:VMware、Virtual Box、Virtual PC 2、环境准备及docker介绍 1)环境准备 我的环境:win10 软件:VirtualBox-5.1.26、SmarTTY linux版本:centos7-atguigu.ova 2)docker介绍 一个开源的应用容器引擎 开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上 一个完整的Docker有以下几个部分组成: DockerClient客户端 Docker Daemon守护进程 Docker Image镜像 DockerContainer容器 3、Virtual Box 管理—》导入虚拟电脑—》将 所在位置载入—>启动 –》输入账号+密码–》ip addr查看ip(根据你的网络而选无线还是有线【在设备-》网络中修改】) 4、smartTTY 先连接: 1)uname -v查看版本(》=3.10) 2)安装docker:yum install docker,中途遇到操作选y(yes)

C++ 继承的多态性: 重载父类函数(虚方法)

社会主义新天地 提交于 2020-02-07 21:49:42
C++ 的继承复杂, 在 上一章 中讲解了基础部分 在用的时候不妨会想到: 如果在派生类中重载了基类的函数呢? 那么这就是本篇要讲的----继承的多态性. 百度百科 中对继承的多态性有详细的解释:   多态性就是 多种表现形式 ,具体来说,可以用" 一个对外接口,多个内在实现方法 "表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。   C++的多态性:在基类的函数前面加上 virtual 关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。 父类被标有 virutual 的函数称为: 虚方法 . 在子类中重载基类的函数只要在父类函数声明部分加上 override 关键字即可. 再说白一点, 也就是将父类某函数的功能替换掉了, 但是函数的 '外观' 没有变: #include <iostream> class Father { public: virtual void get() // 创建了一个虚方法 { std::cout<<"Father"<<std::endl; } }; class Child: public

抽象工厂学习笔记

…衆ロ難τιáo~ 提交于 2020-02-06 12:18:43
1.1.1 摘要   抽象工厂模式:允许客户使用抽象的接口来创建一系列相关的产品,而无需要知道实际产出的具体产品是什么。这样一来,客户就从具体的产品中被解耦出来。这种模式适用于产品对象的数目和种类不变,而具体产品系列之间存在不同或者容易变化的情况。   关键字:依赖抽象,不要依赖具体类,OCP   使用率: high    图 1.1.1 抽象工厂物理架构 1.1.2 参与类或接口作用    AbstractFactory (UIAbstractFactory) : 定义一个接口用来创建抽象产品,担任这个角色的是工厂方法模式的核心,它是与应用系统商业逻辑无关的。    ConcreteFactory (MacUIFactory, WinUIFactory) : 这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。    AbstractProduct (IButton, IBorder) : 担任这个角色的类是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。    Product (WinBotton, MacBotton, WinBorder, MacBorder) : 抽象工厂模式所创建的任何产品对象都是某一个具体产品类的实例。这是客户端最终需要的东西,其内部一定充满了应用系统的商业逻辑。   

设计模式-工厂模式

元气小坏坏 提交于 2020-02-06 08:57:13
简单工厂模式 属于设计模式类型中的创建型模式,所谓创建型模式是指:在创建对象的同时隐藏创建逻辑的方式,而不是用new运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加的灵活。 工厂模式是我们常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。我们经常用户new来创建对象,例如,B b = new B()。 为什么需要工厂模式?面向对象的封装和分派告诉我们,尽量将长的代码分派“切割”成每一段,将每段再“封装”起来(减少段与段之间的耦合联系性),这样就会将风险分散,以后如果需要修改,只要更改每段,不会再发生牵一动百的事情。 简单工厂模式将创建实例的工作和使用实例的工作分开,将对象的创建交给专门的工厂负责。缺点在于工厂类不够灵活,增加新的产品需要修改工厂类的判定逻辑。 #include "stdafx.h" #include <iostream> using namespace std; // 产品基类 class Book { public : virtual void read() = 0; // 抽象基类 }; // 书籍1 class Book1 : public Book { public : void read() { cout << "This book is c++.\n" ; } }; // 书籍2 class Book2 :

python学习(一)

走远了吗. 提交于 2020-02-06 05:24:12
Python   Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型 计算机程序设计语言 ,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。   Python是纯粹的 自由软件 , 源代码 和 解释器 CPython遵循 GPL ( GNU General Public License)协议[2] 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。   Python具有丰富和强大的库。它常被昵称为 胶水语言 ,能够把用其他语言制作的各种模块(尤其是 C / C++ )很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如 3D游戏 中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供 跨平台 的实现。 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。 Python

C++内存模型

不打扰是莪最后的温柔 提交于 2020-02-06 04:06:17
前言 之前阿里面试的时候有个面试官就问了我会不会"什么什么的内存模型",当时自己还不知道这个名词(知道概念,但确确实实不知道叫这个名字.....),所以就回了是问关于大小端存储么?面试官就问下一个问题了..... 后来在《程序员的自我修养》这本书中,看了相关的概念,在这里整理一下: Visual Studio查看虚函数表 在这里首先插一个话题,讲解一下如何查看虚函数表。 我们通过调试去查看变量的分布的时候,会发现只能显示出来基类的虚函数表,而派生类的虚函数表却是被隐藏的;我们想查看这个怎么办?下面是步骤: 先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX的内存布局。近期的VS版本都支持这样配置。 运行程序的话就会自动生成一张虚函数表了: 这个内存结构图分成了两个部分,上面是内存分布,下面是虚表;就可以简单进行查看了。 C++内存模型(内存布局) 内存区域 这部分经友人提醒,可以从C++标准的"内存"概念中出发,后面会更新这部分内容。 HERE C++内存分为5个区域: 堆 heap : 由new分配的内存块,其释放编译器不去管,由我们程序自己控制(一个new对应一个delete)

Contiguous blocks of memory and VM

六月ゝ 毕业季﹏ 提交于 2020-02-06 01:35:55
问题 I was reading up on Virtual Memory and from what I understand is that each process has its own VM table that maps VM addresses to Physical Addresses in real memory. So if a process allocated objects continuously they can potentially be stored in completely different places in Physical Memory. My question is that if I allocate and array which is supposed to be stored in a contiguous block of memory and if the size of the array requires more space than one page can provide, from what I

Contiguous blocks of memory and VM

痴心易碎 提交于 2020-02-06 01:34:07
问题 I was reading up on Virtual Memory and from what I understand is that each process has its own VM table that maps VM addresses to Physical Addresses in real memory. So if a process allocated objects continuously they can potentially be stored in completely different places in Physical Memory. My question is that if I allocate and array which is supposed to be stored in a contiguous block of memory and if the size of the array requires more space than one page can provide, from what I