1-07. 修飾子

公開日: 22:38 1. 基本編/1-07. 修飾子


C++ではchar、int、double型の頭に修飾子をつけることができます。修飾子はあらゆる 状況の必要性に合うように、元の型の意味を変更するのに使われます。

修飾子には次のものがあります。
  • signed
  • unsigned
  • long
  • short
signed、unsigned、long、short修飾子は整数型に適応できます。さらに、 signedとunsignedは文字型、longはdouble型に適応することができます。

signed、unsigned修飾子はlong、short修飾子の接頭辞にも使われます。unsigned long intのような形です。 

C++には、unsigned、long、shortのついた整数の宣言に簡略表記が備わっています。 単純にintをつけずにunsigned、short、longといったワードを使用できます。これは intを暗示します。 次に2通りのunsignedのついた整数型の変数の宣言を示します。
unsigned x;
unsigned int y;

signed、unsignedの修飾子がC++に解釈される方法の違いを理解するため、次のプログ ラムを実行します。

#include <iostream&gt:
using namespace std;
 
/* このプログラムはsigned(符号付き)とunsigned(符号なし)整数の
 * 違いを確認するためのものです。
*/
int main()
{
   short int i;           // a signed short integer
   short unsigned int j;  // an unsigned short integer

   j = 50000;

   i = j;
   cout << i << " " << j;

   return 0;
}

このプログラムを実行すると、次の結果が得られます。
-15536 50000

この結果はshort unsigned intとして50,000を表すビットパターンがshortとして-15,536と解釈されるために起こります。

C++の修飾子

修飾子を変数の先頭につけることで追加情報を与えることができます。
修飾子意味
constconst型のオブジェクトはプログラムの実行中変更されない
volatilevlatile修飾子はコンパイラにvolatileのついた値がプログラムによって明示的に指定されていない方法で変更されることを伝える
restrictrestrictで修飾されたポインタは、そのポインタが指すオブジェクトにアクセスできる唯一の手段となる
  • ?±??G???g???[?d????u?b?N?}?[?N???A

0 件のコメント :

コメントを投稿