无法理解新 int(2) 的含义
Cannot Understand the Meaning of new int(2)
本文关键字:int 更新时间:2023-10-16
作为一个C++学习者,这个问题可能是一个愚蠢的问题,所以我非常感谢你的耐心和建议。我从一本关于编程的书中得到了以下代码:
int *ptr
ptr = new int(2)
那么为什么我们要为 2 加上括号呢?我知道"new int"代表动态内存,但它对"new int(2("意味着什么?
>(2)
是新创建的int
对象的初始值设定项。它与变量定义中的初始值设定项具有相同的含义:
int x(2);
它使用值2
初始化对象。
不过,在大多数情况下,我建议您对初始值设定项使用大括号表示法:
int x{2};
ptr = new int{2};
(这两种初始化方法有细微的区别,但由于有时会令人惊讶地解析()
和其他问题,我建议在大多数情况下这样做。不过,这是一个复杂的话题,并非没有其他意见。
相关文章:
- 没有找到相关文章