第1章の注について


[注1] メイン関数が最初に実行される

WindowsなどのGUIシステムや組み込み機器のプログラムなどはこの限りではありません。

[注2] 改行して終わり

実は、endlはそれだけの意味ではありません。改行して出力バッファをフラッシュすると言う意味があります。純粋に改行だけを表すのには、'¥n'を用います。つまり、endlには、'¥n' + flushという意味があるのです。フラッシュについては、coutではほとんど気にしなくてもいいのですが、出力先がファイルなどではその点について注意を払う必要があります。また、endlはフラッシュする分だけ遅くなるので、気を付けましょう。

[注3] 演算子の種類と優先順位

以下の表に演算子の種類と優先順位について示します。これらは上から順に優先順位が高く、下に行くにつれ低くなります。同じ色に分けられた演算子は同じ優先順位です。また、ここで示す左辺値とは、非定数オブジェクトのことです。

演算子 意味 使い方
:: スコープ解決 クラス::メンバ
:: スコープ解決 名前空間::メンバ
:: 大域的 ::名前
:: 大域的 ::制限付きの名前
. メンバの選択 オブジェクト.メンバ
-> メンバの選択 ポインタ->メンバ
[] 添字付け ポインタ[式]
() 関数呼び出し 式(式のリスト)
() 式の構築 型(式のリスト)
++ 後置インクリメント 左辺値++
-- 後置デクリメント 左辺値--
typeid 型識別 typeid(型)
typeid 実行時型識別 typeid(式)
dynamic_cast 実行時チェック付き変換 dynamic_cast<型>(式)
static_cast コンパイル時チェック付き変換 static_cast<型>(式)
reinterpret_cast チェックなし変換 reinterpret_cast<型>(式)
const_cast const変換 const_cast<型>(式)
sizeof オブジェクトのサイズ sizeof 式
sizeof 型のサイズ sizeof(型)
++ 前置インクリメント ++左辺値
-- 前置デクリメント --左辺値
補数 ‾式
! 否定 !式
- 単項のマイナス -式
+ 単項のプラス +式
& アドレス取得 &左辺値
* 間接参照 *式
new 構築(領域確保) new 型
new 構築(領域確保と初期設定) new 型 (式のリスト)
new 構築(配置) new (式のリスト) 型
new 構築(配置と初期設定) new (式のリスト) 型 (式のリスト)
delete 解体(領域開放) delete ポインタ
delete [] 配列の解体 delete [] ポインタ
() キャスト(型変換) (型)式
.* メンバ選択 オブジェクト.*メンバへのポインタ
->* メンバ選択 ポインタ->*メンバへのポインタ
* 乗算 式*式
/ 除算 式/式
% 剰余 式%式
+ 加算 式+式
- 減算 式-式
<< 左にシフト 式<<式
>> 右にシフト 式>>式
< 未満 式<式
<= 以下 式<=式
> より大きい 式>式
>= 以上 式>=式
== 等しい 式==式
!= 等しくない 式!=式
& ビットごとの論理積 式&式
^ ビットごとの排他的論理和 式^式
| ビットごとの内包的論理和 式|式
&& 論理積 式&&式
|| 論理和 式||式
? : 条件式(三項演算子) 式?式:式
= 単純な代入 左辺値=式
*= 乗算して代入 左辺値*=式
/= 除算して代入 左辺値/=式
%= 剰余を取って代入 左辺値%=式
+= 加算して代入 左辺値+=式
-= 減算して代入 左辺値-=式
<<= 左にシフトして代入 左辺値<<=式
>>= 右にシフトして代入 左辺値>>=式
&= 論理積を取って代入 左辺値&=式
|= 論理和を取って代入 左辺値|=式
^= 排他的論理和を取って代入 左辺値^=式
throw 例外を送出 throw 式
, コンマ(連続) 式,式

[注4] for文の中だけで有効

Visual C++では、デフォルトの設定でコンパイルすると関数の最後まで有効になってしまいます。これはMicrosoftの言語拡張を無効にすることで対処できます。Zaオプションを指定して、コンパイルしてください。ただし、Microsoftが用意したライブラリの中には、このオプションを付けることで使用できなくなるものがあります。#include<iostream>などもこれにあたるので、実質全然使えないということになりますね(-_-#。

[注5] エラーが出て止まる

環境によってはそのままエラーが出ずに正常に終了することもあります。それは、読み書きできる領域に文字列を格納する環境だからです。例えばVisual C++では、デフォルトではエラーは出ませんが、GFオプションをつけることでエラーとなります。


Copyright (C) Noriyuki Futatsugi/Foota Software, Japan.
All rights reserved.
d2VibWFzdGVyQGZ1dGF0c3VnaS5uZXQ=