相关疑难解决方法(0)

依赖于空std :: string的索引0是不是很糟糕?

std::string my_string = "";
char test = my_string[0];
Run Code Online (Sandbox Code Playgroud)

我注意到这不会崩溃,每次我测试它,测试都是0.

我可以依赖它总是0吗?还是随意的?

这是不好的编程吗?

编辑:从一些评论中,我认为对此的有用性存在一些误解.

这样做的目的不是检查字符串是否为空.不需要检查字符串是否为空.

情况是有一个字符串可能是空的也可能不是.我只关心这个字符串的第一个字符(如果它不是空的).

在我看来,检查字符串是否为空是不太有效,然后,如果它不是空的,请查看第一个字符.

if (! my_string.empty())
    test = my_string[0];
else
    test = 0;
Run Code Online (Sandbox Code Playgroud)

相反,我只需查看第一个字符,无需检查字符串是否为空.

test = my_string[0];
Run Code Online (Sandbox Code Playgroud)

c++ stdstring

46
推荐指数
2
解决办法
2681
查看次数

标签 统计

c++ ×1

stdstring ×1