我是 C++ 新手,最近通过 u-demy 讲座学习了指针和参考资料。讲座结束后,我正在解决使用单独的函数反转字符串的问题。我想出了一个代码,但由于某种原因,我可以使用 [] 表示法访问单个字符(就像reverse[0]等于!)但是当我打印整个字符串时,我得到一个空字符串?是什么导致了这个问题?
提前感谢您的宝贵时间!
这里我粘贴了我的代码:
#include <iostream>
// using namespace std;
std::string reverse_string(const std::string &str) {
std::string reversed;
size_t size {str.length()};
for(int i{}; i < size/2; i++) {
reversed[i] = str[(size-1)-i];
reversed[(size-1)-i] = str[i];
}
return reversed;
}
int main() {
// Write C++ code here
std::string input = "Hello, World!";
std::string reversed = reverse_string(input);
std::cout << reversed << std::endl; //I get nothing, BUT
std::cout << reversed[0] << std::endl //here I do get a …Run Code Online (Sandbox Code Playgroud)