????auto
???????C?????????K&R????????auto a = 1;??д??????????????????????????????c++11??????C?????auto a = 1;???? auto int a = 1;??? ??C++11??auto?????????????????????????????????д
????int a = 1;
????????????????a??int???????????????д
????auto a = 1;
?????????????????????vector<string>::iterator????????????Щ??????
???????????????á???????????????????洦??????????????????????????????????????????????????????????????????????????auto?????????????????????????????
????template <typename BuiltType?? typename Builder>
????void makeAndProcessObject (const Builder& builder)
????{
????BuiltType val = builder.makeObject();
????// do stuff with val
????}
?????????????????BuiltType??????????????????д?????????
????????auto??????????д
????template <typename Builder>
????void makeAndProcessObject(const Builder& builder)
????{
????auto val = builder.makeObject();
????// do stuff with val
????}
?????????δ???????Щ?????????????????val??????????????????BuildTye??????c++11?????????????????????????????????????????????????????????????c++11??????????c++14??????????????2014/5/14??
??????????auto a = 1;???????????????????????????????????????????????????????????????????????????????
??????????????????????????auto???????????Щ????????????????????????????decltype???
????decltype
????decltype???declared Type?????????????
????decltype(x)?????x?????????????????????д??
????decltype(x) y = x;
?????????x?????????????????decltype(builder.makeObject())?????makeObject()??????????
??????????????auto??decltype???д?????????′???
????template <typename Builder>
????auto makeAndProcessObject(const Builder& builder) -> decltype(builder.makeObject())
????{
????auto val = builder.makeObject();
????// do stuff with val
????return val;
????}
?????????????????á?????????????????????decltype????????д????????????
???????費(fèi)?????д??????????????????
????decltype????????BS??2002??????????????????????gcc c++????????2008??????????visual c++ 2010????????????????????c++11??????????????????????????????????2013???ɡ?
????????????????????????????????????????????????????е??????
??????????????????????????????????????????????????????????????????
????????BS?????????????