vector()构造函数

本文介绍了C++11中vector的几种构造方法,包括fill constructor、range constructor和initializer list constructor。fill constructor用于创建含有n个指定值元素的vector,range constructor则根据给定的迭代器范围复制元素,而initializer list constructor则通过初始化列表来创建vector。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++11:

default (1)
explicit vector (const allocator_type& alloc = allocator_type());
fill (2)
explicit vector (size_type n);
         vector (size_type n, const value_type& val,
                 const allocator_type& alloc = allocator_type());
range (3)
template <class InputIterator>vector (InputIterator first, InputIterator last,
          const allocator_type& alloc = allocator_type());
copy (4)
vector (const vector& x);
vector (const vector& x, const allocator_type& alloc);
move (5)
vector (vector&& x);
vector (vector&& x, const allocator_type& alloc);
initializer list (6)
vector (initializer_list<value_type> il, const allocator_type& alloc = allocator_type());

(2)fill constractor

       构造一个包含n个元素的容器。每个元素都是val的副本(如果提供)

(3) range constructor  

      构造一个容器,其中包含与 [first,last) 范围一样多的元素,每个元素都以相同的顺序从该范围内的相应元素构造。

(6) initializer list constractor

     初始化列表构造函数 构造一个容器,其中包含il中每个元素的副本,顺序相同。

#include<vector>
#include<iostream>
int main()
{
    vector<int> first; // empty vector of ints
    vector<int>second(4,10);/ four ints with value 10
    vector<int>third(second.begin(),second.begin()+3);//包含三个元素
    vector<int>four(second.begin(),second.end());// iterating through second
    vector<int>five(four);//a copy of four

     // the iterator constructor can also be used to construct from arrays:
    int myarray[]={1,2,3,4,5};
    vector<int>six(myarray,myarray+sizeof(myarray) / sizeof(int));
    
    std::cout << "The contents of fifth are:";
    for (std::vector<int>::iterator it = fifth.begin(); it != fifth.end(); ++it)
    std::cout << ' ' << *it;
    std::cout << '\n';

  return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值