В шаблонной функции вызов зависит от параметра типа. Как двухфазный поиск имён определяет, какие функции могут участвовать в таком вызове?
База Hintsage
Программирование C++
Язык C++ и его модель выполнения.
Темы раздела
Выберите подраздел
- 0 вопросов
Общие вопросы
Смешанные вопросы по C++.
Открыть раздел - 50 вопросов
C++ Core
Синтаксис, типы, функции, классы и базовая семантика C++.
Открыть раздел - 50 вопросов
Управление памятью
RAII, время жизни объектов, указатели и владение ресурсами.
Открыть раздел - 50 вопросов
STL и контейнеры
Контейнеры, итераторы, алгоритмы и их сложность.
Открыть раздел - 50 вопросов
Шаблоны
Templates, специализация, вывод типов и метапрограммирование.
Открыть раздел - 50 вопросов
Многопоточность
Потоки, синхронизация, атомики и модель памяти C++.
Открыть раздел - 50 вопросов
Современный C++
Возможности стандартов C++11 и новее и идиоматичный код.
Открыть раздел
Практика
Вопросы: Программирование C++
В чём проявляется ограничение явной специализации функции-шаблона при выборе перегрузки?
При разработке библиотеки: почему частичная специализация шаблона класса, объявленная после его первого использования, не может надёжно изменить выбранную реализацию?
В практической ситуации: почему при создании объекта шаблонного класса тип его параметра иногда нельзя вывести из аргументов конструктора, и какую роль в этом играют руководства вывода?
Чем отличается вывод типа шаблонного параметра по значению от вывода по ссылке, если аргументом является массив?
Разбор последствий: почему тип шаблонного параметра, встречающийся только в возвращаемом типе функции, не выводится из контекста присваивания?
Что происходит с шаблонной перегрузкой, если подстановка выведенных типов делает её параметр некорректным?
Объясни механизм: зачем перед зависимым квалифицированным именем в шаблоне требуется ключевое слово typename?
Как вывод типов для forwarding reference позволяет шаблонной функции сохранить категорию переданного аргумента?
В шаблоне класса есть частичные специализации для указателя на произвольный тип и для указателя на константный тип. Какая специализация будет выбрана для указателя на const int и почему?
В коде выбран выходной итератор, несовместимый с контейнером. Определите причину ошибки и замену, которая позволит алгоритму записать результат.
#include <algorithm>
#include <iterator>
#include <set>
int main() {
std::set<int> a{1, 2, 3};
std::set<int> b{2, 3, 4};
std::set<int> result;
std::set_difference(a.begin(), a.end(),
b.begin(), b.end(),
std::back_inserter(result));
}
Оцените сложность вставки в std::map при передаче корректного итератора-подсказки: когда она может стать амортизированно константной?
Временный std::vector передают алгоритму std::ranges::find, но получить найденный итератор нельзя. Какой механизм предотвращает висячий итератор?
При расширении std::vector почему noexcept у перемещающего конструктора элемента может определить, будут ли существующие элементы копироваться или перемещаться?
Рассмотрите сортировку диапазона объектов по одному из их полей: какую роль в std::ranges::sort играет проекция?
За счёт какого механизма C++20 допускает разные типы начального итератора и конечного sentinel в диапазоне?
В практической задаче алгоритм должен последовательно добавлять результаты в пустой контейнер. Какой механизм выходного итератора позволяет алгоритму автоматически увеличивать размер контейнера?
На практике требуется отсортировать std::list. Какой способ выбрать, чтобы не требовать итераторов произвольного доступа?
Разберите последствия перемещения std::vector: что можно гарантировать о состоянии исходного контейнера после операции?
Как меняются size и capacity std::vector после вызова clear() и почему это важно при повторном заполнении?
Показано 141–160 из 300