[STL] list 里面怎么再放list? 我这样好像不可以。

yuwengfanshu 2010-09-02 09:32:26
#include<fstream>
#include<iostream>
#include<iterator>
#include<string>
#include<algorithm>
#include<list>
#include<vector>
#include<map>
#include <set>
using namespace std;
void main()
{
list<list *> Lst1;

list<int> Lst2;

Lst1.push_back(&Lst2);
}
...全文
100 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ri_aje 2010-09-03
  • 打赏
  • 举报
回复
To LZ,把这行

list<list *> Lst1;

改成这样

list<list<int>*> Lst1;


To all,关于加空格与否
C++03规定必须加空格,否则是编译错误,因为>>会被优先识别为operator >>。
C++0x修改了上述缺陷,嵌套模板中可以直接使用>>了。
严格的说,现行的标准C++还是C++03,因此不加空格是错误的;实际上,很多编译器已经开始部分的支持C++0x的新特性了,所以不加空格的程序还是能够通过编译并生成正确的代码的,只不过根据目前的规定这是非标准行为,而且将来很可能会成为标准行为的,因为实在没什么理由把这一条从C++0x中拿掉。
ForestDB 2010-09-03
  • 打赏
  • 举报
回复

list<list<int> > a;

注意空格,只是C++编译器比较遗憾的地方。
某某9 2010-09-02
  • 打赏
  • 举报
回复
应该是要加空格的!
guanxinquan 2010-09-02
  • 打赏
  • 举报
回复
一般编程不会这么写的,先用typedefine将类型取个小名,然后再引用进去!!
Csuxiaowu 2010-09-02
  • 打赏
  • 举报
回复
#include "iostream"
#include "vector"
using namespace std;
int main()
{
vector<vector<int>>Avector;
vector<int>Bvector;
for(int i=0;i<3;i++)
{
for(int j=0;j<5;j++)
{
Bvector.push_back(j);
}
vector<int>temp;
temp=Bvector;
Avector.push_back(temp);
}
for(int i=0;i<3;i++)
{
for(int j=0;j<5;j++)
{
cout<<Avector.at(i).at(j)<<endl;
}
}
system("pause");
return 0;
}
healer_kx 2010-09-02
  • 打赏
  • 举报
回复
你当Java C#呢, 必须加。
pengzhixi 2010-09-02
  • 打赏
  • 举报
回复
list<list<int>*>

list<list<int> >
gamemagic 2010-09-02
  • 打赏
  • 举报
回复
不加是不行的
十八道胡同 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 csuxiaowu 的回复:]
貌似不加空格也是可行的
[/Quote]
本来就是 不加空格 可行的,
是vc6让大家都加空格了


list<list<int> > Lst1;
Csuxiaowu 2010-09-02
  • 打赏
  • 举报
回复
貌似不加空格也是可行的
healer_kx 2010-09-02
  • 打赏
  • 举报
回复
list<list<int>_> Lst1;

下划线_ 这里是个空格。你要加这个空格。

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧