嗨,我想学习一种在c ++中初始化空字符串的专业方法。
我可以
std::string a_string; // way_1
要么
std::string a_string = ""; // way_2
但我认为way_1
完全取决于std
包中定义的默认值。对我来说,它不是一个明确的声明,如果将来更改std :: string的代码,可能需要更改它。 way_2
对我不是直接但使用""
相当于一个空字符串。对我来说,内置的空字符串是专业的,如nullptr
用于初始化指针。
你知道C ++专业程序员如何初始化一个空字符串?
谢谢
但我认为
way_1
完全取决于std
包中定义的默认值。对我而言,它不是一个明确的声明,如果将来更改std::string
的代码,可能需要更改它。
这是错误的推理。 std::string
的默认值由C ++标准定义,并且与语言的其他部分一样稳定。如果你担心它会改变,那么你也应该担心std::string
完全消失,或者""
改变的含义,或者空字符串改变初始化的意思。
如果你想要“专业”,那么我,如果我看到程序员使用显式形式,会想知道这个程序员是否不知道std::string
这样的基本类型的默认初始化是什么,因此这个程序员还有什么可能不知道。