В многопоточном C++ несколько потоков впервые одновременно обращаются к локальной статической переменной функции. Как стандарт защищает её инициализацию?
База Hintsage
Программирование C++
Язык C++ и его модель выполнения.
Темы раздела
Выберите подраздел
- 0 вопросов
Общие вопросы
Смешанные вопросы по C++.
Открыть раздел - 50 вопросов
C++ Core
Синтаксис, типы, функции, классы и базовая семантика C++.
Открыть раздел - 50 вопросов
Управление памятью
RAII, время жизни объектов, указатели и владение ресурсами.
Открыть раздел - 50 вопросов
STL и контейнеры
Контейнеры, итераторы, алгоритмы и их сложность.
Открыть раздел - 50 вопросов
Шаблоны
Templates, специализация, вывод типов и метапрограммирование.
Открыть раздел - 50 вопросов
Многопоточность
Потоки, синхронизация, атомики и модель памяти C++.
Открыть раздел - 50 вопросов
Современный C++
Возможности стандартов C++11 и новее и идиоматичный код.
Открыть раздел
Практика
Вопросы: Программирование C++
Укажите, в каком порядке разрушаются локальные объекты при выходе из области видимости.
В практической функции параметр объявлен как указатель, а аргументом служит встроенный массив: почему размер массива нельзя вывести из параметра?
Как пользовательский деструктор влияет на неявное перемещение объекта при присваивании ему временного значения?
Как копирование объекта с ссылочным членом влияет на объект, на который он ссылается?
Для перегруженной функции с параметрами указатель и целое число почему передача nullptr и передача нулевого целочисленного литерала могут выбрать разные перегрузки?
При расширении std::vector почему элементы иногда копируются вместо перемещения, даже если у типа есть перемещающий конструктор?
Во время конструирования производного объекта базовый конструктор вызывает виртуальный метод. Какой override фактически будет выбран?
Что определяет порядок инициализации членов класса, если он отличается от порядка в списке конструктора?
Представьте перегруженную функцию с параметрами long и double: почему вызов с аргументом типа int может быть неоднозначным, хотя оба преобразования допустимы?
Как ключевое слово explicit меняет возможность неявного преобразования через конструктор?
При возврате объекта класса по значению из функции можно ли в современном C++ гарантировать отсутствие копирования, и от чего зависит ответ?
Сравните две функции и определите их точные типы возвращаемого значения. Объясните, почему скобки меняют результат вывода через decltype(auto).
int value = 10;
decltype(auto) by_name() {
return value;
}
decltype(auto) by_expression() {
return (value);
}
Объясните механизм: почему константную функцию-член можно вызвать для неконстантного объекта, но неконстантную функцию-член нельзя вызвать для константного?
В производном классе добавили перегруженную функцию с тем же именем, что в базовом. Почему обычный вызов базовой перегрузки перестаёт находиться?
В чём различие между default-initialization и value-initialization объекта класса, если его поля имеют встроенные типы?
На какой срок продлевается время жизни временного объекта при привязке к локальной ссылке, и почему возврат этой ссылки опасен?
Зачем нужен std::move, если он сам не перемещает объект?
При удалении объекта производного класса через указатель на базовый класс, какое свойство деструктора базового класса делает операцию корректной?
Разберите ситуацию: производный объект передают в функцию, принимающую базовый класс по значению. Что происходит с частью производного объекта?
Показано 281–300 из 300