C++
zhengj_shaver
这个作者很懒,什么都没留下…
展开
-
C++单例模式对比
1.懒汉式 class singleton{ private: singleton(){}; ~singleton(){}; static singleton* single; ... public: static singleton* getInstance(){ if(!single){ single = new singleton(); } return single原创 2016-07-07 11:10:51 · 232 阅读 · 0 评论 -
c++随笔之class
constexpr函数 用于常量表达式,返回值及所有参数类型必须为字面值,有且只有一条return语句。 this指针 隐式类型,实质是一个常量指针,原型 Class*const。如果成员函数后面有const,则this为const Class*const类型 编译类时,首先编译成员的声明然后是函数体 IO类 是不能被拷贝的类型,所以只能传引用或指针,不能进行值传递 =default 定原创 2017-11-21 13:27:29 · 147 阅读 · 0 评论 -
C++随笔之对象移动
右值引用:必须绑定到右值的引用,右值引用只能绑定到一个将要销毁的对象上。 左值表达式表示一个对象,右值表达式表示一个对象的值 左值表达式:返回左值引用的函数、连同赋值、下标、解引用、前++/– 右值表达式:连同算术、关系、位、后++/–运算 右值引用的所有对象将会被销毁,该对象没有其它用户移动构造函数和移动赋值运算符 这两个函数的参数必须是一个右值引用 必须保证移后的源对象销毁它无害(指原创 2017-11-23 17:44:36 · 287 阅读 · 0 评论 -
C++随笔之-拷贝控制
拷贝构造函数 第一个参数必须是引用类型。原因:如果参数不是引用类型 在调用拷贝构造函数时,一定会拷贝它的实参,如果要拷贝实参就必定会调用它的拷贝构造。那就会这样无限循环下去。拷贝构造函数调用的时期: 1.用“=”定义变量 2.将一个对象作为实参传递给一个非引用类型的形参 3.从一个返回值类型为非引用类型的函数返回一个对象 4.{} 列表初始化一个数组中的元素或一个聚合类中的成员析构函数原创 2017-11-23 16:59:56 · 155 阅读 · 0 评论