Пока цикл ведет себя странно при использовании вектора::size() [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Пока цикл ведет себя странно при использовании вектора::size() [дубликат]

Сообщение Anonymous »

Я пишу фрагмент кода, который должен увеличить вектор до определенного размера. По какой-то причине логическая проверка в цикле 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»