深度探索C++对象模型一

深度探索C++对象模型一

bingliaolong C++ 3年前 15 0

关于对象 概述 C语言中,数据和处理数据的操作是分开的。 C++中,可能采用独立的抽象数据类型。 加上封装后的布局成本 virtual function 用以支持一个有效率的“运行期绑定“。 virtual base class 用以实现”多次出现在继承体系中的基类有一个单一而被...

Soui六

Soui六

bingliaolong Soui 3年前 7 0

控件注册机制 使用 TplSWindowFactory NewWindow只会在SOUI模块中调用。 对象的释放 TObjRefImpl里有个虚函数OnFinalRelease。 SWindow和SSkinObjBase是在SOUI中实现的,因此派生这两个类的新的控件类以及皮肤类...

C++标准模板库编程实战_序列容器

C++标准模板库编程实战_序列容器

bingliaolong C++ 3年前 7 0

简述 array<T,N> 长度固定,N个T类型的对象 不能增加或删除元素 vector<T> 底层实现是封装了顺序表,是一块物理上连续的空间 长度可变,必要时可以自动增加容量 但只能在序列的末尾高效的增加或删除元素 deque<T> deque是由一段一...

C++标准库_cfenv

C++标准库_cfenv

bingliaolong C++ 3年前 4 0

类型 fenv_t 浮点环境类型 可以表示浮点环境 整个状态的类型,包括其状态标志(如活动浮点异常)和控制模式(如舍入方向模式) fexcept_t 浮点异常类型 可以共同表示所有浮点状态标志的状态的类型,包括活动的浮点异常以及实现与它们的状态相关联的任何附加信息 函数 int ...

深入理解C++11:C++11新特性解析与应用 二

深入理解C++11:C++11新特性解析与应用 二 2

bingliaolong C++ 3年前 6 0

常用特殊 静态类型动态类型 主要区别在于对类型进行检查的时间点。 对于所谓的静态类型,类型检查主要发生在编译阶段。 对于动态类型,类型检查主要发生在运行阶段(和类型推导相关)。 auto auto声明变量的类型必须由编译器在编译时期推导而得。 auto声明的变量必须被初始化,以使...

Protobuf记述与使用

Protobuf记述与使用 5

bingliaolong C++ 3年前 9 0

理解 protobuf允许不同编程语言的程序员 以自己熟悉的方式在.proto文件里定义消息结构 然后protobuf的引擎把这个.proto文件里描述的消息结构进行解析,最后生成对应语言的代码,这些代码里描述了之前定义的消息结构 然后在项目中,需要用到这些消息结构的模块,只需引...

Soui九

Soui九

bingliaolong Soui 3年前 6 0

关于圆角 没有子窗口 如果SOUI的宿主窗口没有包含子窗口,直接使用窗口的半透明属性:translucent=1就可以解决了,整个窗口形状完全由背景图决定,可以实现完美的圆角。 有子窗口 窗口半透明时,窗口中的子窗口(非SWindow)就不能正常显示,所以有时候不得不使用tran...

C++并发编程 _ 共享数据

C++并发编程 _ 共享数据

bingliaolong C++ 5年前 7 0

概述 如果我们在线程间共享数据,我们需要设置规则,哪个线程可以访问数据的哪一位,什么时间以及如何将更改传达给关心数据的其他线程。 关键点 问题 从整体上来看,所以线程之间共享数据的问题,都是修改数据导致的。如果所有的共享数据都只读的,就没有问题,因为一个线程所读取的数据不受另一个...

扫一扫二维码分享