Что означает выражение type & l_t?

95
21 сентября 2021, 15:20
struct Example
{
    Example(int l_t):
    type(l_t)
    {
    }
    void set(int &l_t)
    {
        type= type & l_t;
    }
    int type;
};

Что выполняется в функции set? Аргументу из функции присваивается тип type или что?

Answer 1

В сигнатуре функции set символ & используется как часть типа и обозначает ссылку. В теле функции символ & используется для осуществления побитовой операции И, эквивалентно bitand.

Answer 2

type - член структуры Example. & - это оператор побитовое И. В член-функции set в выражении type = type & l_t; члену type присваивается результат вычисления type & l_t.

Например, если l_t = 0b101, type = 0b011 (приставка 0b означает представление в двоичном виде), то результат выражения будет 0b001

READ ALSO
Ошибка линковки через pragma [закрыт]

Ошибка линковки через pragma [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

116
Скажите правильно ли я думаю-Матрица c++

Скажите правильно ли я думаю-Матрица c++

Изначально имел код который выводил матрицу

91
Не правильно работает меню на C++ [закрыт]

Не правильно работает меню на C++ [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

88
Как сделать проверку заполнения одного из полей?

Как сделать проверку заполнения одного из полей?

Есть форма, валидация происходит через плагин jquery validation plugin

103