
2018.12.4
欧梅尼亚
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++基础教程面向对象(学习笔记(84))
移动构造函数并移动赋值 在前面智能指针和移动语义的介绍中,我们看了一下std :: auto_ptr,讨论了移动语义的愿望,并看了一下在为复制语义设计的函数时出现的一些缺点(复制构造函数)和复制赋值运算符)被重新定义以实现移动语义。 在本课中,我们将深入研究C ++ 11如何通过移动构造函数和移动赋值来解决这些问题。 复制构造函数和复制赋值 首先,让我们花点时间来回顾一下复制语义。 复制构造函数用...翻译 2018-12-04 17:25:36 · 99 阅读 · 0 评论 -
C++基础教程面向对象(学习笔记(85))
std :: move 一旦开始更频繁地使用移动语义,您将开始查找要调用移动语义的情况,但您必须使用的对象是l值,而不是r值。以下面的交换函数为例: #include <iostream> #include <string> template<class T> void swap(T& a, T& b) { T tmp { a }; ...翻译 2018-12-04 19:50:55 · 186 阅读 · 0 评论 -
C++基础教程面向对象(学习笔记(86))
std :: unique_ptr 在本章的开头,我们讨论了在某些情况下如何使用指针可能导致错误和内存泄漏。例如,当函数提前返回或抛出异常并且未正确删除指针时,可能会发生这种情况。 #include <iostream> void someFunction() { Resource *ptr = new Resource; int x; std::cou...翻译 2018-12-04 20:31:11 · 137 阅读 · 0 评论 -
C++基础教程面向对象(学习笔记(87))
std :: shared_ptr 与std :: unique_ptr(专门用于拥有和管理资源)不同,std :: shared_ptr旨在解决您需要多个智能指针共同拥有资源的情况。 这意味着将多个std :: shared_ptr指向同一资源是可以的。在内部,std :: shared_ptr会跟踪std :: shared_ptr共享资源的数量。只要至少有一个std :: shared_pt...翻译 2018-12-04 20:45:35 · 114 阅读 · 0 评论