好的,这适用于我的编译器(vs2008),但我试图弄清楚我是否在做一些非标准的事情。这是我正在做的一个简单的例子:
std::tr1::array<int, 3> OneTwoThree() {
return boost::assign::list_of(1)(2)(3).to_array(std::tr1::array<int, 3>());
}
我在欺骗 to_array 适配器实际上并没有使用您传递给它的参数,它只是使用它来确定类型。然而,这些例子表明它更像是这样使用的:
std::tr1::array<int, 3> a = boost::assign::list_of(1)(2)(3).to_array(a);
关于是否只是将值初始化的数组放入 to_array 是否是犹太教的任何想法?有没有更清洁的方法来做到这一点?