Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpNlAd 469 of 696 menu
◀ ▶

Пространство аргумента в C++

Поиск, зависящий от аргумента добавляет к кандидатам функции из пространств имен типов в списке параметров.

Если в глобальной области уже есть одноименная функция, для пользовательского типа может существовать другая версия рядом с типом. Каждая перегрузка печатает свое слово - по выводу видно, какая версия попала в вызов.

Объявим глобальную care и одноименную функцию в Garden для Tree, затем вызовем имя с объектом сада - на экране должно появиться garden, а не global:

#include <iostream> void care(int) { std::cout << "global\n"; } namespace Garden { struct Tree {}; void care(Tree) { std::cout << "garden\n"; } } int main() { Garden::Tree oak{}; care(oak); return 0; }

Добавьте в Garden перегрузку care для Tree&, печатающую ref. Передайте в вызов именованную переменную Tree и выведите полученную строку.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить