lambda表达式是C++11新引入的东西,给我们带来了很多的方便,使得代码简洁明了。但是当我们把unique_ptr和lambda表达式结合的时候,错误就往往会出现,而且是致命的。直接看看下面的代码:#include "stdafx.h"
#include
#include
#include class Message {
public:...
分类:
编程语言 时间:
2015-12-28 22:08:58
阅读次数:
978
unique_ptr的成员函数在上一篇博客中几乎全部涵盖,其实还有一个很有踢掉,即std::unique_ptr::get_deleter字面已经很明显了,就获得deleter:
Returns the stored deleterThe stored deleter is a callable object. A functional call to this object with a sin...
分类:
编程语言 时间:
2015-12-26 13:29:22
阅读次数:
491
既然打算把unique_ptr写一个系列,就要详尽一点,有些内容也许在vector的时候有个涉及,但是现在还是再谈论一番。我们要把unique_ptr看做一个类,废话了,它当然是一个类。所以这个类肯定也重载了赋值运算符,即operator=。现在就开始看看operator=在unique_ptr中的使用:
官方描述如下:move assignment (1)
unique_ptr& operat...
分类:
编程语言 时间:
2015-12-26 01:15:51
阅读次数:
254
写了很多篇关于vector的博客,其实vector很便捷,也很简单。但是很多易错的问题都是vector中的元素为智能指针所引起的。所以决定开始写一写关于智能指针的故事,尤其是unique_ptr指针的故事。这是个开始,就让我们使用std::unique_ptr代替new operator吧!还是用程序说话:#include
int main()
{
while (true...
分类:
编程语言 时间:
2015-12-24 23:56:43
阅读次数:
432
之前博客写了对vector使用sort算法进行的排序,之前也写到过vector<unique_ptr>的一些处理方法。今天就写一下对vector<unique_ptr>使用sort算法进行排序。#include
#include
#include
#include
#include<memory...
分类:
编程语言 时间:
2015-12-23 21:27:01
阅读次数:
352
之前博客讲到 vector可以使用insert方法,将一个vector copy到另一个vector的后面。之前的博客也讲到过,如果vector容器内部放的是unique_ptr是需要进行所有权转移的。现在就来八一八如何vector<unique_ptr<>> insert to vector<unique_ptr<>>如果常规的vector,我们就可以这么使用insert:// insertin...
分类:
编程语言 时间:
2015-12-18 06:56:35
阅读次数:
437
C++11为我们提供了智能指针,给我们带来了很多便利的地方。那么如果把unique_ptr作为vector容器的元素呢?形式如出一辙:vector<unique_ptr > vec;但是怎么给vec添加元素呢?看下面:#include
#include
#include
using namespace std;
int main()
{...
分类:
编程语言 时间:
2015-12-18 06:56:18
阅读次数:
523
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用...
分类:
其他好文 时间:
2015-12-16 18:52:06
阅读次数:
162
全局对象:启动时分配,结束时销毁局部对象:程序块内分配,程序块外销毁static对象:第一次使用分配,结束时销毁动态内存使用new来分配对象,使用delete销毁对象12.1两种智能指针#includeshared_ptr: 多个指针可以指向同一个对象unique_ptr: 独占指向的对象 weak...
分类:
其他好文 时间:
2015-11-29 23:08:55
阅读次数:
260
一、动态内存与智能指针 1、new:在动态内存中为对象分配空间并返回一个指向该对象的指针;delete:接受一个动态对象的指针,销毁该对象,并释放与之关联的内存 2、两种指针:shared_ptr和unique_ptr;还有一个weak_ptr;都定义在memory中 二、shared_ptr类:智...
分类:
其他好文 时间:
2015-10-11 19:38:46
阅读次数:
232