2018-03-09から1日間の記事一覧
vim力向上の一環で「これ使ってなかったけど、意識的に使っていきたいな」と思ったコマンドをちょこちょこメモっておこうと思う。 Normal modeでf{char}とt{char} 今いる行の次の{char}の位置、あるいはその前の位置まで飛ぶ。;を押すとその次の{char}まで飛…
例えばBオブジェクトがprivateデータメンバとしてAオブジェクトへのポインタを保持しているとする: class A {}; class B { private: A* pa; public: B& operator=(const B& rhs) { delete pa; pa = new A(*rhs.pa); return *this; } }; 上記のようなoperato…
operator=は*thisを返すようにしよう、という話。 x = y = z = 15という構文が可能なのは、右から評価されていくoperator=が左辺のオブジェクトを返しているから。 ただの慣習だが、よっぽどの理由がない限り従うべき慣習である。 個人的にも異論はない。
Thinking Functionally with Haskellに”all numbers are instances of the type class Num”とあるが、”all number types are instances of the type class Num”の間違い?— zehnpaard (@zehnpaard) 2018年3月8日 というわけで第3章を読み返していて腑に落ち…
C++のコンストラクタは、まず最下層のベースクラスのものが呼び出されて、順次初期化されていって最終的に実際に作成されるオブジェクトのコンストラクタの処理が走る、という流れになる。 class A { public: A(); virtual void init(); }; A::A() { init();…