二维的VECTOR?

certbuggy 2003-11-30 12:04:14
我在编制一个函数的时候想返回一个二维的VECTOR<string>,请问如何实现呢?
...全文
118 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
abitz 2003-11-30
  • 打赏
  • 举报
回复
2。你可以自己想一下,别人总结的也不一定准。
看看vector的源码,分析一下你自己题的问题。
3。你可以自己构造一个用于此查找的iterator作为find算法的输入。
一个一个的比效率也不差。
abitz 2003-11-30
  • 打赏
  • 举报
回复
vs.net2003没有警告。
用#pragma warning(disable: 这个数忘了,前两天的贴子上右)
lijingze2003 2003-11-30
  • 打赏
  • 举报
回复
对这个三维数组的查找操作不能用stl的函数了吧?
比如Array3D[2][i][0] == "dafad" ,i从0一直到size(),搜索匹配项。
lijingze2003 2003-11-30
  • 打赏
  • 举报
回复
再问一个,这样做的vector与动态生成的3维数组比较,有哪些优缺点?有哪些操作容易出错需要特别注意的?
lijingze2003 2003-11-30
  • 打赏
  • 举报
回复
#include <vector>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
vector<vector<vector<string> > > Array3D;
vector<vector<string> > Array2D;
vector<string> Array1D;
Array1D.push_back("0");
Array1D.push_back("1");
Array1D.push_back("2");
Array2D.push_back(Array1D);
Array1D.clear();
Array1D.push_back("a");
Array1D.push_back("b");
Array2D.push_back(Array1D);
Array3D.push_back(Array2D);

cout << Array3D[0][0][0];
}

我用的vc6.0编译这段程序,出现188个warning.
c:\program files\microsoft visual studio\vc98\include\xutility(20) : warning C4786: 'std::vector<std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::alloc
ator<char> > > >,std::allocator<std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > >' : identifier was truncated to '255' charact
ers in the debug information
怎么消除这些warning呢?
abitz 2003-11-30
  • 打赏
  • 举报
回复
to lijingze2003(方圆):
vector[i].push_back(val);
hxblvc 2003-11-30
  • 打赏
  • 举报
回复
返回指针
lijingze2003 2003-11-30
  • 打赏
  • 举报
回复
如果不指定vector<string>的大小呢?如何对vector<string>进行插入操作?
heguobaoceo 2003-11-30
  • 打赏
  • 举报
回复
typedef vector<string>VECTOR_STRING
abitz 2003-11-30
  • 打赏
  • 举报
回复
vector<vector<string> > foo()
{
vector<vector<string> > vec(m, vector<string>(n));//m*n matrix
vec[i][j] = "value"; // 0<=i<m,0<=j<n
return vec;
}

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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