动态数组分配末尾的()是什么意思?
What does the () at the end of dynamic array allocate mean?
我在一个不同的问题中看到了一些我以前没有见过的例子。
new int[m_size]();
^^
我一直看到和使用new int[m_size]
版本,但没有一个在末尾有()
。
两个字:Value Initialization
new int[m_size]();
数组元素将被写入()
进行零初始化,因为()
意味着值初始化。1(原始类型的零初始化)
1:初始化式为一组空括号的对象,即(),应进行值初始化。($8.5/7)
这意味着所有的元素都将是zero initialized
,类似于calloc(o,sizeof(int))
,在这个调用中,我们使用0
在堆上初始化单个整数
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思