gpt4 book ai didi

c++ - C++ 中的 Char * 重新分配

转载 作者:行者123 更新时间:2023-11-30 01:00:22 26 4
gpt4 key购买 nike

我需要在 C++ 的“char *”中存储一定量的数据,因为我想避免 std::string 在超过 max_size() 时耗尽内存。但是数据来自网络的数据 block ,所以我每次获取数据 block 时都需要使用重新分配。 C++ 中的 char * 重新分配和连接是否有任何优雅的解决方案?

最佳答案

在 visual studio 中,max_size() 是 4294967294 个字符,大约 4Gb。如果您能告诉我们您如何冒超过这么多字符的风险,那将很有趣。

如果问题不经常出现,而这只是为了让问题安全起来

 myConcatStr(string str1, string str2)
{
if (str1.length() + str2.length()) <= str1.max_size() // if there is no overflow problem
str1.append(str2); // use stl append
else
//use alternate method instead or throw an exception
}

关于c++ - C++ 中的 Char * 重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734777/

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