- 博客(4)
- 问答 (1)
- 收藏
- 关注
原创 构造函数语义
结论 在类没有提供默认构造、拷贝构造函数、拷贝赋值函数时,编译器会自动合成相应的函数; 编译器只在需要的时候合成编译器完成必要工作所需要的默认构造、拷贝构造、拷贝赋值函数 构造函数语义 一、合成的默认构造函数 合成时机:默认构造函数在被编译器需要的时候被合成; 功能:只执行编译器需要的行动; 具体说明 类中包含成员对象,且该成员对象的类有默认构造函数:编译器会合成一个默认构造函数,只执行必要的操作用来调用foo的默认构造,但是不会对str进行任何处理。 派生自带有默认构造函数的基类: [例] 同上 带有
2022-05-26 17:59:30 62
原创 Effective C++ 条款05:了解C++默默编写并调用的函数
Effective C++ 条款05:了解C++默默编写并调用的函数 结论: 通常,概念上,如果类的设计者自己没有声明,编译器会自动生成编译器版本的默认构造函数、拷贝构造函数、拷贝赋值函数、析构函数;而实际上,编译器只在需要调用相应函数的时候才会生成响应的函数; (一)、默认构造函数 (1)合成时机: 类中包含成员对象,且该成员对象的类有默认构造函数(手动声明或者编译器合成); 派生自带有默认构造函数的基类; 带有虚函数或者虚基类的类的类; (2)构造函数的扩充: 如果类的设计者已经实现了一个或
2022-05-26 17:58:22 106
原创 模板相关内容笔记
模板相关内容笔记 一、模板泛化编程 (一)函数模板 1、函数模板定义方式: template <class Type, int size> Type min(const Type (&r_array)[size]) { Type min_val = r_array[0]; for (int i = 1; i < size; ++i) { if (r_array[i] < min_val) { mi
2022-05-26 17:57:42 67
原创 全局对象的构造和析构
全局对象的构造和析构 _init() 函数先于main函数调用,_fini() 后于main函数调用; _init() 函数中会对全局对象进行构造,_fini() 对全局对象进行析构; 编译器对每一个编译单元进行编译是,若检测到该编译单元中有实现了构造函数的全局对象,则会合成一个全局对象构造函数GLOBAL_VAR_INIT(),用来对全局变量进行初始化;该函数指针被放在该编译单元的.ctor段内;同时,若对象声明了析构函数,还会注册全局析构函数; 链接器链接时,将编译单元中的同名段进行合并,于是所有包含
2022-05-26 17:54:02 464
空空如也
MFC非模态对话框最小化之后,还原之后不显示
2021-09-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人