値渡しよりconst参照を使う
C++では関数にオブジェクトを渡したり関数からオブジェクトを受け取る場合は値渡しされる。つまり、オブジェクトを渡すごとにオブジェクトのコピー...
プログラミングや生活周りについて書いてます
C++では関数にオブジェクトを渡したり関数からオブジェクトを受け取る場合は値渡しされる。つまり、オブジェクトを渡すごとにオブジェクトのコピー...
C++では引数の評価順をコンパイラが決めて良いことになっている。そのため、コンパイラ依存でメモリリークが発生する可能性がある。 ...
コピー関数を定義した際にはオブジェクト全体をコピーするように注意する必要がある。特にデータメンバ、基底クラスを追加/変更した場合に合わせてコ...
*thisへの参照を返す 代入演算子は とつなげて使うことができる。これは代入演算子が「左辺への参照」を戻すことで実現されて...
コンストラクタ内で仮想関数を呼び出し「派生クラスの関数」が実行されてしまうと、その派生クラスの初期化前のデータメンバを使ってしまう可能性があ...
デストラクタから例外を投げることは禁止されていないが、危険な状況に陥る可能性があるため避けるべきである。 デストラクタが例外を...
派生クラスのオブジェクトを破棄するときに「仮想デストラクタを持たない基底クラス」のポインタをdeleteするとその結果は未定義になる。よくあ...
constキーワードをつけることで特定オブジェクトについて「変更してはいけない」制約をはっきりさせ、コンパイラにその制約を守っているかのチェ...
定数定義 定数を定義する方法の一つとして#defineを使う方法がある。 しかし、#defineだとプリプロセッサによってコ...
explicit無しで宣言されたコンストラクタは意図しない暗黙の型変換を引き起こすのでexplicit付きで宣言する方がよい。 ...