嗨,我想学习一种在c ++中初始化emtpy字符串的专业方法.
我可以
std::string a_string; // way_1
Run Code Online (Sandbox Code Playgroud)
要么
std::string a_string = ""; // way_2
Run Code Online (Sandbox Code Playgroud)
但我认为way_1
完全取决于std
包中定义的默认值.对我来说,它不是一个明确的声明,如果将来更改std :: string的代码,可能需要更改它.way_2
对我来说不是直接但使用""
相当于空字符串.对我来说,内置的空字符串是专业的,就像nullptr
初始化指针一样.
你知道C++专业程序员如何初始化一个空字符串?
谢谢
但我认为
way_1
完全取决于std
包中定义的默认值.对我而言,它不是一个明确的声明,如果std::string
将来更改代码,可能需要更改它.
这是错误的推理.默认值std::string
由C++标准定义,并且与语言的其他部分一样稳定.如果你担心它会发生变化,那么你也应该担心std::string
完全消失,或者""
改变的意思,或者空字符串改变的初始化意义.
如果你想对"专业"的,那时的我,如果我看到了使用显式形式的程序员,会怀疑这是否程序员不知道这样一个基本类型的默认初始化的std::string
呢,所以什么别的这个程序员可能不知道.
归档时间: |
|
查看次数: |
1425 次 |
最近记录: |