gpt4 book ai didi

c++ - 使用 new 实例化后显示垃圾的 char 数组

转载 作者:行者123 更新时间:2023-11-28 01:42:43 25 4
gpt4 key购买 nike

我尝试将以下 4 个东西连接到一个 char 数组(在 C++ 中),这样我就可以返回我的数组,但是除了这 4 个东西,我的数组中也出现了垃圾。任何人都可以帮忙

char* Guest::toString()
{

char * p = new char[30];

p[0] = firstName[0];
p[1] = '.';
p[2]=lastName[0];
p[3] = '.';
return p;
}

最佳答案

数组的元素在创建时未初始化,因此在您的情况下, p[3] 之后的所有内容仍未初始化。尝试访问这些未初始化的元素将导致未定义的行为,这就是您获得垃圾数据的原因。

我相信您可以使用以下方法初始化它:

char * p = new char[30]();

关于c++ - 使用 new 实例化后显示垃圾的 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46518849/

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