- 博客(5)
- 收藏
- 关注
转载 C++构造函数的default和delete
/表示删除默认拷贝构造函数,即不能进行默认拷贝。C++11中,当类中含有不能默认初始化的成员变量时,可以禁止默认。当类中含有不能默认拷贝成员变量时,可以禁止默认构造函数的生成,//表示删除默认构造函数。//表示默认存在构造函数。,即不能进行默认拷贝。
2022-10-11 17:21:03
234
1
原创 C++智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr
C++STL共提供了四个智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr 其中C++11只支持后三个,C++98支持所有四个。
2022-10-10 19:12:35
161
原创 C++关键词 auto explicit static const mutable
C++关键词 auto explicit static const mutable
2022-10-08 14:51:50
211
转载 c++ 函数后面加一个冒号的含义
以上定义并初始化的形式是正确的,可以通过编译,但括号赋值只能在变量定义并初始化中,不能用在变量定义后再赋值,冒号初始化是给数据成员分配内存空间时就进行初始化,就是说分配一个数据成员只要冒号后有此数据成员的赋值表达式(此表达式必须是括号赋值表达式),那么分配了内存空间后在进入函数体之前给数据成员赋值,就是说初始化这个数据成员此时函数体还未执行。这样是有好处的,有的数据成员需要在构造函数调入之后函数体执行之前就进行初始化如引用数据成员,常量数据成员和对象数据成员。3:当调用基类的构造函数,而它拥有一组参数时。
2022-10-08 11:31:50
1778
转载 Android 智能指针sp<>
弱指针也指向一个对象,但是弱指针仅仅记录该对象的地址,不能通过弱指针来访问该对象,也就是说不能通过弱智真来调用对象的成员函数或访问对象的成员变量。其实说白了一点也不复杂,原因就在于每一个可以被智能指针引用的对象都同时被附加了另外一个weakref_impl类型的对象,这个对象中负责记录对象的强指针引用计数和弱指针引用计数。但是需要知道一个智能指针其实是一个对象,而不是一个真正的指针,因此其运行效率是比不上普通指针的。上面说的都是强指针,弱指针的定义方法和强指针类似,但是不能通过弱指针来访问对象的成员。
2022-10-06 10:23:18
989
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人