class
Simple
... {
Simple(void)
...{
cout << "hello"<<endl;
}
~Simple(void)...{}
} ;
int main()
... {
Simple s();
Simple v;
}
... {
Simple(void)
...{
cout << "hello"<<endl;
}
~Simple(void)...{}
} ;
int main()
... {
Simple s();
Simple v;
}
那么hello在哪里打印的呢?hello是在Simple v;这句打印的。也就说v是Simple类的栈对象。那s是什么?
因为编译器优先匹配函数声明,所以Simple s();就是声明了一个返回Simple对象的名为s的无参函数。
如果你下面定义一个函数
Simple s()
... {
Simple * p = new Simple();
return *p;
}
... {
Simple * p = new Simple();
return *p;
}