パート LIV. 定数式の if 文 ( C++17 )

目次

337. if constexpr の条件式は const 変数でないといけない
338. メンバー関数は条件式に使えるのか?
339. 条件式内での初期化
340. 少し変わった使い方

定数式(constant expression)は C++14 では const に近い意味合いが強く実際に「式」という面では、条件式を定数式として評価できない弱みがありました。

C++17 以降は条件式にも使えるようになりました。

if constexpr (条件式) {
  // 処理部
}

この条件文は使い勝手はあまりよくはないです。

なぜなら条件式の中身は定数式でないと駄目だからです。

まあ使ってみりゃわかりますよ。(詳細は次の項目で…)

Copyright 2017-2018, by Masaki Komatsu