そろそろC++やります
そろそろC++をやります。そろそろC++をやりたいからです。
何回やるかはわかりません。基礎を理解するまではやろうと思います。
という感じでやっています。
※ 初心者がメモレベルで記録するので、技術記事としてはお力になれないかもしれません。
内容
- 組み込み型
今回はMicrosoftのドキュメントを参考に組み込み型に触れていきます。
組み込み型
組み込み型はコンパイラに組み込まれていてどのヘッダーファイルにも定義されていません。
そのため、#include<>
を書かなくても、使用することができます。
void型
主に以下の場合に用いられます。
関数やポインター関連も書いてありましたが、まだ触れていないため、出てきた時にこのvoid型
を考えてみます。
std::nullptr_t型
こちらも、生ポインター型やポインターについて触れていないため、のちのち考えます。
bool型
- true か false を指定
bool a = true; if (a) { cout << "true" << endl; } // Output: true
こちらはJavaやC#のようにboolを使うことができます。
bool a = true; cout << a << endl; // Output: 1 a = false; cout << a << endl; // Output: 0
出力はtrue, falseではなく、1, 0が出力されます。
char型
string型ではなくchar型
- 基本実行文字セットのメンバーを効率的にエンコードする文字表現型
- コンパイラは、
char
,signed char
、およびunsigned char
型の変数をそれぞれ異なる型の変数として処理 - 既定では、
char
型の変数はint
に上位変換
char c = 'a'; signed char sc = 'a'; unsigned char uc = 'a';
こちらも他のプログラミング言語でもみたことあるchar
です。
if (c == uc && c == sc && uc == sc) { cout << "All are equal" << endl; } // Output
char
, signed char
, unsigned char
は同じ値なら等しくみなされます。
char c = 'a'; cout << c << endl; if (c == 97) { cout << "a == 97" << endl; } // Output: a == 97
a
はASCIIコードで97なので、c == 97
が trueになります。
浮動小数点型
- IEEE-754 表現の、さまざまな大きさの小数値の近似値
- 浮動小数点型は三種類:
float型
,double型
,long double型
- サイズは
float型
<=double型
<=long double型
整数型
- 既定の基本整数型
signed
,unsigned
修飾子キーワードをつけられます。- サイズ修飾子は、使用する整数表現の幅をビット単位で指定
- 1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
整数型のシノニム
これらの型は、コンパイラによってシノニムと見なされます。
short a = 57; short int b = 57; signed short c = 57; signed short int d = 57; unsigned short e = 57; unsigned short int f = 57; int g = 57; signed h = 57; signed int i = 57; unsigned j = 57; unsigned int k = 57; long l = 57; long int m = 57; signed long n = 57; signed long int o = 57; unsigned long p = 57; unsigned long int q = 57; long long r = 57; long long int s = 57; signed long long t = 57; signed long long int v = 57; unsigned long long w = 57; unsigned long long int x = 57;
型が多くて複雑そうに見えるが、普通に使う分にはint型
やlong型
を使用すれば問題ないと思います。
データ型の範囲
割り当てられているメモリサイズが異なるので、どのくらいの精度で表現できるのかを知ることは必要です。
これに関しては必要に応じて Documentをみるとします。
感想
コンパイラに組み込まれているから組み込み型と呼び、ヘッダファイルに書かなくても使えることや、整数型も複数のシノニムがあるのだと、改めて考えさせられました。
C++のポインタについても学ばないとなと思いました。
次回は関数について触れていきたいと思います。