C++ 在成员初始化列表中初始化指针
C++ Initialize Pointer in Member Initialization List
我想知道是否有一种方法可以在我的类的构造函数中初始化基本初始化列表中的数组。
现在,我正在将 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**
{
}
谢谢!
你试过吗?
A::A() :
mySize(0), maxSize(DEFAULT_SIZE), myChars(new char[DEFAULT_SIZE])
{}
但是,强烈建议改用 std::string
、 std::vector<char>
或 std::unique_ptr<char[]>
,所有这些都可以正确管理内存。
相关文章:
- 分段错误 - 读取初始化指针的数组
- 初始化指针的常量向量
- 初始化指针或引用成员变量以指向另一个成员
- C++初始化指针/引用/复制细微差别
- 使用无效指针初始化指针声明符的行为是否未定义?
- 在一行中初始化指针(新uint8_t[高度*宽度*3])
- 如何使用可变模板初始化指针?
- 初始化指针时出现写入访问冲突
- C 错误,带有卷曲括号的字面初始化指针
- 重新初始化指针是一种不好的做法吗?
- 初始化指针?C
- 初始化指针向量的向量
- 如何在类函数中正确初始化指针
- C++初始化指针会使应用程序随机崩溃
- 初始化指针结构 - 内存中的外观
- 如何使用struct构造函数在结构中初始化指针阵列
- 在一行中声明并初始化指针到类实例
- 分配数组与初始化指针
- QT 中的非初始化指针
- 使用地址值初始化指针