假设我们有一个方法。该方法内部是一个包含 n 次迭代的循环,其中声明并初始化了一个对象 myObj
。
程序调用方法?
for 块的结尾,还是方法的结尾?
例子:
void foo()
{
for (int i = 0; i < 100; i++)
{
A myObj();
}
}
最佳答案
n次。
执行该行时。
当离开对象的作用域时;对于您的示例代码,在每次迭代结束时。
顺便说一句:A myObj();
不是对象的定义,而是函数的声明。您可能指的是 A myObj;
或 A myObj{};
(C++11 起)。搜索 most vexing parse 了解更多详情。
关于c++ - 循环中声明的对象是否只构造一次?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42896910/