社区
C++ 语言
帖子详情
如何定义vector存放字符串数组(里面每个元素都是字符串数组)
newpeng
2007-05-10 10:30:33
string ds[6];
strVec.push_back(ds);
vector<string [6]> strVec;
vector<string []> strVec;
vector<string > strVec;
vector< vector<string> > strVec;
这样定义都不行
...全文
4770
20
打赏
收藏
如何定义vector存放字符串数组(里面每个元素都是字符串数组)
string ds[6]; strVec.push_back(ds); vector strVec; vector strVec; vector strVec; vector< vector > strVec; 这样定义都不行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rainv
2007-05-13
打赏
举报
回复
mark
wdloo
2007-05-12
打赏
举报
回复
SDFSDF
freenux
2007-05-11
打赏
举报
回复
看来这种方式是行不通的,你还是令想另一种方法吧
yblue
2007-05-11
打赏
举报
回复
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
string str = "OK";
vector< string > vecstr;
vecstr.push_back(str);
vector<string>::iterator iter = vecstr.begin();
cout << *iter << endl;
return 0;
}
这是我的代码,你看看吧,或许有用,可以运行的.
taodm
2007-05-10
打赏
举报
回复
那是你乱写试图输出这个vector<vector<string> >的代码的后果。
要2重循环,你少了一重。
newpeng
2007-05-10
打赏
举报
回复
可以了,是我写cout <<"v='"<< strVec[i]<<"'" << endl;导致出错的,谢谢楼上的各位朋友,
newpeng
2007-05-10
打赏
举报
回复
pro_20.cpp: In function `bool data_doing(std::string*)':
pro_20.cpp:117: error: no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)(&std::cout)), ((const char*)"v=\'")) << (&strVec)->std::vector<_Tp, _Alloc>::operator[] [with _Tp = std::vector<std::string, std::allocator<std::string> >, _Alloc = std::allocator<std::vector<std::string, std::allocator<std::string> > >](((unsigned int)i))'
/usr/lib/gcc/i386-redhat-linux/3.4.3/../../../../include/c++/3.4.3/bits/ostream.tcc:63: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>&(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
这样的错误,很多.
taodm
2007-05-10
打赏
举报
回复
啥错?
newpeng
2007-05-10
打赏
举报
回复
string ds[6];
vector< vector<string> > strVec;
strVec.push_back(vector<string>(ds, ds+6 ));
vector<vector<string> > vvs;
vvs.push_back(vector<string>(ds, ds + sizeof(ds)/sizeof(ds[0])));
这两种方式都是不行的,编译出错.
pkrobbie
2007-05-10
打赏
举报
回复
string ds[6];
strVec.push_back(vector<string>(ds, ds+6 ));
vector< vector<string> > strVec;
taodm
2007-05-10
打赏
举报
回复
那当然是vector<vector<string> > vvs;
vvs.push_back(vector<string>(ds, ds + sizeof(ds)/sizeof(ds[0])));
newpeng
2007-05-10
打赏
举报
回复
我说说我的需求吧,我拿到一个长长的字符串,要做两次拆分(也就是二维数组),第一维长度我是不知道的,只有第二维的长度我知道,所以我就定义一个vector用来保存,而vector里面的每个元素都是一个字符串数组.
lightnut
2007-05-10
打赏
举报
回复
#include <string>
#include <vector>
void foo()
{
typedef vector<string> strArray;
typedef vector<strArray> strArray2;
strArray strings1;
strings1.push_back("string1");
strings1.push_back("string2");
strArray2.push_back(strings1);
strArray strings2;
strings2.push_back("string21");
strings2.push_back("string22");
strArray2.push_back(strings2);
}
taodm
2007-05-10
打赏
举报
回复
string ds[6];
strVec.assign(ds,ds + sizeof(ds)/sizeof(ds[0]));
jixingzhong
2007-05-10
打赏
举报
回复
string ds[6];
==》
vector<string>
我想这样应该更合适吧?
jixingzhong
2007-05-10
打赏
举报
回复
把结构调整一下:
string ds[6];
==》
vector<string>
strVec.push_back(ds);
那么 strVec 就可以定义为 vector< vector<string> > strVec;
newpeng
2007-05-10
打赏
举报
回复
#include <vector>
using namespace std;
这个我已经添加了的.
newpeng
2007-05-10
打赏
举报
回复
楼上的,不行,我已经试过.都要出错.vector<string []> strVec;这个写法都是错误的就不用说了
vector<string [6]> strVec; 这个我不大明白是什么含义,看起来好像是可以保存一个字符串数组,但是一编译就出错(strVec.push_back(ds); 这里出错)
vector<string > strVec; 这个相当于一维数组
vector< vector<string> > strVec; 这个是vector里面保存vector,
believefym
2007-05-10
打赏
举报
回复
vector、string都在名字空间std下面
believefym
2007-05-10
打赏
举报
回复
#include <vector>
using namespace std;
除了第二个,其他三个都行的
字符串
、
vector
和
数组
该博客聚焦于C++中
字符串
、
vector
和
数组
的学习。介绍了命名空间的using声明,详细讲解了标准库类型String的初始化、操作及字符处理方法。还阐述了
vector
容器的初始化、元素添加与操作,迭代器的使用与运算,以及
数组
的
定义
、初始化、遍历和指针应用,包括多维
数组
的相关知识。
c++中的
vector
动态
数组
本文介绍了C++中
vector
动态
数组
,它是STL提供的容器类,可存储多种类型元素。先阐述了STL的容器、算法、迭代器和函数对象等概念,指出
vector
是动态系列容器。接着说明了
vector
的使用步骤,包括引入库和使用方法,介绍了insert、erase等函数功能。
vector
中
存放
数组
本文介绍了如何在C++中使用嵌套的std::
vector
来创建动态二维
数组
,并展示了如何初始化这些向量以及如何向其中添加
字符串
数组
的具体操作方法。
数组
和
vector
区别
本文深入探讨C++中
数组
与
Vector
的特点与区别,详细解析它们的
定义
、初始化、访问及操作方法。从内存位置、大小变化、初始化方式等方面进行对比,揭示执行效率差异的原因。
【C++】_
vector
定义
、_
vector
常用方法解析
本文详细介绍了C++标准模板库中
vector
容器。它是动态
数组
,可在运行时改变大小,元素连续存储且自动管理内存。文中阐述了
vector
的
定义
、基本特性,还介绍了常用接口,包括默认成员函数、访问遍历操作、容量操作、修改操作等,最后提及模拟二维
数组
和在OJ中的应用。
C++ 语言
65,211
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章