2023年7月10日 (月曜日)

21:18:49 # Life fincoreのブロックデバイスまわりの扱いがイマイチだなぁとおもっていじってたら。 cachestatシステムコールなるものが新しく登場してきた。 へえ。

21:35:17 # Life Named Return Value Optimization(NRVO)。気になったのでコード書いて確認してみた。 特に気になったのはoptionalを返す場合。適当なクラスを書いてoptionalの中身を返すコードを書いたら、copy ellisionされなかった。 optionalを返すコードを書いたらcopy ellisionされた。だいたい等価な気がするのでもう一息コンパイラーには頑張っていただきたい。 compiler explorer.


std::optional<NoticeCopy> nrvo_option_content() {
  NoticeCopy n{1};
  return n;
}

std::optional<NoticeCopy> nrvo_option() {
  std::optional<NoticeCopy> n{1};
  return n;
}

	
Junichi Uekawa