share_ptr

shared_ptr是应该共享指针所有权的智能指针,允许多个指针指向同一个对象#include<iostream>#include<memory>usingnamespacestd;intmain(intargc,char*argv[]){shared_ptr<int&
2020年02月18日 216次浏览

unique_ptr和auto_ptr

auto_ptr由C98引入,unique_ptr由C11引入,现在已经可以完全用unique_ptr替代auto_ptr。auto_ptr<int>ps(newint(10));auto_ptr<int>v;v=ps;cout<<&ps<<&
2020年02月18日 240次浏览

深拷贝与浅拷贝

浅拷贝是只对指针进行拷贝,两个指针指向同一个内存块,深拷贝是对指针和指针指向的内容都进行拷贝,拷贝后的指针是指向不同内的指针。
2020年02月15日 303次浏览

析构函数为什么要定义为虚函数

首先,构造的顺序的为:先构造父类的构造函数,再构造子类的构造函数,析构的顺序为先析构子类,再析构父类。定义为虚析构可以避免用父类指针new一个子类对象时产生的内存泄露。
2020年02月14日 365次浏览

同步和异步的区别

同步所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。异步将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭
2020年02月14日 317次浏览

linux下Qt5.7源码编译

linux下Qt5.7源码编译
以下记录了我在阿里云上编译qt源码的步骤。之前编译过几次,感觉比较容易踩坑,故此,记录一下。1.从http://download.qt.io/archive/qt/下载源码,我下的版本是:qt-everywhere-opensource-src-5.7.0.tar.gz2.解压压缩包,进入文件夹,查
2020年02月12日 380次浏览
linux下Qt5.7源码编译

实现一个不能拷贝的类

实现一个不能拷贝的类
C++默认如果在类中没有显式地声明一个拷贝构造函数,那么,编译器将会自动生成一个默认的拷贝构造函数,该构造函数完成对象之间的位拷贝,位拷贝又称浅拷贝。也就是说默认的C++类是允许复制的。那么如何实现一个不能拷贝的类呢?只需要将上面代码的注释打开。用protected或者private修饰重写的拷贝构造函数即可
2020年02月11日 449次浏览
实现一个不能拷贝的类

linux下boost编译

linux下boost编译
版本选择选择你想要的版本。这里我用的是boost_1_64_0,在/home目录下下载$wgethttps://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz$tarxvfboost_1_64_0.tar.gz测试保
2020年02月10日 437次浏览
linux下boost编译

常用查找算法

常用查找算法
#include<iostream>#include<algorithm>#include<functional>#include<string>#include<vector>usingnamespacestd;//对于自定义数据类型,需
2020年02月10日 420次浏览
常用查找算法

常用生成数算法

常用生成数算法
#include<iostream>#include<vector>#include<algorithm>#include<numeric>//accumulate头文件usingnamespacestd;//accumulate计算容器元素和void
2020年02月09日 428次浏览
常用生成数算法