首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

已有指针T *ptr,怎么构造一个以ptr为首地址,长度为N的数组arr

2012-09-12 
已有指针T *ptr,如何构造一个以ptr为首地址,长度为N的数组arr?目的是将arr传给一个数组引用形参,比如:C/C+

已有指针T *ptr,如何构造一个以ptr为首地址,长度为N的数组arr?
目的是将arr传给一个数组引用形参,比如:

C/C++ code
template <typename T, unsigned int N> void sort(T (&arr)[N]){    //...}


[解决办法]
用强制类型转换:
[code=c/c++]
*(T(*)[N])ptr
或者
*reinterpret_cast <T(*)[N]>(ptr)
这样就可以用sort函数了:
sort(*reinterpret_cast <T(*)[N]>(ptr))
[/code]

热点排行