例如这个:
Text_query::Text_query(ifstream &is) : file(new vector<string>)
Text_query::Text_query(ifstream &is) : file(new vector<string>)
解决方案
20
还可以用全局对象(外部变量,静态变量,类静态变量,名空间内定义的变量)初始化
指针还可以用全局对象地址初始化(指针,包括new 出来的对象的地址)
引用可以用全局对象初始化
还可以用函数返回值初始化
指针还可以用全局对象地址初始化(指针,包括new 出来的对象的地址)
引用可以用全局对象初始化
还可以用函数返回值初始化
20
还可以用常量表达式初始化
注意,初始化表中的数据,也是表达式
C++11 可以用初始化表初始化
方式为小括号()改为大括号{}
例如
class C{
vector <int > v;
public :
C ():v{1,2,3,4,5,6,7,8,9}{};
};
这里 {1,2,3,4,5,6,7,8,9} 是C++11 的初始化表数据类型
可以替代 () 的初始化表。但是能力要强一些。
随之而来的是类型检查更严格一些。
注意,初始化表中的数据,也是表达式
C++11 可以用初始化表初始化
方式为小括号()改为大括号{}
例如
class C{
vector <int > v;
public :
C ():v{1,2,3,4,5,6,7,8,9}{};
};
这里 {1,2,3,4,5,6,7,8,9} 是C++11 的初始化表数据类型
可以替代 () 的初始化表。但是能力要强一些。
随之而来的是类型检查更严格一些。