指向固定大小数组的指针的析构函数
假设我有一个带有两个私有变量的 C++ 类。固定大小的数组 data 和指向该数组的指针 pnt。 class MyClass { private: double *pnt; double data[2]; pu…
虚拟dtor分段错误
我在 C++ 中有以下代码: #include class Number { public: virtual void foo(){std::cout << "Number foo\n";}; Number (){ std::cout << "Number ct…
为数组中的每个对象调用析构函数
我有一个对象数组: Square sq[81]; 我认为它使用默认构造函数来创建每个对象。 当我通过 for 循环来初始化每个对象时,它会调用数组中每个 Square 对…
为什么 gcc 会立即销毁我的对象,尽管它的范围很大? (我该如何让它不这样做?)
我编写了一个带有附带保护类的小型分析类,如下所示: { ProfileGuard pg("SampleName"); // Code to profile ... } 但后来我注意到有时 gcc 会优化代…
删除 c++ 中的对象
我有一个 LinkedList,其中的 Node 有一个字段: void* _data; 现在,我想删除此数据,但我不知道该数据是原始数据还是动态分配的对象。 因此,如果 w…
矩阵类运算符重载、析构函数问题
我试图编写一个能够找到逆矩阵、伴随矩阵等的矩阵类。任意阶的方阵。 构造函数初始化一个 n 阶单位矩阵(传递给它)。 class Matrix { int** elements…
显式调用析构函数不会破坏我的对象,为什么?
我正在调用析构函数来释放内存,但它并没有删除我的对象。其背后的原因是什么? 我的代码是这样的: class A { public: int a; A() { cout << "a" << …
goto 可以在不调用析构函数的情况下跳转函数吗?
goto 是否真的可以在不调用析构函数和其他东西的情况下跳过代码段? 例如 void f() { int x = 0; goto lol; } int main() { f(); lol: return 0; } x …
继承和析构函数 - 理论问题 - C++
class A { public: virtual void f(){ printf("A.f "); } ~A(){ f(); } }; class B : public A { A a; public: void f(){ printf("B.f "); } B(){ thr…
析构函数不应使用指针来声明吗?在 C++
在 C++0x -n3290 草案中:他们在 :Destructors: 12.4/2nd 点最后一行中添加了 **A destructor shall not be declared with a ref-qualifier.** 在 c++…