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

Внутреннее связывание в C++

Внутреннее связывание ограничивает имя текущим файлом: линковщик не ищет такое имя в других объектных модулях.

Для функции на уровне файла достаточно ключевого слова static либо объявления внутри безымянного пространства имен. Снаружи файла эти имена недоступны, зато в main они вызываются как обычно.

Зададим static-функцию и функцию в безымянном пространстве, затем вызовем обе из main:

#include <iostream> static void ping() { std::cout << "ping\n"; } namespace { void tick() { std::cout << "tick\n"; } } int main() { ping(); tick(); return 0; }

Объявите static void seed();, печатающую seed, и функцию ready в безымянном пространстве, печатающую ready. Вызовите обе из main по очереди.

Создайте static int lane(), возвращающую 1. Выведите значение через вызов из main.

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