c++ - 在 C++ 中使用 new 关键字初始化成员变量
问题描述
class Graph {
private:
int n;
Head* array;
Graph(int n)
{
this->n = n;
array = new Head[n];
for (int i = 0; i < n; i++)
{
array[i].head->vertex = i;
}
}
};
当第一个 Head* 数组被声明时,它正在堆栈中完成。然后再次使用构造函数中的 new 关键字将其分配给堆。
我想了解这是否与我们写的相同:Head* array = new Head[n];
如果是,那么这是在类中声明成员变量的标准方式吗?是不是也因为在创建对象的时候先调用了构造函数,所以如果成员变量不在构造函数中就没有设置?
解决方案
推荐阅读
- python - 基于 2-legged 授权获取 Immoscout24.de API 响应
- python - 如何过滤json python元素
- r - 绘制每一行的所有列名的值
- .net - dotnet build 和 Visual Studio 2019 的区别
- dns - 是否可以更改我的互联网路由器对某些请求/url 的响应方式?
- api - 消除客户端和服务器中验证元数据的重复
- sprite-kit - 如果我在已经执行另一个序列的节点上执行 SKAction 运行序列会发生什么?
- c++ - C++ 创建对象数组
- python - 在 Python Selenium 中提取部分字符串(id 或类)
- java - 解析类型时不存在 BigDecimal