11以后用using, 可以99%不再头疼是否加typename了。
这种写法,
std::aligned_storage<sizeof(EnvType), alignof(EnvType)>::type
也都简化为
std::aligned_storage_t 了。 其实就是
template< std::size_t Len, std::size_t Align = /*default-alignment*/ >
using aligned_storage_t = typename aligned_storage<Len, Align>::type;
我一直在学些屠龙技,
typename准则是《Effective C++》的Item 42 《Understanding the two meanings of typename》,8年前读的,从没用过;
using准则是《Effective Modern C++》的 Item 9 《Prefer alias declarations to typedefs》,4,5年前读的,也一直没用过。
哎。
【 在 z16166 的大作中提到: 】
: 满足第二条吧,声明变量时用。
: leveldb自己的代码里也有类似的,比如声明env_storage_变量:
: typename std::aligned_storage<sizeof(EnvType), alignof(EnvType)>::type env_storage_;
: ...................
--
修改:DoorWay FROM 61.185.161.*
FROM 61.185.161.*