在c ++中初始化空字符串的专业方法

问题描述 投票:0回答:1

嗨,我想学习一种在c ++中初始化空字符串的专业方法。

我可以

std::string a_string;  // way_1

要么

std::string a_string = "";  // way_2

但我认为way_1完全取决于std包中定义的默认值。对我来说,它不是一个明确的声明,如果将来更改std :: string的代码,可能需要更改它。 way_2对我不是直接但使用""相当于一个空字符串。对我来说,内置的空字符串是专业的,如nullptr用于初始化指针。

你知道C ++专业程序员如何初始化一个空字符串?

谢谢

string c++14
1个回答
5
投票

但我认为way_1完全取决于std包中定义的默认值。对我而言,它不是一个明确的声明,如果将来更改std::string的代码,可能需要更改它。

这是错误的推理。 std::string的默认值由C ++标准定义,并且与语言的其他部分一样稳定。如果你担心它会改变,那么你也应该担心std::string完全消失,或者""改变的含义,或者空字符串改变初始化的意思。

如果你想要“专业”,那么我,如果我看到程序员使用显式形式,会想知道这个程序员是否不知道std::string这样的基本类型的默认初始化是什么,因此这个程序员还有什么可能不知道。

© www.soinside.com 2019 - 2024. All rights reserved.