ポインタの参照渡し(*&)について
一瞬、なんだこれ?って思ったのでまとめておく。 一言でいうなら、ポインタを参照で渡しているだけ。 コードで説明した方が早い。 つまり、関数内では同じように使えるけど、ポインタの参照渡しの場合、関数内でポインタのアドレスを…
一瞬、なんだこれ?って思ったのでまとめておく。 一言でいうなら、ポインタを参照で渡しているだけ。 コードで説明した方が早い。 つまり、関数内では同じように使えるけど、ポインタの参照渡しの場合、関数内でポインタのアドレスを…
ポインタ経由でオブジェクトにアクセスしなければならないクラスのことを、「資源ハンドル」という。 以下のようなクラスや、STL、stringのことを指す。 このようなクラスでデフォルトのコピーを行うと、メンバ単位のコピーと…
参考:関数のdefault/delete宣言 関数のdefault/delete宣言は デフォルトコンストラクタ コピーコンストラクタ ムーブコンストラクタ コピー代入演算子 ムーブ代入演算子 デストラクタ といったクラ…
上記がわかりやすい。 まず、用語の整理。 ・コピー:複製 ・ムーブ:移動 当たり前といえば、当たり前なんだけど、これをイメージしながら考えると頭に入りやすい。 ※厳密にいうと、ムーブの挙動が「最適化されたコピー」というケ…
C++11スマートポインタ入門 unique_ptr あるメモリの所有権をもつunique_ptrがただひとつであることを保証する コピー不可。ムーブのみ。 生成はmake_uniqueで(C++14以降) スコープが外…
https://qiita.com/ktsujino/items/39c8bc23dcdc1f7b17ab ふむふむ。参考にしよう。 もう、素のポインタではなくスマートポインタを積極的に使う方がいいんだろうな。
初期化子絡みで色々用語があって迷ったので、まとめておく。 各用語は「プログラミング言語C++ 第4版」に基づく。 初期化子 {}構文による初期化のことを指している模様。 ※厳密にいうと「=」が使えるケースもあるがややこし…
なぜ、そうなるのかというも、いずれ追記するとして、とりあえず意識するべきことを列挙しておく。 ヘッダファイルで他のヘッダファイルのインクルードは原則禁止 例外としてインライン展開用はOK。 ヘッダを書き換えると、ヘッダを…
C++の場合普通にできる。 privateメソッドをpublicでオーバーライドすることもできる。 それってどうなのとは思うが、できるから隠したいメソッドがあれば、privateにしてしまおう・・・。 参考:https:…
スーパークラスを継承したサブクラスがあるとする サブクラスのインスタンスを生成すると スーパークラスのコンストラクタ サブクラスのコンストラクタ の順に実行される。 デストラクタに関しては サブクラスのデストラクタ スー…
最近のコメント