変換方法
const uint16 arr[]に
uint16 arr[]C ++を使用していますか?例を投稿してください。前もって感謝します。
変数名に悩まされておらず、非 const 配列に異なるメモリを使用しても問題ない場合は、これが最速の方法です。
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);
コンパイラが何を教えてくれるか見てみましょう。