您的位置:程序门 -> c/c++ -> c++ 语言



请问这行代码是什么意思


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请问这行代码是什么意思
发表于:2007-08-23 10:07:17 楼主
template <class   _dummy>
const   typename   _iosb <_dummy> ::_fmtflags   _iosb <_dummy> ::skipws;
发表于:2007-08-24 20:10:461楼 得分:0
如果没弄错的话,应该是向编译器声明类型,注意是向编译器.
这种代码一般只有在标准库中才会见到,语法不太好
发表于:2007-08-24 22:04:412楼 得分:0
这可能是定义类模版   template <class   _dummy>   _iosb <_dummy> 的一个static成员。
这个成员已经在类模版中声明,它的名字是skipws,它的类型是   const   _iosb <_dummy> ::_fmtflags   ,这里使用   typename   告知编译器名字   _fmtflags   表示类模版内定义的一个类型,而不是其他什么。
发表于:2007-08-24 22:24:403楼 得分:0
iosb是输入输出状态块~~~前面加了一个下划线代表是系统内部使用的,fmtflags从名字可以知道大概是一种标志~~~
template <class   _dummy>
const   typename   _iosb <_dummy> ::_fmtflags   _iosb <_dummy> ::skipws;
在这里面是一个模板,然后const是用来修饰skipws是静态的,skipws在iosb <_dummy> 里面,而typename是用来告诉编译器_iosb <_dummy> ::_fmtflags是一种型别~~也就是一种数据类型,所以整体也就是_iosb <_dummy> 中的一个静态变量skipws,他的类型是_iosb <_dummy> ::_fmtflags
发表于:2007-08-26 08:48:544楼 得分:0
去看一看thinking   in   c++第二卷吧     上面说的很清楚
如果不怎么会模板,   说明楼主c++还不是很好啊


快速检索

最新资讯
热门点击