gpt4 book ai didi

.net - C++、.NET : Will this leak memory?

转载 作者:搜寻专家 更新时间:2023-10-31 00:45:38 24 4
gpt4 key购买 nike

我想知道这是否会导致 C++ 中的内存泄漏。

假设我们在 .NET 中有一个 C++ 函数:

 test()
{
char buffer[NUMBER_OF_BYTES];
while(forever)
{
for(int i=0;i < NUMBER_OF_BYTES;i++)
{
buffer[i] = serial->ReadChar();
}
String^ serialData = gcnew String(buffer);
sendDataOut(serialData);
}
}

这个东西基本上只是等待固定数量的序列字符被放置在一个String对象中被运送出去进行处理。 String 对象会被重复使用还是会每次都创建一个新对象——最终会耗尽 PC 的所有内存?如果有人能给我一些见解,我将不胜感激。

最佳答案

每次都会创建一个新的。它是通过垃圾收集器分配的,因此当它不再被引用时将被删除。我不认为你需要担心它会导致内存泄漏 - 唯一会发生的方法是如果 sendDataOut 将字符串永久存储在某个集合中的某个地方,我想情况并非如此。

关于.net - C++、.NET : Will this leak memory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6419158/

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