C/C++拾遗之类成员含引用变量
1.首先明确当类中含有引用类型的成员变量时,编译器会将所有合成的默认构造函数都定义为delete,也就是说编译器将不会合成任何构造函数,所有构造函数必须由用户显式地定义,且该引用变量必须在所有定义的构造函数初始化列表中直接初始化,而不能在构造函数中初始化,形参也必须是引用类型。
2.分析以下代码,注释部分(编译环境g++5.1.0):
1 |
|
3.用处:例如当有两个类要对第三个类的数据进行共享处理时,可以考虑将第三个类作为这两个类的引用类型的成员变量。
1.首先明确当类中含有引用类型的成员变量时,编译器会将所有合成的默认构造函数都定义为delete,也就是说编译器将不会合成任何构造函数,所有构造函数必须由用户显式地定义,且该引用变量必须在所有定义的构造函数初始化列表中直接初始化,而不能在构造函数中初始化,形参也必须是引用类型。
2.分析以下代码,注释部分(编译环境g++5.1.0):
1 | #include <iostream> |
3.用处:例如当有两个类要对第三个类的数据进行共享处理时,可以考虑将第三个类作为这两个类的引用类型的成员变量。