首页 > 其他 > 详细

vector详讲(一)

时间:2019-02-13 13:52:56      阅读:136      评论:0      收藏:0      [点我收藏+]

<vector>头文件里带有两个类型参数的类模板,第一个参数是需要指定的数据类型,第二个是分配器(allocator)类型

template<class T, class Allocator = allocator<T>>   class vector;

用分配器来为元素分配内存和释放内存。需要注意的是vector的运算符operator[] 和方法 at()的区别就是。前者不进行边界检查,而后者进行边界检查,超出边界会抛出out_of_range()的异常;

#include <iostream>
#include <vector>
#include <limits>
int main()
{
    std::vector<double> vectorDouble;
    //int max = -std::numeric_limits<double>::infinity();
    //std::cout << "max : " << max << std::endl;      //2^31 = 2147483648;max = -2147483648;
    for(int i = 0;true;++i)
    {
        double temp = 0.0;
        std::cout << "enter scord(-1 is stop )" << i << ": ";
        std::cin >> temp;
        if(temp == -1)
        {
            break;
        }
        vectorDouble.push_back(temp);
//        if(temp > max)
//        {
//            max = temp;
//        }

    }

    //max /= 100.0;
    for(auto &element : vectorDouble)
    {
        //element = element / max;
        std::cout << element << " ";
    }
    return 0;
}

这里的numeric_limits<>模板详见

vector详讲(一)

原文:https://www.cnblogs.com/boost/p/10369360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!