Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ запись значения в вектор

Автор: KuvshinoF 8.3.2024, 10:58

Имеется набор bool- значений: bool pole_1 = false, pole_2=false, pole_3=false,...;
Задача следующая: имея некое входное значение (int Value), записать true в соответствующее pole_x, то есть если Value==1, то pole_1 = true, если Value==2, то pole_2 = true и т.д. Писать прямо так не хочется, так как таких pole_x достаточно много и будет очень уж большой switch или много if-ов. В моем понимании надо все эти pole_x последовательно записать в некий массив (вектор) и затем как-то, задавая true Value-му элементу вектора, задать true его полю pole_x.
Рабочий вариант

        int Value = 1;
        QVector <bool *> MyVector;
        bool pole_1 = false;
        MyVector.append(&pole_1);
        *MyVector[Value] = true;
        qDebug() << "pole_1=" << pole_1;  // true, все верно

не подходит из-за большого размера вектора указателей. Подскажите еще какие-нибудь попроще способы решения такой задачки.

Автор: Алексей1153 14.9.2024, 13:06

KuvshinoF, я не очень понял вопрос. Но подозреваю, что тут речь про std::shared_ptr

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)