`int * [1]`和`int(*)[1]`之间的区别是什么?

时间:2018-03-17 10:33:07

标签: c++ c++11 type-conversion type-safety using-declaration

:host(.open) ::ng-deep button
{
    background-color: blue;
}

为什么using T1 = int*[1]; using T2 = int(*)[1]; T1 t1; T2 t2; t1[0] = 0; // ok t2[0] = 0; // error : array type 'int [1]' is not assignable t2 = t1; // error : array type 'int [1]' is not assignable t2 = &t1; // error : array type 'int [1]' is not assignable t2 = 0; // ok (/ t2[0])无法转让?

t1int*[1]之间有什么区别?

更新

int(*)[1]

1 个答案:

答案 0 :(得分:2)

int*[1]是一个长度为1的数组,其元素为int*

int(*)[1]是一个指针,指向数组int[1]。因此t2[0]是一个数组int[1],不可分配。