リンクエラーについて
参考:リンクエラーについて Visual Studio上ではエラーが出てないのに、ビルドしたら、上記のリンクエラーが出て困った。 上記のリンクも参考になるが、今回のケースは、対象のラッパー関数にinlineをつけていたの…
参考:リンクエラーについて Visual Studio上ではエラーが出てないのに、ビルドしたら、上記のリンクエラーが出て困った。 上記のリンクも参考になるが、今回のケースは、対象のラッパー関数にinlineをつけていたの…
参考:【c++】激震が走った、Pimplイディオム 肝だと思われるところは以下。 諸事情で内部実装を隠蔽したいときに使う Impl(内部実装)のインスタンスは、コンストラクタで確保する
一瞬、なんだこれ?って思ったのでまとめておく。 一言でいうなら、ポインタを参照で渡しているだけ。 コードで説明した方が早い。 つまり、関数内では同じように使えるけど、ポインタの参照渡しの場合、関数内でポインタのアドレスを…
ポインタ経由でオブジェクトにアクセスしなければならないクラスのことを、「資源ハンドル」という。 以下のようなクラスや、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。 ヘッダを書き換えると、ヘッダを…
最近のコメント