首先,我想向大家保证,我出于好奇而问这个问题.我的意思是,不要告诉我,如果我需要这个,那么我的设计有问题,因为我不需要在实际代码中.希望我说服你:)现在问题:
对于大多数类型T我们可以写
T* p = new T;
Run Code Online (Sandbox Code Playgroud)
现在如果T是数组类型怎么办?
int (*p)[3] = new ???; //pointer to array of 3 = new ???
Run Code Online (Sandbox Code Playgroud)
我试过这个:
typedef int arr[3];
arr* p = new arr;
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
是否有任何有效的语法或在C++中是不可能的.如果不可能,为什么呢?谢谢
编辑:我猜我不够清楚.我希望能够在这种情况下使用它:
void f(int(&)[3]);
int (*p)[3] = new ???;
f(*p);
Run Code Online (Sandbox Code Playgroud)