在 C++ 中重新分配多维数组
Reassigning a multidimensional array in C++
我正在创建一个函数,它将接受一个 char 参数并将其转换为 bool[8][8] 数组。这是我的函数现在的样子:
void DotMatrix::displayCharacter(char c, bool doScrolling, int milliseconds){
bool pixelMap[8][8];
if (c == 'A'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'B'){
pixelMap = {
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0}
};
} else if (c == 'C'){
pixelMap = {
{0,0,0,1,1,0,0,0},
{0,0,1,0,0,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,0,1,0,0,1,0,0},
{0,0,0,1,1,0,0,0}
};
} else if (c == 'D'){
pixelMap = {
{0,1,1,1,0,0,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,1,0,0,0},
{0,1,1,1,0,0,0,0}
};
} else if (c == 'E'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == 'F'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0}
};
} else if (c == 'G'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'H'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'I'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == 'J'){
pixelMap = {
{0,0,0,0,1,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'K'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,1,0,0,0,0},
{0,1,1,0,0,0,0,0},
{0,1,0,1,0,0,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'L'){
pixelMap = {
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == 'M'){
pixelMap = {
{0,1,1,0,1,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'N'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,1,0,0,1,0,0},
{0,1,1,0,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,0,1,1,0,0},
{0,1,0,0,1,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'O'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'P'){
pixelMap = {
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0}
};
} else if (c == 'Q'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,0,1,1,0,0},
{0,0,1,1,1,0,1,0}
};
} else if (c == 'R'){
pixelMap = {
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,1,0,0,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'S'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,0,0,0},
{0,0,1,1,1,0,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'T'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0}
};
} else if (c == 'U'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,1,0,0}
};
} else if (c == 'V'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,0,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0}
};
} else if (c == 'W'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,1,0,1,1,0,0}
};
} else if (c == 'X'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,0,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,1,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'Y'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0}
};
} else if (c == 'Z'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,1,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == ' '){
pixelMap = {
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0}
};
}
if (doScrolling == 1){
scrollPixels(milliseconds, pixelMap);
} else {
displayPixels(milliseconds, pixelMap);
}
}
但是,当我在我的程序中 运行 这段代码时,它 returns:
error: assigning to an array from an initializer list
您不能在运行时使用初始化列表显式地为数组赋值。
试试这个:
auto tempMap = std::initializer_list<bool>({
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0});
std::copy(tempMap.begin(), tempMap.end(), pixelMap);
如果您最终只想将其写入视频帧缓冲区,请考虑使用 char 而不是 bool。这会大大简化事情,尽管您的代码看起来不那么漂亮 ;)
考虑一个更好的方法:
bool pixelmap[26][8][8] = {
{
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
},
// No, no need to repeat everything.
};
if (c >= 'A' && c <= 'Z')
{
auto p=pixelmap[c-'A'];
// ...
}
无需复制或分配任何内容。
我正在创建一个函数,它将接受一个 char 参数并将其转换为 bool[8][8] 数组。这是我的函数现在的样子:
void DotMatrix::displayCharacter(char c, bool doScrolling, int milliseconds){
bool pixelMap[8][8];
if (c == 'A'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'B'){
pixelMap = {
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0}
};
} else if (c == 'C'){
pixelMap = {
{0,0,0,1,1,0,0,0},
{0,0,1,0,0,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,0,1,0,0,1,0,0},
{0,0,0,1,1,0,0,0}
};
} else if (c == 'D'){
pixelMap = {
{0,1,1,1,0,0,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,1,0,0,0},
{0,1,1,1,0,0,0,0}
};
} else if (c == 'E'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == 'F'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0}
};
} else if (c == 'G'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'H'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'I'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == 'J'){
pixelMap = {
{0,0,0,0,1,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'K'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,1,0,0,0,0},
{0,1,1,0,0,0,0,0},
{0,1,0,1,0,0,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'L'){
pixelMap = {
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == 'M'){
pixelMap = {
{0,1,1,0,1,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'N'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,1,0,0,1,0,0},
{0,1,1,0,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,0,1,1,0,0},
{0,1,0,0,1,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'O'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'P'){
pixelMap = {
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,0,0,0,0,0,0}
};
} else if (c == 'Q'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,0,1,1,0,0},
{0,0,1,1,1,0,1,0}
};
} else if (c == 'R'){
pixelMap = {
{0,1,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,0,0,0},
{0,1,0,1,0,0,0,0},
{0,1,0,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'S'){
pixelMap = {
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,0,0,0},
{0,0,1,1,1,0,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,0,0,0}
};
} else if (c == 'T'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0}
};
} else if (c == 'U'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,1,1,1,0,0}
};
} else if (c == 'V'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,0,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0}
};
} else if (c == 'W'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,0,1,0,1,0,0},
{0,1,1,0,1,1,0,0}
};
} else if (c == 'X'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,0,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,1,0,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
};
} else if (c == 'Y'){
pixelMap = {
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,0,1,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0}
};
} else if (c == 'Z'){
pixelMap = {
{0,1,1,1,1,1,0,0},
{0,0,0,0,0,1,0,0},
{0,0,0,0,1,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,0,1,0,0,0,0},
{0,0,1,0,0,0,0,0},
{0,1,0,0,0,0,0,0},
{0,1,1,1,1,1,0,0}
};
} else if (c == ' '){
pixelMap = {
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0}
};
}
if (doScrolling == 1){
scrollPixels(milliseconds, pixelMap);
} else {
displayPixels(milliseconds, pixelMap);
}
} 但是,当我在我的程序中 运行 这段代码时,它 returns:
error: assigning to an array from an initializer list
您不能在运行时使用初始化列表显式地为数组赋值。
试试这个:
auto tempMap = std::initializer_list<bool>({
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0});
std::copy(tempMap.begin(), tempMap.end(), pixelMap);
如果您最终只想将其写入视频帧缓冲区,请考虑使用 char 而不是 bool。这会大大简化事情,尽管您的代码看起来不那么漂亮 ;)
考虑一个更好的方法:
bool pixelmap[26][8][8] = {
{
{0,0,1,1,1,0,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,1,1,1,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0},
{0,1,0,0,0,1,0,0}
},
// No, no need to repeat everything.
};
if (c >= 'A' && c <= 'Z')
{
auto p=pixelmap[c-'A'];
// ...
}
无需复制或分配任何内容。