Одно имя через using в C++
Префикс можно снять только с одного символа.
Запись using shop::price; говорит: в этом файле
короткое имя price означает shop::price.
Это не то же самое, что using namespace shop; -
последняя форма тянет все имена сразу и в больших файлах
часто мешает читать код. Мы используем точечный using
для одной функции или типа.
Объявление в заголовке:
#ifndef SHOP_H
#define SHOP_H
namespace shop {
int price();
}
#endif
Тело price запишем в shop.cpp:
#include "shop.h"
namespace shop {
int price() {
return 100;
}
}
В main.cpp подключим одно имя и выведем результат:
#include <iostream>
#include "shop.h"
using shop::price;
int main() {
std::cout << price() << "\n";
return 0;
}
Объявите fmt::trim в заголовке и подключите
только это имя через using в main.cpp.
В пространстве math объявите twice
и класс Calc. В demo.cpp подключите
через using только math::twice,
а Calc вызывайте с префиксом math::.