C ++在成员初始化列表中初始化指针

时间:2016-02-17 02:12:57

标签: c++ initialization

我想知道是否有一种方法可以在我的类'构造函数中初始化基本初始化列表中的数组。

现在,我正在将myChars(一个char *)初始化为一个大小为DEFAULT_SIZE的空字符数组:

    A::A() :
      mySize(0), maxSize(DEFAULT_SIZE)
    {
         myChars = new char[DEFAULT_SIZE];
    }

有没有办法在基本初始化列表中执行此操作?所以它只是:

     A::A() :
      mySize(0), maxSize(DEFAULT_SIZE), **myChars initialized here**
    {
    }

谢谢!

1 个答案:

答案 0 :(得分:3)

你试过吗?

 A::A() :
  mySize(0), maxSize(DEFAULT_SIZE), myChars(new char[DEFAULT_SIZE])
{}

但是,非常建议使用std::stringstd::vector<char>std::unique_ptr<char[]>代替,所有这些都可以毫无错误地管理内存。< / p>