以下代码返回堆栈分配的数组的大小:
template<typename T, int size>
int siz(T (&) [size])
{
return size;
}
Run Code Online (Sandbox Code Playgroud)
但我无法理解语法.特别是T (&) [size]部分......
有什么问题:我只想指向int并将该int值赋予0.
int* p;int* q;
*p = 0; *q = 0;
cout<<"p = "<<*p<<" q = "<<*q<<endl;
Run Code Online (Sandbox Code Playgroud)
这很烦人
作品:
int* p;
*p = 0;
cout<<*p<<endl;
Run Code Online (Sandbox Code Playgroud)
崩溃:
int* p;
int* q;
*p = 0;
*q = 0;
cout<<*p<<endl;
Run Code Online (Sandbox Code Playgroud)