编程论坛
注册
登录
编程论坛
→
C++教室
关于ios_base类的定义
全世界安静
发布于 2012-08-30 18:08, 6022 次点击
ios_base类定义中public部分有三行语句
typedef T1 fmtflags;
typedef T2 iostate;
typedef T3 openmode;
请问是什么意思?T1,T2,T3分别是什么?
3 回复
#2
dz789989
2012-08-30 20:54
这是个虚基类 给iostream等派生类继承用的 纠结这干什么
#3
pangding
2012-08-31 23:36
楼主用的是什么编译器?后面应该还有一个 T4 吧?
应该是 typedef T4 seekdir;
T1, T2, T3, 和 T4 是c++标准提到的四种未明确的类型,交由编译器自己实现细节了。一般应该是四个 enum。
标准没有要求编译器非要用 T1,2,3 这样的名字。所以我有点好奇楼主用的什么编译器。
#4
pangding
2012-08-31 23:42
回复 2楼 dz789989
ios_base 不是虚基类。
原则上你是可以创建 ios_base 的对象的,不过直接用这个类不是很合理,所以它的默认构造函数被放在了 protected 这个字段下了。
1