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

Введение в поиск имен в C++

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

Функцию можно объявить в том же пространстве, где лежит класс или структура аргумента. Из main имя вызывают без квалификатора Garden:: - компилятор подберет подходящую перегрузку по типу значения.

Запишем пространство Garden со структурой Tree и функцией полива, затем вызовем ее из main:

#include <iostream> namespace Garden { struct Tree {}; void water(Tree) { std::cout << "watered\n"; } } int main() { Garden::Tree tree{}; water(tree); return 0; }

Строка в выводе подтверждает, что собран вызов из пространства Garden, хотя в main это имя не объявляли.

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