作为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};
(这两种初始化方法有细微的差别,但是由于有时会令人惊讶地解析()
和其他问题,因此我建议在大多数情况下。这是一个复杂的主题,但并非没有其他意见。]