将 const uint16 arr[] 转换为 uint16 arr[]

Convert const uint16 arr[] to uint16 arr[]

本文关键字:arr uint16 转换 const      更新时间:2023-10-16
如何使用 c++ 将 const uint16 arr[]

转换为

uint16 arr[]
请发布示例。提前谢谢。

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

const uint16 arr[] = {1,2,3,4}unint16 arr1[4];memcpy(arr1,arr,sizeof(arr))
#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); 

并查看编译器告诉您的内容。