C++不常见语法分析总结
成员初始化列表用于在构造对象时给类或者结构体成员设置初值。
语法为:
- 构造函数(): 成员1(参数值1),成员2(参数值2)...{}
成员初始化列表的作用和优点:
- 可以为非静态数据成员赋予初始值
- 初始化顺序与成员在类中的定义顺序一致
- 效率比在构造函数体内赋值初始化高
- 可以为只读成员常量和引用成员提供初始值
"{}"则代表构造函数体内容,通常为空即代表初始化工作已在列表中完成
AsrGrpcClinetOpt(int send_len = 16000,
bool do_align=true,
bool do_punc=false,
bool do_vad=false,
bool do_itn=false,
std::string ip = "0.0.0.0"):
_do_align(do_align),
_do_punc(do_punc),
_do_vad(do_vad),
_do_itn(do_itn),
_ip(ip)
{ }
字符串
.c_str() // c_str()函数返回string对象持有的字符数据的常量字符指针(const char*)
const char* str1 = "hello";
str1[0] = 'H'; // 可以修改单个字符
const string str2 = "world";
const string* pstr = &str2;
pstr->length(); // 可以获取长度
*pstr = "xxx"; // 不能修改对象内部