相关疑难解决方法(0)

在构造函数初始化列表中分配内存是否有任何问题?

我在我的C++程序中使用了很多初始化列表但是没有意识到你可以在其中分配内存.

所以你可以这样做(作为一个人为的例子):

class Test
{
private:
    int* i;
    int* j;
    int count;
    int* k;

public:
    Test(void) : i(new int), j(new int[10]), count(10), k(new int[count])
    {
    }

    ~Test(void)
    {
        delete i;
        delete [] j;
        delete [] k;
    }
};
Run Code Online (Sandbox Code Playgroud)

以这种方式进行内存分配是否有任何问题?关于初始化的顺序,在同一列表中初始化的参数初始化参数是否安全?即我count在使用它之前分配它是否安全使用或是否有一些特殊的初始化顺序我可能会犯规?

c++

20
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1