是否有必要在c ++中初始化一个字符串?

Var*_*eja 2 c++

我在c ++中使用string.如果我不初始化字符串,我有时会得到不寻常的答案.

什么是好的做法不初始化字符串或如果必须初始化什么是最好的方法呢?

jpo*_*o38 11

如果用"string",你的意思是char*,那么是的,它们应该(甚至必须是,或者至少是强烈推荐)初始化,顺便说一下,就像任何其他变量一样.

如果用"string"表示std::string,那么默认情况下它们会自动初始化为空字符串("")(默认构造函数).

std::string str;
std::cout << str; // will print nothing (empty string) for sure
char* str2;
std::cout << str2; // will most likely print garbage or even crash
Run Code Online (Sandbox Code Playgroud)