在C++头文件中,我看到这段代码:
typedef typename _Mybase::value_type value_type;
Run Code Online (Sandbox Code Playgroud)
现在,据我所知,引用Schildt撰写的" C++完整参考文献 ".typename可以用关键字类代替,第二个用途typename是通知编译器模板声明中使用的名称是类型名而不是对象名.
同样,您可以使用关键字定义新的数据类型名称typedef.您实际上并未创建新数据类型,而是为现有类型定义新名称.
但是,您能否准确解释上述代码行的含义,在哪里typedef和typename哪些结合在一起.::声明中的" "是什么意思?
typedef const char* Argv[3+ 8];
Run Code Online (Sandbox Code Playgroud)
我在这一点上的猜测[3+8]是创建一个Argv类型的匿名数组(类型为const char*).如果我是对的,匿名数组部分基本上没有意义.