1) 问题背景
C11++中有使用using 定义类型的方法,不过很少使用,不过并不表明你在看别人(你做项目或者你在实现某某个功能,肯定要参考些资料吧)的代码,特别是一些源码可能会遇到过比如我在Json中就遇到过Json::String即为“using String = std::basic_string<char, std::char_traits<char>, Allocator<char>>;”看到,一头雾水,于是这东东就能花上你20到30分钟,网上关于它的讲解也不多,可能你得花更多的时间才找到,然后啃它...
2)说明
前面说了using MyDefineType = 基类或者 复合类; 其实和typedef功能 类似;说明如下 :
using String = std::basic_string<char, std::char_traits<char>, Allocator<char>>;
如果此用typedef 替换如下:
typedef std::basic_string<char, std::char_traits<char>, Allocator<char>> String ;
小结:
(1) 也就是说以后使用String 类型替换std::basic_string<char, std::char_traits<char>, Allocator<char>>;
(2)typedef理解了,不难理解这个。