![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++11
Sahm5k
这个作者很懒,什么都没留下…
展开
-
c++模板原编程
1.定义:运行在编译期间的代码,执行速度快于正常c++代码,但是会延长编译期的时间。优点:较小的可执行文件较短的运行期较少的内存需求(运用的enum不开辟空间)2.最基础的模板元程序计算n!template<unsigned n> class Func { public: enum { re = Func<n - 1>::re * n }; //static const int re = Func<n - 1>::re * n;原创 2020-11-09 08:03:10 · 114 阅读 · 0 评论 -
c++泛型编程:节省时间,避免代码重复
c++泛型编程1.最基本的应用:swap函数:支持多个类型(int,double…)template<typename T >void swap(T& a,T& b){ T temp=a; a=b; b=temp;}2.泛型类:支持多种类型的Stack(实际没有实现,只是一个模板)template<typename T,int size=4> class Stack{ public: Stack() { val_原创 2020-11-05 21:36:29 · 302 阅读 · 0 评论 -
c++STL容器删除bug-vector为例
1.定义vector<int>a={1,2,3,4};2.删除利用迭代器删除bugfor(vector<int>::iterator itr=a.begin();itr!=a.end();itr++){ if(*a==2){ a.erase(itr); }}3.错误编译显示内存访问错误,原因:原先的vector a:itrValue0(a.begin())11224354(a.end())NULL原创 2020-05-28 17:54:58 · 138 阅读 · 0 评论 -
c++11-explicit关键字构造显式
explicit关键字参考文章:https://www.cnblogs.com/rednodel/p/9299251.html功能:用于单参数构造函数,使构造函数只能显式构造。多参数构造函数只能显式构造class test {public: test(int a) { this->a = a; }private: int a;};test x=3; //ok 编译器...原创 2020-02-12 11:38:18 · 203 阅读 · 0 评论 -
c++11特性-defaut,delete
1.defautc++中提供的默认构造函数,若无构造函数时可用,执行的默认构造函数效率更高。class base{public://类中自带默认构造函数base() int num;};base a;//成功当类中有构函数时,默认无参构造函数就会失效。class base{public: base(int num):num(num){ } int num;};...原创 2020-01-23 11:33:43 · 303 阅读 · 0 评论