在C中,对象创建时,隐式使用了新的吗?

前端之家收集整理的这篇文章主要介绍了在C中,对象创建时,隐式使用了新的吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我创建一个类的对象时,比方说,
class A {
  public: A() {}
};

A a;

只是构造函数调用?或者隐含使用新运算符?@H_502_5@

就像我们要做的那样A * b = new A();@H_502_5@

此外,a和b将存储在内存中的哪个位置?堆栈还是堆?@H_502_5@

解决方法

在第一种情况下,如果a不是全局变量,那么它将被放在堆栈中,而b将被放在堆上.

在第一种情况下,只调用构造函数.除非你在第二种情况下明确地执行,否则永远不会调用new.@H_502_5@

原文链接:https://www.f2er.com/c/116895.html

猜你在找的C&C++相关文章