C++ 遍历c+中的向量数组+;
我试图迭代我的向量数组,但我似乎无法使它工作,我的错误在第二个for循环,错误消息如下: “double”之前应为主表达式 我已经详细介绍了如何迭代正则向量,但是如何迭代向量数组呢? 我遵循这个结构:C++ 遍历c+中的向量数组+;,c++,vector,iterator,C++,Vector,Iterator,我试图迭代我的向量数组,但我似乎无法使它工作,我的错误在第二个for循环,错误消息如下: “double”之前应为主表达式 我已经详细介绍了如何迭代正则向量,但是如何迭代向量数组呢? 我遵循这个结构: #include <iostream> #include <vector> int main () { std::vector<int> myvector; for (int i=1; i<=5; i++) myvector.push_back(
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector;
for (int i=1; i<=5; i++) myvector.push_back(i);
std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
#包括
#包括
int main()
{
std::vector myvector;
对于(int i=1;i#包括
#包括
#包括
使用std::ifstream;
使用std::vector;
使用std::cout;
int main(int弧,字符*argv[]
{
常数大小数据大小=7;
ifstream-infle(“data.txt”);
矢量输入;
双数;
而((infle>>num)&&(input.size()您可以像这样简单地遍历数组向量
for(inti=0;i在这行代码上
for(vector<double>::iterator it = vector[i].begin(); it != vector[i].end(); ++it)
或
但是一个更好的解决方案是不要对多个不同的事物使用相同的名称。vector my_vector[7];
尽量避免使用命名空间std来防止这种情况发生。调用向量变量“vector”这不是一个好主意。给它一个没有被拿走的名字,问题就消失了。对于每个向量,你只推一个数字,那就是你真正想要的吗?即7个向量,用于7个加倍。@ beta,在把“vector”改为“V”之后,它做了这个把戏。谢谢。我甚至没有考虑到,这就像是做int int=5。C++ 11代码<(双d:v)//stuff;
ftw“不要以标准库函数、类、结构命名变量”-为什么?因为标准库使用了大量名称(其中许多是非常通用的名称),这个建议是非常适得其反的。你认为名称空间是干什么用的?@ChristianRau:我知道名称空间有效地隐藏了这些名称,但当使用完全相同的名称时,可读性会受到影响。这也许是我们看到自定义编写的向量具有像EAVector等名称的原因,这些名称带有前缀以区别于standard容器。对于偶数类,当1000个loc时,与其类同名的变量更容易混淆。
#include <iostream>
#include <fstream>
#include <vector>
using std::ifstream;
using std::vector;
using std::cout;
int main(int arc, char *argv[])
{
const size_t data_size = 7;
ifstream infile("data.txt");
vector<double> input;
double num;
while ((infile >> num) && (input.size() <= data_size))
{
input.push_back(num);
}
for (vector<double>::iterator it = input.begin(); it != input.end(); ++it)
{
cout << ' ' << *it;
}
return 0;
}
for(vector<double>::iterator it = vector[i].begin(); it != vector[i].end(); ++it)
for(::std::vector<double>::iterator it = vector[i].begin(); it != vector[i].end(); ++it)
for(auto it = vector[i].begin(); it != vector[i].end(); ++it)