我有一个存储在向量中的字符串(在本例中为elements
)。我想在特定索引处获取字符串,并且存储在名为x
的变量中。但是,它似乎没有起作用。以下结果为空白输出:
string x = elements->at(index);
cout << x;
但是,如果我这样做:
cout << elements->at(index);
index处的字符串返回正常。
我的元素定义如下:
vector<string>* elements;
elements = new vector<string>(size);
我在这里遗漏了什么吗?是这些问题还是我应该在代码的其他地方寻找?
答案 0 :(得分:1)
我尝试时工作正常:
#include <iostream>
#include <string>
#include <vector>
int main()
{
int size = 3;
std::vector<std::string> *elements;
elements = new std::vector<std::string>(size);
(*elements)[0] = "this";
(*elements)[1] = "works";
(*elements)[2] = "fine";
std::string x = elements->at(1);
std::cout << x << std::endl;
std::cout << elements->at(1) << std::endl;
x = (*elements)[1];
std::cout << x << std::endl;
std::cout << (*elements)[1] << std::endl;
return 0;
}
输出:
works
works
works
works