0

unsigned char のサイズを大きくして、それより大きいサイズの整数にキャストできるようにする方法はありますか?

アップデート:

基本的に、ポート番号が unsigned char として定義されている既存のシステムを編集しています。これは、最大 255 までの番号しか必要としなかったためです。現在、任意のポート番号に増やす必要があるため、簡単な方法を見つけようとしています。参照などを変更する何百ものファイルを通過することなくサイズを大きくする..

4

2 に答える 2

3

C++ 標準は、char のサイズが 1 であることを示しています。

ただし、typedef を使用すると、サイズを簡単に変更できます。

typedef unsigned char data_type;  // 1 byte

typedef unsigned short data_type; // 2 byte on some platforms
于 2012-07-17T14:37:37.617 に答える
2

いいえ、組み込みタイプのサイズは変更できません。

ただし、最初にキャストunsigned charintて後で変更できます。

unsigned char val = 25;
int int_val = val;
int_val = 1000; 

質問の更新によると

唯一のオプションは、タイプを手動で変更することだと思います。ただし、変更する前に、 aを作成しtypedefて使用します。

typedef int PortId

unsigned charと置き換えますPortId

于 2012-07-17T14:29:39.087 に答える