小编Jer*_*rry的帖子

如果我可以访问单个字符,为什么我的字符串为空?

我是 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)

c++ stdstring

0
推荐指数
1
解决办法
121
查看次数

标签 统计

c++ ×1

stdstring ×1