相关疑难解决方法(0)

究竟什么是"假设"规则?

正如标题所说,

究竟什么是"假设"规则?

一个典型的答案是:

允许任何和所有代码转换不会改变程序的可观察行为的规则

我们会不时地从某些实现中获取行为,这些行为归因于此规则.好多次错了.那么,这个规则究竟是什么呢.标准没有明确地将此规则作为一个部分或段落提及,那么究竟什么属于这条规则的范围?对我来说,这似乎是一个灰色区域,标准没有详细定义.有人可以根据标准的参考资料详细说明细节.

注意:将其标记为C和C++,因为它与两种语言都相关.

c c++ optimization c++-faq as-if

83
推荐指数
2
解决办法
7359
查看次数

C++ - 如果一个对象在循环中声明,它的析构函数是在循环结束时调用的吗?

在C++中,对象的析构函数在它创建的块的结束"}"处被调用,对吧?所以这意味着,如果我有:

while(some_condition)
{
    SomeClass some_object;
    some_object.someFunction();
    some_variable = some_object.some_member;
}
Run Code Online (Sandbox Code Playgroud)

那么在循环的一次迭代中创建的对象的析构函数将在循环结束时被调用,然后创建另一个对象,对吗?

谢谢.

c++ loops class object

14
推荐指数
2
解决办法
5233
查看次数

标签 统计

c++ ×2

as-if ×1

c ×1

c++-faq ×1

class ×1

loops ×1

object ×1

optimization ×1