在C++中,
除了动态内存分配之外,以下两行代码之间是否存在功能差异:
Time t (12, 0, 0); //t is a Time object
Time* t = new Time(12, 0, 0);//t is a pointer to a dynamically allocated Time object
Run Code Online (Sandbox Code Playgroud)
我当然假设定义了一个Time(int,int,int)ctor.我也意识到在第二种情况下,t将需要删除,因为它是在堆上分配的.还有其他区别吗?