, Например, если у вас есть функция в безымянном пространстве имен, скажем, подробности реализации, то вы можете использовать декларацию using для ее типа возвращаемого значения или типа параметров. Это вводит имя только в это пространство имен (поэтому на него нельзя ссылаться из других файлов), но, опять же, вас это не должно волновать, поскольку вам не следует включать файл .cc / .cpp (безымянные пространства имен специально предназначены для избежания Конфликты имен во время ссылки, что здесь неприменимо: это просто псевдоним во время компиляции). Хуже того, это вносит двусмысленность, если это имя уже существует!

асно ли (и правильно) в заголовочном файле C ++ использовать объявление using в пространстве имен следующим образом:

#include <boost/numeric/ublas/vector.hpp>
namespace MyNamespace {
    using boost::numeric::ublas::vector;
    vector MyFunc(vector in);
}

То есть "using boost :: numeric :: ublas :: vector" правильно содержится в блоке MyNamespace, или это будет загрязнять пространство имен любого файла, содержащего этот заголовок?

Ответы на вопрос(5)

Ваш ответ на вопрос