Какой дефект в объявлении метода производного класса обнаруживает спецификатор override?
База Hintsage
C++ Core
Синтаксис, типы, функции, классы и базовая семантика C++.
Практика
Вопросы: C++ Core
Какие последствия имеет объявление нестатического поля как mutable для доступа из const-функции?
На собеседовании объясните, почему forwarding reference выводит разные типы для lvalue и rvalue одного типа.
В классе есть нестатический член-данные const типа int. Объясните механизм, из-за которого обычное копирующее присваивание для такого класса оказывается недоступным.
Сравните вызовы методов с ref-квалификаторами: какой перегруженный метод будет выбран в каждом случае и почему?
struct Buffer {
int use() & { return 1; }
int use() && { return 2; }
};
int main() {
Buffer b;
int first = b.use();
int second = Buffer{}.use();
}
От чего зависит размер объекта пустого класса в C++ и почему он не равен нулю?
Что происходит с верхнеуровневым const при выводе типа через auto?
Разберите неоднозначную запись локальной сущности: по какому правилу компилятор выбирает между объектом и функцией?
Практическая ситуация: у класса нет конструктора без аргументов; объявлены конструктор из одного значения и конструктор, принимающий список инициализации. Какой конструктор выберет пустая фигурная инициализация объекта?
Функция объявлена как noexcept, но из неё выходит исключение. Как завершится вызов?
В многопоточном C++ несколько потоков впервые одновременно обращаются к локальной статической переменной функции. Как стандарт защищает её инициализацию?
Укажите, в каком порядке разрушаются локальные объекты при выходе из области видимости.
В практической функции параметр объявлен как указатель, а аргументом служит встроенный массив: почему размер массива нельзя вывести из параметра?
Как пользовательский деструктор влияет на неявное перемещение объекта при присваивании ему временного значения?
Как копирование объекта с ссылочным членом влияет на объект, на который он ссылается?
Для перегруженной функции с параметрами указатель и целое число почему передача nullptr и передача нулевого целочисленного литерала могут выбрать разные перегрузки?
При расширении std::vector почему элементы иногда копируются вместо перемещения, даже если у типа есть перемещающий конструктор?
Во время конструирования производного объекта базовый конструктор вызывает виртуальный метод. Какой override фактически будет выбран?
Что определяет порядок инициализации членов класса, если он отличается от порядка в списке конструктора?
Представьте перегруженную функцию с параметрами long и double: почему вызов с аргументом типа int может быть неоднозначным, хотя оба преобразования допустимы?
Показано 21–40 из 50