moa*_*ala 5 c++ oop stackalloc
使用g ++的奇怪事情(也许还有其他编译器?):
struct Object {
Object() { std::cout << "hey "; }
~Object() { std::cout << "hoy!" << std::endl; }
};
int main(int argc, char* argv[])
{
{
Object myObjectOnTheStack();
}
std::cout << "===========" << std::endl;
{
Object();
}
std::cout << "===========" << std::endl;
{
Object* object = new Object();
delete object;
}
}
Run Code Online (Sandbox Code Playgroud)
用g ++编写:
===========
hey hoy!
===========
hey hoy!
Run Code Online (Sandbox Code Playgroud)
第一种类型的分配不构造对象.我错过了什么?
Jar*_*Par 12
第一种类型的构造实际上并不构造对象.要使用默认构造函数在堆栈上创建对象,必须省略()'s
Object myObjectOnTheStack;
Run Code Online (Sandbox Code Playgroud)
您当前的定义样式将声明一个名为myObjectOnTheStack的函数,该函数返回一个Object.
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |