【发布时间】:2017-01-06 12:46:13
【问题描述】:
初始化 const 自动变量的首选方法是什么?我能想到几个。
if声明:
const std::string s;
if( condition ) { const_cast<std::string&>(s) = "first"; }
else { const_cast<std::string&>(s) = "second"; }
?:运营商:
const std::string s = ( condition ) ? "first" : second;
立即调用的函数表达式:
const std::string s = [ & ] ()
{ if( condition ) return "first" else return "second" } ();
【问题讨论】:
-
我看不到您如何使用第一种方法初始化
const变量。std::string s本身并不是const。 -
@raymai97 确实如此。固定。
标签: c++11 initialization constants