vectorの最小要素を取り出す方法
std::min_elementで取り出せる。 これが基本的な使い方。 自分で比較対象を指定することもできる。
std::min_elementで取り出せる。 これが基本的な使い方。 自分で比較対象を指定することもできる。
というクラスを外部から使う場合に、 ではビルドが通らず、 にしないとビルドが通らない原因がわかっていない。
というポインタに対して、領域を確保して使用後、 とすればリソース解放されて、hogePtr_が指すものがnullptrになる。
関数の引数として、const string& としていた箇所は string_viewに単純置換できる。 上記の内容からもわかる通り、string_viewは参照専用なので、string_viewの文字列を編集す…
ローカル変数をstd::vectorとかのコンテナにemplace_back(std::move(変数名))で格納していいんだっけか? ローカル変数のスコープ外れても内容は保証される? 多分大丈夫だと思うが、裏付けは取っ…
そもそも何のためにあるのかよくわからん。 変更しない文字列を参照する際の、コピーコスト削減が目的? string_viewの末尾にはヌル文字が付与されないんだったっけ? というのが問題ないっぽいので、string_vie…
配列を含むvectorをv2 = v1でコピーしたら、要素毎にコピーコンストラクタが実行され、メンバ変数nameの全要素もコピーされているので、コピー元を書き換えても問題ないっぽい。 nameの先頭ポインタだけがコピーさ…
ラムダ式から作成した関数オブジェクトのことをクロージャと呼ぶ。 実用上は、ラムダ式とクロージャを区別する必要がある場面は限られるため、どちらもラムダと考えてよい。
unique_ptrから生ポインタを取得して、メンバ変数に保持するのは、生存管理ができなくなるので、やめた方がいい。 一時変数として使う分には、まだ許容できる場合あり。 この場合、shared_ptrを使えば生存管理でき…
みたいな形で、std::moveを指定して、vectorに所有権を移す必要がある。 ちなみに、「v.push_back(ptr);」とすると、ビルドが通らなくなる。
最近のコメント