C++ 用new和非new来创建对象的区别
C++创建对象时程序代码:
#include <iostream> using namespace std; class A { private: int n; public: A(int m):n(m) { } ~A(){} void fun(); }; int main() { A a(1); //栈中分配 A b = A(1); //栈中分配 A* c = new A(1); //堆中分配 delete c; return 0; }
代码里面的注释是网上别人写的,想问下对不对?如果是这样的话,第一种情况,在栈中分配,那么类中的成员函数又要存在哪里?大家讨论下^_^