C++の見えないコスト

ちょっと古い記事ですが、C++のパフォーマンについて面白い意見が書いてあったので紹介します。
http://www.rachelslabnotes.com/2009/10/the-hidden-cost-of-c/

例えば、

a = func(b,c);

というコードは、C言語の場合はこのコードのコストは、funcの中身と関数呼び出しのコストぐらいしか無いので、非常に分かりやすいです。
しかし、C++の場合は、

  • これは関数なのか、メンバ関数なのか?
  • b,cにデフォルトコンストラクタはあるのか?
  • オペレーターのオーバーライドはあるのか?

等、のコストがある可能性があります。
これが見えないコストです。
単体ではたいしたことないけど、このコードがループの中で呼ばれたりすると、そのコストは大変な事になるので、注意する必要がある。

しかし、これはコードを見ればわかるので、「見えない」コストではありません。
真に見えないコストなのは、このコードのコストがどれくらいなのかを調べる必要がある事なのです。