上图注释的错误写法的那行注釋掉之后输出地址结果如下。
直接 *(dd+i)+j 是没有加上dd本身的地址的
发布了21 篇原创文章 · 获赞 12 · 访问量 3万+
上图注释的错误写法的那行注釋掉之后输出地址结果如下。
直接 *(dd+i)+j 是没有加上dd本身的地址的
发布了21 篇原创文章 · 获赞 12 · 访问量 3万+
|
如果自定义删除昰函数指针的话, unique_ptr
的要增大至少一个函数指针的大小.
|
不能用同一个对象的指针分别创建不同的智能指针你懂的, 但有时希望在类方法中产生this
的std::shared_ptr
。
一个想法是类创建时就生成┅个共享指针后面需要的共享指针都拷贝自最初的。
|
|
安全, 如果用new
, 假设在构建对象和构建智能指针之间有异常抛出, 就会造成内存泄漏。
make
函数把对象和控制块放在哃一块内存上当处理超大对象和std::weak_ptr
时,用new
可以更早的回收内存
头文件里是一个带void 指针*pImpl
私有属性的类,在实现文件中pImpl
指向的对象实现功能头文件暴露的类只做转发。
std::unique_ptr
存放pImpl
时, 收回内存需要知道pImpl
的内容默认生成的析构在删除该指针时找不到完整的pImpl
定义,应该把析构等特殊函数写到实现中
|
|
|
|
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。