make_unique在c++11里面没有引入,但是你可以自己写一个 template <typename T, typename ...Args> std::unique_ptr<T> make_unique(Args&& ...args) { return unique_ptr<T>(new T ...
分类:
其他好文 时间:
2021-06-15 18:01:41
阅读次数:
0
一个unique_ptr"拥有“他所指向的对象。与shared_ptr不同,某个时刻只能有一个unique_ptr指向一个给定的对象。当unique_ptr被销毁时,它所指向的对象也被销毁。uniptr_ptr表达的是一种独占的思想。 初始化 #include <iostream> #include ...
分类:
编程语言 时间:
2021-03-10 13:24:43
阅读次数:
0
Pimpl(Pointer to implementation)很多同学都不陌生,但是从原始指针升级到C++11的独占指针std::unique_ptr时,会遇到一个incomplete type的报错,本文来分析一下报错的原因以及分享几种解决方法 问题现象 首先举一个传统C++中的Pimpl的例子 ...
分类:
其他好文 时间:
2020-12-04 11:32:46
阅读次数:
7
C++标准库中有很多资源占有(resource-owning)类型,比如 std::ifstream , std::unique_ptr 还有 std::thread 都是可移动(movable),但不可拷贝(cpoyable)。虽然, std::thread 实例不会如 std::unique_p ...
分类:
编程语言 时间:
2020-06-07 13:10:02
阅读次数:
72
本节将开始介绍cartographer前端点云与地图匹配获取当前位姿的算法。上节末尾我们提到ScanMatch函数,源码如下: std::unique_ptr<transform::Rigid2d> LocalTrajectoryBuilder2D::ScanMatch( const common: ...
分类:
其他好文 时间:
2020-06-02 11:38:15
阅读次数:
88
1、视频 std::unique_ptr<VideoEncoder> InternalEncoderFactory::CreateVideoEncoder( const SdpVideoFormat& format) { if (absl::EqualsIgnoreCase(format.name, ...
分类:
Web程序 时间:
2020-05-23 15:04:39
阅读次数:
89
19、unique_ptr独占的智能指针 0、课前秀 1、unique_ptr + 不允许通过赋值将一个unique_ptr赋值给另外一个unique_ptr。 + 可以通过函数返回给其他的unique_ptr,还可以通过std::move来转移到其他的unique_ptr,这样它本身就不再拥有原来 ...
分类:
编程语言 时间:
2020-05-22 16:45:17
阅读次数:
59
最近面试的时候面试官问了我一个问题。unique_ptr和shared_ptr到底有什么区别?我一时语塞。回来之后我痛定思痛,决定好好的研究一下智能指针的问题。现在已经研究的差不多了,决定好好的总结一下。 一、智能指针的用途 二、智能指针的特性 三、智能指针的种类与用途 3.1 最原始的智能指针au ...
分类:
其他好文 时间:
2020-05-19 12:55:53
阅读次数:
66
1、shared_ptr 1、shared_ptr多个指针指向相同的对象。shared_ptr使用引用计数,每个shared_ptr的拷贝 都指向相同的能存。每次使用它一次,该对象内部的引用计数加1,指向该对象的shared_ptr指针 每减少一个,该对象内部的引用计数就减1,当引用计数为0时,就自 ...
分类:
其他好文 时间:
2020-05-12 09:42:26
阅读次数:
78
cppPrimer学习16th [TOC] TODO 16.1 16.2 16.8 16.12 16.19 16.20 16.21 16.26 16.27 16.28 16.31 cpp // 16.31 如果我们将DebugDelete 与 unique_ptr 一起使用,解释编译器将删除器处理为 ...
分类:
其他好文 时间:
2020-04-23 20:45:34
阅读次数:
71