C++ でも最近はスマートポインタが使えるわけですが、 std::shared_ptr を作る関数である std::make_shared が IDE の静的解析と相性が悪くて辛みを感じています。(とりあえず CLion での挙動ですが、 VS でも同じような感じじゃないかなぁ…)

  • std::make_shared<Hoge>( とまで打った時に出てくる引数サジェストが Args&&... になってて全く役に立たない。 Hoge クラスのコンストラクタから情報を引っ張ってきてほしい。ついでに言うと引数間違えてても IDE からは警告が出ない(コンパイルして初めて間違っていることが分かる)。
  • Hoge クラスのコンストラクタを右クリックして呼び出し元を検索しても出てこず、よくよく考えたら make_shared 経由なので自分で書いたコードからは直接呼ばれてなかった。make_shared を書いた位置がヒットしてほしい。

make_shared に限らないし、根本的にはスマートポインタにも限らないし標準ライブラリにも限らないわけですが、何とかならんのですかねこれ。

Read the rest of this entry