![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 89
谈笑无还期
这个作者很懒,什么都没留下…
展开
-
typedef用法总结
typedef简单的用法与#define比较像,都是宏定义,但是今天看到一个函数指针的typedef有点没看懂,这里总结一下typedef的用法。1. 定义别名typedef可以为类型定义一个别名,例如:typedef int mytype;mytype a;这里给int定义了一个别名,可以用别名代替int,而define仅仅是字符替换,发生在编译之前,这是它们的区别。这种别...原创 2019-12-12 23:06:40 · 115 阅读 · 0 评论 -
拷贝构造函数、拷贝赋值运算符和析构函数
当定义一个类时,我们显式或隐式的指定对象拷贝,移动,复制和销毁时做什么。通过5类特殊成员函数来控制这些操作:拷贝构造函数、拷贝复制运算符、移动构造函数、移动复制运算符和析构函数。如果一个类没有定义这些,编译器会自动定义缺失的操作。但对于一些类来说,默认定义可能导致灾难。拷贝构造函数定义了当用同类型对象初始化另一个对象时做什么。1.拷贝构造函数拷贝构造函数的声明如果一个构造函数的第一...原创 2018-07-23 23:36:37 · 846 阅读 · 0 评论 -
c++中对拷贝控制成员使用=default,=delete
1.使用=default我们可以通过将拷贝控制成员定义为=default来显式地要求编译器生成合成的版本。class a(){public :a()=default;a(a&)=default;~a()=default;}在类内声明为default, 合成的函数隐式地声明为内联函数(就像其他类内声明的成员函数一样)。不希望内联,类外定义。2.使用=...原创 2018-07-24 00:00:00 · 236 阅读 · 0 评论 -
C++默认构造函数
当创建类对象时,没有提供显示的初始值时,此时调用的是默认构造函数。它的实现有两种:定义一个无参的构造函数;构造函数的参数有默认值。不能同时出现class testClass{public: testClass(); /* 默认构造函数 */ testClass(int a, char b); /* 构造函数 */ ...原创 2018-07-24 22:49:19 · 197 阅读 · 0 评论