第4章式
4.1基本
1.左の値と右の値
オブジェクトは次のように使用される場合右辺値、の値(内容)オブジェクトが使用され、オブジェクトは次のように使用される場合左辺値、アイデンティティオブジェクトの(メモリ内の位置)が使用されています
4.2算術演算子
1.分割の切り捨て
C ++ 11標準では、商は0に丸められる(つまり、小数部分が直接切り捨てられる)と規定されています。
4.3論理演算子と関係演算子
1.効率を改善するための短絡評価
2.引用を巧みに使用して、コピーのコストを節約します
一般に、入力パラメータのサイズは比較的大きく、値を渡すときにコピーがより面倒になります。参照受け渡しの使用を検討してください。
4.5インクリメントおよびデクリメント演算子
1.必要な場合を除いて、ポストデクリメント演算子は使用しないでください
以前のバージョンのインクリメント演算子は、不要な作業を回避し、値に1を加算して、変更されたオペランドを直接返します。
対照的に、投稿バージョンでは、変更されていないコンテンツを返すために元の値を保存する必要があります。以前の値を変更する必要がない場合、ポストバージョンの操作は無駄になります。
2.ヒント:ポストインクリメントを使用して要素をトラバースします
4.8ビット演算子
1.ビット単位の演算子は、符号なしの型を処理するために最もよく使用されます
符号ビットの処理方法に関する明確な規制はないため、符号なしタイプの処理にのみビット演算子を使用することを強くお勧めします。
2.シフト演算子の左結合法則
cout << "hi" << "there" << endl;
に相当
((cout << "hi") << "there" )<< endl;
4.9 sizeof
1. sizeofを巧みに使用して、配列のサイズを計算します
4.11型変換
1. static_cast:最も一般的に使用される変換方法
2. const_cast:const属性を削除するための変換方法
3、reinterpret_cast
4.強制的な型変換を避けるようにしてください
5.古いスタイルの強制型変換の使用は避けてください
double a = 2.2;
int b = (int)a;
上記のように、変数の前に変換型が括弧で囲まれている変換方法は、旧式型変換と呼ばれます。