
vector可以像数组一样访问,所以你可以用vector[1],vector[2],这样的方式去访问。或者可以使用迭代器vector::iterator去访问,这里就不具体介绍了。
用stl的算法find_if,functor做谓词,感觉更简练一些
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Table {
Table(const int n, const string& s, const int c):NUM(n),CI(s),count(c){}
int NUM;
string CI;
int count;
};
class TheTable {
int NUM;
public:
TheTable(int i):NUM(i) {}
bool operator()(Table& t) {
return tNUM == NUM;
}
};
int main () {
std::vector<Table> myvector;
Table t0(1, "hello", 2), t1(2, "world", 3);
myvectorpush_back(t0);
myvectorpush_back(t1);
for (int i=0; i<3; ++i) {
vector<Table>::iterator it = find_if(myvectorbegin(), myvectorend(), TheTable(i));
if (it == myvectorend())
cout << "Not found" << endl;
else {
std::cout << "MyTable " << (it)CI << '\n';
++(it)count;
}
}
return 0;
}
说具体些呀,包含的是什么元素
vector中的元素是用get(i);方法取出来的,得到Object对象,你再根据自己的需要,把它强转成你要的类型,再调用那个类中方法取出来,就得到了呀,基本跟二楼的兄弟说的一样
嗯,可以用下标值:如vector<int>
a;
a[i]就可以读取下标为i的元素值
或者使用迭代器
vecotr<int>::iterator
i;
i就可以读取下标注为i的元素值
原题#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> txt;
string str;
while(cin>>str)
txtpush_back(str);
cout<<
return 0;
}
如果cout要输出第三个元素里的第二个字符要怎么写
回答vector和string都支持下标访问,所以
cout << txt[2][1] << endl;即可
1、思路
可以首先利用length函数,得到vector的长度;然后最后一个元素即对应[长度-1]的元素的位置。
2、代码如下:
int length=vector1length();string str=vector1[length-1];
vector<int >这样vector里面的元素是指针,指向外面的空间,在这里所有元素指向a[]数组,它们共享空间。造成这种情况。
可以修改成:
class pos
{
public:
int x, y;
pos(int xx, int yy):x(xx),y(yy){}
};
vector<pos> Position;
这样压入新坐标时可以
Positionpush_back( pos(2, 3));就压入一个新坐标(2,3)
Position[i]x来访问横坐标
以上就是关于c++ vector容器怎么输出某个元素可以用++,--取元素的位置吗全部的内容,包括:c++ vector容器怎么输出某个元素可以用++,--取元素的位置吗、C++中,vector参数为类型时,如何查找和添加元素、java的vector中包含3个元素,每个元素中又有6个值,请问如何取出每个元素中的各个值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)