4.2.4 高级议题

2013-10-07 14:59:35 · 作者: · 浏览: 73

4.2.4  高级议题

本节讨论关于typeof的一些高级议题。

为BOOST_AUTO更名

BOOST_AUTO是一个非常有用的宏,它能够使变量的赋值工作更加轻松容易。但它的名字有点过长,书写起来不太方便,虽然这完全是为了符合Boost库的命名规范。

如果想要让使用BOOST_AUTO的代码看起来更漂亮优雅一些,可以再使用宏定义给它换个名字,比如:

  1. #define auto_t BOOST_AUTO                   //使用auto_t来代替BOOST_AUTO  
  2. int main()  
  3. {  
  4.     auto_t(p, make_shared<int>(10));  
  5.     assert(*p = 10);  
  6. }  

这个小小的技巧会使代码看起来更美观,更类似C++(www.cppentry.com)0x风格。

模板类型自动推导

typeof库不仅能够推导一般表达式的类型,也能够推导带有模板的复杂表达式,在模板语境中时需要使用BOOST_TYPEOF_TPL和BOOST_AUTO_TPL。对于泛型编程(www.cppentry.com)的讨论已超出了本书的范围,故在此不做更深入的介绍。