为什么指针ptr
允许我们通过
点运算符 .
而 pt
不需要,因为它需要间接运算符 ->
?
int n = 5;
test* ptr = new test[n];
ptr[1].print();
test* pt[45];
pt[1] = new test(2,3);
pt[1]->print();
最佳答案
因为它们是不同的东西。
ptr
是一个test*
类型的指针,它指向数组test[n]
的第一个元素,其元素是test
类型,然后 ptr[1]
给出类型为 test
的第二个元素。
pt
是一个数组,其元素是 test*
类型,然后 pt[1]
给出第二个 类型的元素>测试*
。
关于c++ - 这两个类型测试对象动态数组声明之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58787211/