使用BOOST_AUTO
宏,我们可以模拟在C ++ 11之前不可用的auto
关键字:
BOOST_AUTO( var, 1 + 2 ); // int var = 3
auto var = 1 + 2; // the same in C++11
有没有办法模仿const auto
?
const auto var = 1 + 2; // const int var = 3
答案 0 :(得分:5)
你可以只包括"尾随"常量:
#include <boost/typeof/typeof.hpp>
int main()
{
BOOST_AUTO(const x, 42);
static_assert(std::is_const<decltype(x)>(), "weehoo");
}
由于许多原因,尾随位置是const
限定符的唯一一致位置。这是其中之一:)