0

如何转换

const uint16 arr[]
uint16 arr[]
使用 c++ 吗?请张贴一个例子。提前致谢。

4

2 回答 2

2

如果您不关心变量名,并且您可以为非常量数组使用不同的内存,那么这是最快的方法。

常量 uint16 arr[] = {1,2,3,4}
unint16 arr1[4];
memcpy(arr1,arr,sizeof(arr))
于 2012-12-18T06:31:41.973 回答
0
#include <stdint.h>
#include <iostream>

using namespace std;

int main(int argc, char* argv[]) {

const uint16_t  arr1[] = {1,2,3,4};
uint16_t* arr2 = const_cast<uint16_t*>(arr1);

for (int i=0; i<4; i++) {
    cout << "arr2[" << i << "] = " << arr2[i] << endl;
}
}

请注意,我对 arr2 使用了指针表示法。如果您不明白为什么尝试将该行更改为

uint16_t arr2 = const_cast<uint16_t*>(arr1); 

看看编译器告诉你什么。

于 2012-12-18T06:04:42.413 回答