首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

typedef的有些用法搞不明白

2012-04-07 
typedef的有些用法搞不明白,请指教我在《c++程序设计语言》里P393例看见下面的几行代码templateclassT,clas

typedef的有些用法搞不明白,请指教
我在《c++程序设计语言》里P393例看见下面的几行代码
template   <class   T,class   A=alloctor <T> > class   std::vector{

public:
    typedef   T   value_type;
    typedef   A   allocator_type;
    typedef   typename   A::size_type   size_type;       //*****   1
    typedef   typename   A::difference_type   diference_type;

    typedef   implementation_dependent1   iterator;//******   2
    typedef   implementation_dependent2   const_iterator;
    typedef   stdreverse_iterator <iterator>   reverse_iterator;//*****   3
}
在1中   typename   A::size_type   是什么意思?去掉typename,写成
typedef     A::size_type   size_type行不行?

在2中   implementation_dependent1   是什么意思?
在3中   stdreverse_iterator <iterator> 又是什么意思?


另外size_t在那个头文件里定义的?我在网上查了一下,据说是这样定义的
typedef   unsigned   int   size_t;我想看看确切的定义

[解决办法]
1. 不行, 编译器无法知道 A::size_type 是个类型还是个变量。
2. 伪代码,意思是和具体实现相关。
3. 反向迭代器。
4. 在 stddef.h 里定义

热点排行