向量使用的异常问题
Unusual issue with vector use
我试图写一个程序,我遇到了一些问题与vector
。我有一个逻辑,其中vector
的值将在循环的每次迭代中进行比较。我初始化向量,然后把一个元素压入每个向量。现在,由于这两个向量中都有一个元素,我应该能够像下面的代码一样进行比较和迭代,但事实并非如此。可能有bug,但是很难发现。
int M = 3; // I am passing values of M and N to this function
int N = 3;
std::vector<int> X;
std::vector<int> Y;
X.push_back(1);
Y.push_back(1);
int x = 0;
for(int i = 1; i <= N; i++){
for(int j = 1; j <= M; j++){
if((X[x] <= i) && (Y[x] <= j)){
if (x > 0){
X.push_back(i);
Y.push_back(j);
x = x + 1;
}
else{
X[0] = 1;
Y[0] = 1;
x = x + 1;
}
}
}
}
for(int i = 0; i < X.size(); i++){
cout << X[i] << "; " << Y[i] << endl;
}
使用上面的程序,我得到以下输出:
`1; 1`
但是我需要制作这个
`1; 1`
`1; 2`
`2; 2`
您有未定义行为。
当x
为零时,您不会将新条目推入向量,但是您会增加x
,下一次迭代您将访问X[1]
和Y[1]
,这是越界的
相关文章:
- 当我使用 C++ 中的 C# dll 来使用 Selenium 时,存在异常处理问题
- 发生此错误:在0x0F2BFB7C(基于.dll)时引发异常 尝试更改大小是问题吗?
- 关于异常继承中的语法的问题
- 在使用 In Order 遍历成员函数时引发异常(堆栈溢出)时出现问题
- 存在内存访问异常,但我不确定我的代码中出了什么问题
- Catch2 迫使我在异常中添加对 std::string 的强制转换,这会产生其他问题吗?
- (SDL 渲染问题)C++ 引发异常:读取访问冲突.这是无效的
- PCL 和 CMake 的问题:链接时未定义统计异常值删除
- 值传递、异常/断言和类设计.批评/问题
- 在使用SFML时,我会得到记忆或出于界限异常,这是什么问题
- 此C 异常语法有什么问题(std :: runtime_error)
- 递归中的异常问题(8皇后问题)
- 如何避免意外异常导致的问题
- 为什么我们需要 RAII 来解决异常安全问题
- 异常处理问题,原因
- 向量使用的异常问题
- c++基本异常问题
- C++ 中的 I/O 异常问题("cin"语句)
- 浮点异常问题
- 使用STL字符串和向量类的异常问题