gpt4 book ai didi

c++ - 在 C++ 中从字符串中提取字符时,为什么我必须这样做?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:44 24 4
gpt4 key购买 nike

string s; string adder;
for (int i = s.size ()-1; i >= 0; i--) {
adder += s[i];
}
cout << adder << endl;

我正在尝试使用 C++ 反转字符串,我很困惑为什么我们必须执行 s.size()-1 以及为什么当我们没有 -1 时它会打印一个空格?

最佳答案

数组索引驻留在 [0, s.size()) 中。 s[s.size()] 是数组末尾的一个,因此您需要从 s.size()-1 开始。

如果使用使用边界检查的 at() 成员函数,您可以看到这是必需的:

adder += s.at(i); // throws exception if i is out of bounds

关于c++ - 在 C++ 中从字符串中提取字符时,为什么我必须这样做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com