ダブルポインタの扱い
というコードを実行したら、「error: member reference base type ‘Hoge *’ is not a structure or union」と表示されて謎だったが、下…
というコードを実行したら、「error: member reference base type ‘Hoge *’ is not a structure or union」と表示されて謎だったが、下…
strncpy_sはMicrosoftの拡張なので、memmoveを使った方が可搬性が良いとのことらしい。 細かいところはわかっていない。 memmoveとmemcpyの違いは、コピー元とコピー先の領域がかぶってもいいか…
virtualをつけないと、親クラスのポインタに子クラスを格納しているケースにおいて、親クラスのポインタをdeleteしても親クラスのデストラクタしか呼ばれないため。 こういったミスを犯さないポイントとして、子クラスのデ…
シンプルに基底側でoverrideを想定していないvirtualが付与されていない関数に、派生側でoverrideを付与すると、コンパイルエラーとなる。 そのため、派生側で「この関数はoverride」と思って定義したも…
C++17ならstd::sizeで取得するのが手っ取り早い。 出力は4 https://cpprefjp.github.io/reference/iterator/size.html
https://cpprefjp.github.io/lang/cpp11/decltype.html オペランドに指定した式の型を特定できる。 用途はtemplateの戻り値型を表現するためっぽい。
とあった場合、const ptrの部分が、ptrが指すアドレスを変更不可であることを表す。 つまりptrにnullptrを代入することなどは不可。 const char* の部分が、ptrが指す、char型*(上記例では…
色々忘れすぎててつらい。 char*型からstd::string型への変換 結果は 参考:https://www.sejuku.net/blog/52403
クラス内定数
そのファイル内でのみ有効な定数などを定義することができる。 不用意なstatic定数の乱発を避けられるメリットがある。 参考:https://marycore.jp/prog/cpp/unnamed-namespace/
最近のコメント