stl学习--我的第一个容器

#include <utility>

template<class T,size_t N=5>
struct myblock
{
 typedef T value_type;
 typedef value_type* pointer;
 typedef const value_type * const_pointer;
 typedef value_type & reference;
 typedef const value_type* const_reference;

 typedef ptrdiff_t dirrerence_type;
 typedef size_t size_type;

 typedef pointer Interator;
 typedef const_pointer const_iterator;

 myblock(){memset(Data,0,sizeof(T)*N);}

 Interator begin(){return &Data[0];}
 Interator end(){return Data+N;};
 
 const_iterator begin() const{return Data;}
 const_iterator end()const{return Data+N;}


 reference operator[] (size_type n){return Data[n];}
 const_reference operator[](size_type n) const{return Data[n];}

 size_type size() const { return N;}

private:
 T Data[N];
 
};

int main()
{
 myblock<int> test;
 myblock<int>::Interator itor=test.begin();
 int i=0;
 for(;itor!=test.end();itor++)
 {
  ;//*itor=i++;
 }

 itor=test.begin();
 for(;itor!=test.end();itor++)
 {
  ;//printf("%d",(*itor));
 }

 
 char c='b';
 char *p=&c;
 test[3]=c;
 char d=test[3];
 

 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值