本文介绍了“为什么C构造函数要做初始化而不是赋值”的相关知识。很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
C.49:构造函数应该做的是初始化,而不是赋值。原因初始化清楚地表明,所做的是初始化,而不是赋值,可以更优雅、更高效地完成。防止“先用后赋值”的错误。
例如,好的A类{//好
字符串S1;
公众号:
一个(cz string p): S1 { p } { }//good :直接构造(C-string显式命名)
//.
};例,坏(反面例)B类{//BAD
字符串S1;
公众号:
b(const char * p){ S1=p;} //BAD:默认构造函数后跟赋值
//.
};
C类{ //丑八怪,又名非常坏
int * p;
公众号:
c(){ cout * p;p=新int { 10 };} //初始化前意外使用
//.
};示例,更好的(更好的示例)与那些常量字符相比,我们应该能够使用GSL GSL :3360 string _ span或STD 33603360 string _ view(由C 17引入)作为表达函数参数怒的更加普遍的方式。.
D类{ //好
字符串S1;
公众号:
一个(string _ view v): S1 { v } { }//good :直接构造
//.
};这里介绍一下“为什么C要在构造函数中做初始化而不是赋值”的内容。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124821.html