gpt4 book ai didi

c++ - std::string.append 的使用导致 "Stack around the variable ' 结果“已损坏”

转载 作者:行者123 更新时间:2023-11-30 04:39:09 28 4
gpt4 key购买 nike

我有以下代码:

std::string Utils::get() {
std::string result;
result.append(1, 'x');
result.append(1, 'x');
result.append(1, 'x');
return result;
}

我希望返回“xxx”。

但是,当我在 Debug模式下运行时,我收到警告

“变量‘result’周围的堆栈已损坏”

我是否以错误的方式使用附加功能?

最佳答案

您对 append 的使用是正确的。其他东西(可能就在调用函数之前等)正在破坏堆栈。只有当您更多地使用堆栈(在本例中为函数调用)时,它才会检测到它。

您不会在 Release 中看到它的原因是函数调用(可能)是内联的。因此,堆栈不像现在这样被操纵,结果是不同的。发布更多上下文,我们将帮助您找到它。

关于c++ - std::string.append 的使用导致 "Stack around the variable ' 结果“已损坏”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2505240/

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