声明类似于C风格的数组(C++)

Sco*_*ott 2 c++ arrays

在C中,程序员可以像这样声明一个数组:

unsigned char Fonts[2][8] {
    [1] = {0, 31, 0, 31, 0, 31, 0, 31}
};
Run Code Online (Sandbox Code Playgroud)

元素[0]可能是随机位.在C++中是否有类似的方法?

Bjo*_*rnD 6

这适用于C++:

unsigned char foo [2][8] = {
        {},
        {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'}
};
Run Code Online (Sandbox Code Playgroud)

这里,foo[0]按照C++标准的定义进行零初始化(§8.5.5 - POD类型的默认初始化为零初始化).对于非POD类型,将调用默认构造函数.


Tim*_*ter 5

你可以这样做:

unsigned char Fonts[2][8] = {
    {0},
    {0, 31, 0, 31, 0, 31, 0, 31}
};
Run Code Online (Sandbox Code Playgroud)