![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2018.12.4
欧梅尼亚
这个作者很懒,什么都没留下…
展开
-
C++基础教程面向对象(学习笔记(84))
移动构造函数并移动赋值在前面智能指针和移动语义的介绍中,我们看了一下std :: auto_ptr,讨论了移动语义的愿望,并看了一下在为复制语义设计的函数时出现的一些缺点(复制构造函数)和复制赋值运算符)被重新定义以实现移动语义。在本课中,我们将深入研究C ++ 11如何通过移动构造函数和移动赋值来解决这些问题。复制构造函数和复制赋值首先,让我们花点时间来回顾一下复制语义。复制构造函数用...翻译 2018-12-04 17:25:36 · 69 阅读 · 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 · 127 阅读 · 0 评论 -
C++基础教程面向对象(学习笔记(86))
std :: unique_ptr在本章的开头,我们讨论了在某些情况下如何使用指针可能导致错误和内存泄漏。例如,当函数提前返回或抛出异常并且未正确删除指针时,可能会发生这种情况。#include <iostream> void someFunction(){ Resource *ptr = new Resource; int x; std::cou...翻译 2018-12-04 20:31:11 · 108 阅读 · 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 · 70 阅读 · 0 评论