作为成员变量的指针指向类中的类/动态内存
Pointers as member variables to a class/dynamic memory in classes
假设我们有以下内容,它创建一个 10 x 10 二维数组并将第一个单元格设置为 100:
class twoD{
int **p = new int*[10];
public:
twoD(){
*p = new int[10];
p[0][0] = 100;
}
};
当以下不是时,为什么这可以。
class twoD{
int **p = new int*[10];
*p = new int[10];
public:
twoD(){
p[0][0] = 100;
}
};
因为在第二种情况下"*p = new int[10];"不是变量声明,因此不能在类定义中。
相关文章:
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 在以唯一ptr为值的C++映射中,动态内存何时会被销毁
- 对具有动态分配的内存和析构函数的类对象的引用
- 以下代码执行哪种内存分配(动态或静态)?
- 开放 CV 中的动态内存分配,用于视频处理
- 调用析构函数以释放动态分配的内存
- 为什么类和 main() 函数中也有动态内存分配
- 将静态内存更改为动态C++
- 在没有动态内存的世界中,我是否需要虚拟析构函数?
- 在运行时为动态分配的内存输入值
- c++ 动态内存 堆栈中的分配
- 释放动态分配的内存时是否需要执行此额外步骤
- 动态分配字符数组的内存
- 销毁C++中动态分配的内存(数组对象)
- 给定特定内存地址的数组的动态内存分配
- 释放动态内存时C++错误
- 对内存动态分配的类不使用"*"的逻辑
- 如果我将内存动态分配给静态变量,我应该释放它还是会自动释放它
- 给定内存地址的内存动态初始化
- 删除指针分配的内存(动态数组)