12. constの連鎖性(代入)12
int a = 0;
int const b = 0;
int& ra = a; // OK
int const& cra = a; // OK
int& rb = b; // error
int const& crb = b; // OK
int d = cra; // copy: T const& -> T
int const& e = []()->int{ return 1; }(); // T(pvalue) -> T const&
ポインタ・参照への代入時に、元の変数が・・・
const変数でない → ポインタ・参照のconst修飾は任意
const変数である → constポインタ・参照へのみ代入可
非ポインタ・参照への代入は コピーが行われる
別の変数が新たに作られるので、元の連鎖には関係しない