- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 GetLocalTime 和 GetSystemTime 的区别
GetSystemTime() 该接口获取格林威治标准时间GetLocalTime() 该接口用来获取当地的当前系统日期和时间如果在软件中一天检测一次的话,最好采用 GetLocalTime()。在测试过程中,如果在2017年7月2号的话,在七点左右,你使用GetSystemTime()获取到的是日期是2017-07-01,与时间时候不符合。但是到了10点以后,获取的话,就变成2017-07-...
2018-07-02 11:51:36
6502
原创 拷贝构造函数的调用时机以及深拷贝与浅拷贝
拷贝构造函数被调用的三个时机:1、当用类对象去初始化另一个类对象的时候2、如果函数的行参为类对象时,在调用此函数时,实参赋值给行参时,自动调用拷贝构造函数3、当函数的返回值为类型时,当调用函数返回时,自动调用拷贝构造函数。默认拷贝构造函数的拷贝方式为浅拷贝...
2018-06-28 20:37:58
244
转载 C++对象模型(4)---多态如何实现
原文链接:吴秦大神的C++对象模型多态(Polymorphisn)在C++中是通过虚函数实现的。通过前面的模型【参见“有重写的单继承”】知道,如果类中有虚函数,编译器就会自动生成一个虚函数表,对象中包含一个指向虚函数表的指针。能够实现多态的关键在于:虚函数是允许被派生类重写的,在虚函数表中,派生类函数对覆盖(override)基类函数。除此之外,还必须通过指针或引用调用方法才行,将派生类对象赋给基...
2018-06-28 20:25:10
175
转载 C++对象模型(3)---对象模型中加入多继承
原文链接:吴秦大神的C++对象模型 从单继承可以知道,派生类中只是扩充了基类的虚函数表。如果是多继承的话,又是如何扩充的?1) 每个基类都有自己的虚表。2) 子类的成员函数被放到了第一个基类的表中。3) 内存布局中,其父类布局依次按声明顺序排列。4) 每个基类的虚表中的print()函数都被overwrite成了子类的print ()。这样做就是为了解决不同的基类类型的指针指向同一个子类实 ...
2018-06-28 20:20:18
169
转载 C++对象模型(2)---对象模型中加入单继承
原文链接:吴秦大神的C++对象模型 不管是单继承、多继承,还是虚继承,如果基于“简单对象模型”,每一个基类都可以被派生类中的一个slot指出,该slot内包含基类对象的地址。这个机制的主要缺点是,因为间接性而导致空间和存取时间上的额外负担;优点则是派生类对象的大小不会因其基类的改变而受影响。 如果基于“表格驱动模型”,派生类中有一个slot指向基类表,表格中的每一个sl...
2018-06-28 20:16:37
151
转载 C++对象模型(1)---何为C++对象模型?
原文链接:吴秦大神的C++对象模型C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分2. 对于各种支持的底层实现机制 语言中直接支持面向对象程序设计的部分,如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等,这也是组里其他同学之前分享过的内容。第一部分这里我简单过一下,重点在底层实现机制。 在c语言中,“数据”和“处理数据...
2018-06-28 20:09:02
174
原创 C++空类默认成员函数
如果写成一个空类,编译器会为你做什么?class Emptyclass {}1、缺省构造函数Emptyclass();2、析构函数~Emptyclass();3、拷贝构造函数Emptyclass(const Emptyclass&);4、赋值运算符Emptyclass operator=(const Emptyclass&);5、取地址运算符Emptyclass* opera...
2018-06-28 18:32:26
1158
原创 在C++的基类中,析构函数为什么声明为虚函数?
在C++的基类中,析构函数为什么声明为虚函数,如果不声明为虚函数时,会发生什么?代码奉上:#include <iostream>class Base{public: Base() { std::cout << "Base::Create" << std::endl; } ~Base() { std:...
2018-06-28 18:16:52
1762
原创 为什么C++空类的大小不为0?
先上代码#include <iostream>class EmptyClass {};int main(int argc, _TCHAR* argv[]){ std::cout << "The sizeof EmptyClass is " << sizeof(EmptyClass) << std::endl; return...
2018-06-28 17:49:40
511
空空如也
x264编码--使用nal单元分割一帧h264数据
2015-10-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人