如何将手动写入的数组分配给之前创建的变量。
例如:
啊
class PredefinedMatrices {
public:
PredefinedMatrices();
unsigned char getSBoxValue(unsigned char hexNumber) const;
private:
unsigned char sbox[256];
};
交流
PredefinedMatrices::PredefinedMatrices() {
sbox[256] = //Sure it won't work
{
0x34, 0x5b,
0x93, 0xc2
};
}
unsigned char PredefinedMatrices::getSBoxValue(unsigned char hexNumber) const {
return sbox[hexNumber];
}
直接在类中分配值是行不通的。
这样做没有用:
unsigned char *matrice;
matrice = new unsigned char[256]{...};
由于额外的分配时间和内存消耗,我不想将临时矩阵的 memcpy 放入我需要的矩阵中。
编辑:手动写入的数组是来自 AES 加密的 S-Box。我可以动态计算它,但我不想将处理器周期浪费在恒定且我们知道其值的东西上。