码迷,mamicode.com
首页 > 编程语言 > 详细

c++ stl在acm的入门及使用

时间:2018-01-20 13:54:37      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:gpo   ref   实现   模板库   style   iter   实例化   blog   int   

stl的全称为Standard Template Library,即为标准模板库,它主要依赖于模板,而不是对象,所以你需要对这个模板进行实例化,选择你要使用的类型。

模板是一个怎样的东西呢,可以看下这个TOJ5250

题意就是让我去实现一个不定长可以放任意内容的数组。

我的实现代码

#include <iostream>
#include <malloc.h>
using namespace std;
template<typename T>
class Vector{
   private:T *p;
   int size;
   int n;
   public:
     Vector()
    {p=(T*)malloc(10*sizeof(T));
    size=10;
    n=0;}
    void Push_back(const T a){
    if(n==size){p=(T*)realloc(p,10*sizeof(T));size+=10;}
    *(p+n)=a;
    n++;
    }
    typedef T* Iterator;
    T* Begin()
    {return p;}
    T* End()
    {return p+n;}
};
int vector, deque, list, forward_list, array, string;//禁止使用vector, list等
int main()
{
    Vector<int> a;
    for(int i=1;i<=5;i++)
        a.Push_back(i);
    Vector<int>::Iterator it;
    for(it=a.Begin();it!=a.End();++it)
    {
        cout<<*it<<endl;
    }
}

里面我用了一些类的东西,暂且跳过。

void Push_back(const T a){
    if(n==size){p=(T*)realloc(p,10*sizeof(T));size+=10;}
    *(p+n)=a;
    n++;
    }
看下这个部分好了

c++ stl在acm的入门及使用

标签:gpo   ref   实现   模板库   style   iter   实例化   blog   int   

原文地址:https://www.cnblogs.com/BobHuang/p/8320307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!