摘要: unique_ptr实现了独占式拥有概念,它可以保证一个对象和其相应的资源同一时间只被一个pointer拥有。一旦拥有者被销毁或变成empty,或开始拥有另一个对象,先前拥有的那个对象就会被销毁,其任何相应的资源亦会被释放。 1.使用unique_ptr #include <iostream> #i 阅读全文
posted @ 2020-06-15 23:01 啸傲风月 阅读(203) 评论(0) 推荐(0) 编辑
摘要: C++标准库提供了两大类型的smart pointer 一、class shared_ptr。共享式拥有。多个shared_ptr可以指向同一个对象,该对象和起相关资源会在最后一个指针被销毁时释放。 二、class unique_ptr。独占式拥有。同一时间只有一个smart pointer可以指向 阅读全文
posted @ 2020-05-27 23:08 啸傲风月 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 1.Pair 1.1 Pair定义: namespace std { template<class _T1, class _T2> struct pair { _T1 first; _T2 second; } } 两个成员都是public。 实现一个泛型类函数模板,将一个pair写入一个stream 阅读全文
posted @ 2020-05-10 22:09 啸傲风月 阅读(411) 评论(0) 推荐(0) 编辑
摘要: decltype可让编译器找出表达式的类型。 map<string,float> coll; decltype(coll)::value_type elem; 新的函数声明语法 template<typename T1, typename T2> auto add(T1 x, T2 y) -> de 阅读全文
posted @ 2020-05-09 22:04 啸傲风月 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 语法如下: //直接调用 []{ cout<<"hello lambda1"<<endl; }(); //传递给对象 auto l=[]{ cout<<"hello lambda2"<<endl; }; l(); Lambda可以有参数 auto l2 = [](const string& s){ 阅读全文
posted @ 2020-05-08 23:36 啸傲风月 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 自C++11起,template可拥有那种“可以接收个数不定之template实参”的参数。此能力称variaddic template。 #include <iostream>#include <bitset> void print(){ } template<typename T,typenam 阅读全文
posted @ 2020-05-08 22:29 啸傲风月 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 语法如下: for(decl:coll){ statement } 举例: template <typename T> void printElements(const T& coll){ for(const auto& elem:coll){ cout<<elem<<endl; } } int a 阅读全文
posted @ 2020-05-08 22:19 啸傲风月 阅读(3026) 评论(0) 推荐(0) 编辑
摘要: 自C++11起,constexpr可用来让表达式核定于编译期,例如 constexpr int square(int x){ return x*x; } float a[square(9)];cout<<"size="<<sizeof(a)/sizeof(a[0])<<endl; 阅读全文
posted @ 2020-05-08 22:10 啸傲风月 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1. QSplitter 分割窗口 代码: QSplitter *splitterMain=new QSplitter(Qt::Horizontal,0); QTextEdit *textLeft=new QTextEdit(QObject::tr("Left Widget"),splitterMa 阅读全文
posted @ 2020-02-13 11:33 啸傲风月 阅读(238) 评论(0) 推荐(0) 编辑
摘要: QVariant类类似于C++的联合(union),它不仅能保存很多Qt类型的值,包括QColor,QBrush,QFont,QPen,QRect,QStrin QVariant v(709); qDebug()<<v.toInt(); QVariant w("Hello, world"); qDe 阅读全文
posted @ 2020-02-13 11:27 啸傲风月 阅读(156) 评论(0) 推荐(0) 编辑