Я пишу фрагмент кода, который должен увеличить вектор до определенного размера. По какой-то причине логическая проверка в цикле while работает странно.
Вот код, который я запустил; первый цикл не работает так, как должен, но второй работает. Насколько мне известно, они оба должны делать одно и то же. Что происходит?
#include
#include
using std::cout;
using std::vector;
int main()
{
int index = 0;
vector vec = {};
//Loop 1
while (index > (vec.size() - 2))
{
cout (vec.size() - 2));
//I added this here because I noticed that it is initializing
//as false, even though 0 > -2 is true. In fact,
//when I type "p index > (vec.size() - 2)" in the debugger,
//it says true, but when I type "p test", it says false. Why?
vec = {};
//Loop 2
int compValue = vec.size() - 2;
while (index > compValue)
{
cout
Подробнее здесь: https://stackoverflow.com/questions/785 ... vectorsize
Пока цикл ведет себя странно при использовании вектора::size() [дубликат] ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение