读书人

已有指针T *ptr怎么构造一个以ptr为

发布时间: 2012-09-12 09:21:30 作者: rapoo

已有指针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]

读书人网 >C++

热点推荐