这是从我的上一个问题的这个答案中得出的。编译器是否保证将其视为array[4][4]
相同array[16]
?
例如,以下任一调用api_func()
是否安全?
void api_func(const double matrix[4][4]);
// ...
{
typedef double Matrix[4][4];
double* array1 = new double[16];
double array2[16];
// ...
api_func(reinterpret_cast<Matrix&>(array1));
api_func(reinterpret_cast<Matrix&>(array2));
}