C++中容器的初始化问题deque和list

本文介绍了一个C++编程中关于容器初始化的小技巧,特别是在使用迭代器从一个容器向另一个容器(如从list到deque)传递数据时需要注意的问题。

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

今天编写一个小程序是遇到这样的一个问题。

即将list的元素复制到deque中。

刚开始我是这样写

#include "stdafx.h"
#include<iostream>
#include<list>
#include<deque>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
 list<int> ilist;
 deque<int> deque1;
 while(cin>>m)
  ilist.push_back(m);
 list<int>::iterator iter1=ilist.begin(),iter2=ilist.end();
deque1(iter1,iter2);%但是这里会出错,之后我将这里改为 deque<int> deque1(iter1,iter2)之后这个错误就没有了

return 0;

}

VS2010报的错误是error C2064: 项不会计算为接受 2 个参数的函数

上网查了下,也没有这方面的知识,暂且认为这是C++的特性吧!即用迭代器对容器初始化是必须加上类型说明符,即使在前面声明了,之后在初始化时也还是要加上的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值