cpp

CPPの右辺値参照・ムーブセマンティクス〜その3〜

cpp

前回の投稿で「ムーブ」の意味があやふやなままになってしまったので、ここで探ってみる。スマートポインタを使うが、それについては深く触れない。 struct hoge { std::shared_ptr<int> ptr; hoge(int val):ptr(new int(val)) {}; int getCount() { return ptr.u</int>…

CPPの右辺値参照・ムーブセマンティスス(その2)

cpp

前回の投稿に引き続き、もう少し遊んでみる。この投稿の内容は、 stackoverflow.com を参考にした。僕自身、あまり理解できていない気がするので、間違っていたら教えてください。 今回もやはり例を挙げて説明したいので、以下のような状況を想定する。 #inc…

CPPのvirtualデストラクタ

cpp

2. Kaleidoscope: Implementing a Parser and AST — LLVM 7 documentationでvirtual修飾子のついたデストラクタに出会った。いままで知らなかった(もしくは、忘れていた)ので、メモ。c++ - When to use virtual destructors? - Stack Overflowを参考にした…

CPPの右辺値参照・ムーブセマンティクス

cpp

この内容についてはすでに多くの記事がネット上にあるけど、自分の理解を深めるために(役に立つかわからない)記事を投稿することにした。詳細は他の記事に任せて、ここでは例をあげるだけにする。 右辺値参照やムーブセマンティクスを使わないで書くと、 #…