ser*_*iol -3 c++ constructor anonymous variable-declaration
在由静态数据字段引起的消费者文件中询问C++ Error链接之后,我为StateConservator的一个实例尝试了两种不同的声明:
StateConservator cs(*pContainer, pDoc->GetConfiguration());
Run Code Online (Sandbox Code Playgroud)
和
StateConservator(*pContainer, pDoc->GetConfiguration());
Run Code Online (Sandbox Code Playgroud)
第一个做了我想要的,它只在范围结束后才传递析构函数.第二个在声明本身的行中传递析构函数.
编译器是否正常运行?如果是正确的行为,在该行中声明匿名变量的方法是什么?
您不能在C++中拥有"未命名"对象.在第二种情况下,对象即时创建和销毁,因为它与名称无关.与名称(例如,变量)的关联给出了控制其寿命的对象范围.通过不命名对象,它的生命周期与语句绑定.如果给它一个名称,那么它将被绑定到声明名称的范围.
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |