コンストラクタのexplicitについて
コンストラクタにexplicitを付与すると暗黙の型変換を禁止する。 引数が一個の時にしか使えない? 具体的には、int値を一個受け取るコンストラクタを持つ、クラスtestに対して、コンストラクタにexplicitを付与…
コンストラクタにexplicitを付与すると暗黙の型変換を禁止する。 引数が一個の時にしか使えない? 具体的には、int値を一個受け取るコンストラクタを持つ、クラスtestに対して、コンストラクタにexplicitを付与…
https://qiita.com/hal1437/items/b6deb22a88c76eeaf90c 上記リンクみれば、ざっくりわかる。 ->decltype を使うパターンについて、わかってないので、わかった…
というコードを実行したら、「error: member reference base type ‘Hoge *’ is not a structure or union」と表示されて謎だったが、下…
virtualをつけないと、親クラスのポインタに子クラスを格納しているケースにおいて、親クラスのポインタをdeleteしても親クラスのデストラクタしか呼ばれないため。 こういったミスを犯さないポイントとして、子クラスのデ…
シンプルに基底側でoverrideを想定していないvirtualが付与されていない関数に、派生側でoverrideを付与すると、コンパイルエラーとなる。 そのため、派生側で「この関数はoverride」と思って定義したも…
https://cpprefjp.github.io/lang/cpp11/decltype.html オペランドに指定した式の型を特定できる。 用途はtemplateの戻り値型を表現するためっぽい。
クラス内定数
といったコードは で置き換えることができる。
ラムダ式は[]で始まり、()の中に引数を書き、{}の中の分が実行される。 演算子operator()の、()が関数呼び出し演算子となる。 基本 ラムダ式は関数のように振る舞うオブジェクトを作るための式。 これの詳細は 引…
こういうのをメンバ初期化リストという。
最近のコメント