gpt4 book ai didi

c++ - 将数组初始化为 0 的正确且最简单的语法方法

转载 作者:行者123 更新时间:2023-12-03 07:06:31 26 4
gpt4 key购买 nike

我正在尝试找出将数组初始化为全零的正确方法(即,就像您对数组进行了内存设置一样)。

我在堆栈溢出(和其他来源)的各个领域找到了以下方法:

char myArray1[10] = {0};
char myArray2[10] = {0,};
char myArray3[10] = {[0 ... 9] = 0};
char myArray4[10] = {0,0,0,0,0,0,0,0,0,0};

我更喜欢最简单的语法变体...我使用的是 {0},但我没有找到任何证据证明这实际上是正确的。

最佳答案

数组中缺少的元素将被初始化为 0。此外,C++ 允许您将统一初始化器留空。因此,以下工作是最少的,也是最有效的:

T array[N] = {};

值得注意的是,这适用于任何类型T,它可以是默认构造的或初始化的,而不仅仅是内置类型。例如,以下代码有效,并将打印 foo 五次:

#include <iostream>

struct foo {
foo() { std::cout << "foo()\n"; }
};

int main() {
foo arr[5] = {};
}

更广泛的不同可能性列表was posted通过 aib前段时间。

关于c++ - 将数组初始化为 0 的正确且最简单的语法方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com