C ++プライマー第5版章IV章V

第四章式

値について

表現 「」=「」左に配置することができます 結果 オブジェクトは、(左/右)式を行います
左辺値の式 V オブジェクト、関数 アドレス
式の右側の値 バツ

&i;
私のアドレスで、私は左辺値であります
&私 &Iは、ポインタ、ポインタ値の値であると私はintなど、右、* p =&iは
左辺値 右辺値
decltype§ 参照型、eg.pは* intで、int型&リターン

評価の順序

F()+ G()...

いくつかの機能が同じオブジェクトに影響を与える場合は、エラー

[!] F()関数はオブジェクトの値、表現gを()を変更するのであればは、このオブジェクトを使用しないでください。しかし、絶対ではありません。例外:* ++イテレータ、最初++逆参照が再び、例外はありません。

モデューロ

オペランド m個の%Nシンボル
整数 そしてmは同じです

_参照は、パフォーマンスを向上させます

要素のコピーは避けてください

代入演算子

低順位

while((i=get_value())!=2){...}

= + _性能を向上しました。

複雑な計算に一度だけ

++パフォーマンスを向上させるI_

私比べ++、私は店に必要

I ++ _アプリケーション

便利なポインタトラバーサル

while(){
    *p++;//先++,但是解引用的是p原值,不是p++后的值
    ...
}

注 - 代入式

それの両側に「=」の値を変化させることができません

while(){
*it=toupper(*it++);//error
}

そして、 "" " - >"

string s="dwa";
string *p=&S;
(*p).size();
p->size();

string s=(..)?"dwa":"wda";

ビットコンピューティング

オペランド
整数、符号なしの数が推奨します ビットとして
標準ライブラリビットセット
演算子
<< >>シフト
〜否定
そして、&、|または^ XOR

のサイズ

バイトの数またはタイプの発現

戻り値:size_tの、定数式

二つの方法クラスメンバー

sizeof(对象.成员);
sizeof(::成员);

配列サイズを得ることができます

int a[]={1,2,3};
constexpr size_t size =sizeof(arr)/sizeof(*a);//计算数组大小
int arr2[size];//可以用来定义数组

「」演算子

for(;;,){}

キャスト

const_castを機能:根本のconstを削除

const char *p;
char *p2=const_cast<char*>(p);//p变成了char*,

第五章声明

throw式

機能:異常検出

if(..){
	throw runtime_error("string");c
}

tryブロック

機能:例外処理

try{

}catch(runtime_error err){
	cout<<err.what()<<endl;//
}catch(xxx){
}..
公開された19元の記事 ウォンの賞賛0 ビュー1251

おすすめ

転載: blog.csdn.net/qq_35459198/article/details/105331435