C类中特殊成员函数如何具体实现及解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计917个文字,预计阅读时间需要4分钟。
前言:C++类中存在几个特殊的非静态成员函数,当用户未定义这些函数时,编译器将给出默认实现。
C++11前,有四个特殊函数,C++11引入了移动语义特性,增加了两个参数为右值的特殊函数。
前言
C++类中有几个特殊的非静态成员函数,当用户未定义这些函数时,编译器将给出默认实现。C++11前有四个特殊函数,C++11引入移动语义特性,增加了两个参数为右值的特殊函数。这六个函数分别是:
1、默认构造函数
默认构造函数指不需要参数就能初始化的构造函数。包含无参和所有参数有默认值两种类型的构造函数。
2、复制构造函数
复制构造函数指使用该类的对象作为参数的构造函数。可以有其他参数,但必须提供默认值。
3、复制赋值运算符
重载等号=,将该类的对象赋值给已定义对象。
4、析构函数
没啥可说的。
5、移动构造函数
C++11新增,该类的右值对象为参数的构造函数,其余同复制构造函数。
6、移动复制运算符
同复制赋值运算符,唯一不同是参数为右值。
本文共计917个文字,预计阅读时间需要4分钟。
前言:C++类中存在几个特殊的非静态成员函数,当用户未定义这些函数时,编译器将给出默认实现。
C++11前,有四个特殊函数,C++11引入了移动语义特性,增加了两个参数为右值的特殊函数。
前言
C++类中有几个特殊的非静态成员函数,当用户未定义这些函数时,编译器将给出默认实现。C++11前有四个特殊函数,C++11引入移动语义特性,增加了两个参数为右值的特殊函数。这六个函数分别是:
1、默认构造函数
默认构造函数指不需要参数就能初始化的构造函数。包含无参和所有参数有默认值两种类型的构造函数。
2、复制构造函数
复制构造函数指使用该类的对象作为参数的构造函数。可以有其他参数,但必须提供默认值。
3、复制赋值运算符
重载等号=,将该类的对象赋值给已定义对象。
4、析构函数
没啥可说的。
5、移动构造函数
C++11新增,该类的右值对象为参数的构造函数,其余同复制构造函数。
6、移动复制运算符
同复制赋值运算符,唯一不同是参数为右值。

