由于我在 Java 方面获得了更多经验,并且我现在正在潜入 C++ 世界,所以我在 Java 中知道一些东西,但我不确定它是否像在 C++ 上一样工作。
实际上我得到了这个伪 C++ 代码:
unsigned long __stdcall MyFunction()
{
//Do some code that will take a while to complete...
{
MY_BIG_STRUCT mbStruct = {};
mbStruct.a = "a";
[...];
UseMyStructData(&mbStruct);
}
//Do some code that will take a while to complete...
return EXIT_SUCCESS;
}
所以我的问题是:在 JAVA 上使用括号内的那些代码块{}
将标记为“释放”这些变量以 GC 释放它们,即使函数没有完成它的执行。那么,在 C++ 上,这以同样的方式工作吗?{}
或者如果我没有块语句(如 if、while、switch 等),使用它是无用的?
此致,
阿方索·拉格。