所以我有一个包含许多文件的库,我想把每个文件都添加到库的命名空间中。在我的类声明中,我现在有:
namespace Vira {
template <typename GeometryT, typename AlbedoT>
class Camera : public Vira::RigidBody<GeometryT> {...};
};
这很好,但是感觉声明内部好像因为我需要在使用前追加Vira::
多少次而变得混乱。使用以下代码是否是个好主意:
using namespace Vira;
namespace Vira {
template <typename GeometryT, typename LightT>
class Camera : public RigidBody<GeometryT> {...};
};
或者这是不清楚/令人困惑/不好的做法?
这是我第一次使用名称空间。我最接近的经验来自python,它的常见做法是import AnnoyinglyLongName as aln
或类似的东西。我知道这在C++中在某些情况下也是有用的。例如,我经常使用以下内容:
template <typename GeometryT>
using Vec3 = Vira::Vector3<GeometryT>;
但我不确定在向名称空间添加内容时广泛使用名称空间是否是个好主意。
1条答案
按热度按时间50few1ms1#
命名空间内的代码不需要显式限定同一命名空间的成员。因此,在以下代码中:
Vira::
鉴定是多余的,可以删除: