gpt4 book ai didi

c++ - 在头文件中定义的模板类成员函数中使用命名空间

转载 作者:搜寻专家 更新时间:2023-10-31 00:00:34 25 4
gpt4 key购买 nike

我是 C++ 的新手,但据我所知,在头文件中使用 using namespace 关键字是不好的。我正在尝试编写一个模板类,并且已经阅读了模板类成员函数的定义必须在标题中以及所有模板代码必须在同一位置。我的问题是,在没有 using namespace 关键字的情况下编写所有代码会变得乏味。例如目前我有:

#ifndef RANDOMTREE_H_
#define RANDOMTREE_H_

template<class T>
class RandomTree {
private:
typedef double (*funcion_ptr) (T, T);
public:
RandomTree(std::vector<T> data, std::vector<funcion_ptr>){
...
}
void train_tree();
};

#endif /* RANDOMTREE_H_ */

但我打算在函数体内使用一些增强方法等,并且想知道是否有一种方法可以不必继续键入前缀 std::boost: :

最佳答案

嗯,这段代码对我来说看起来很不错。

在声明中只写一次没什么大不了的。

在定义中,如果你想省略写 ns::,你可能有 using namespace ns; inside a function

或者,只包含一些名称,例如:using ns::name;。但我不会那样做。

关于c++ - 在头文件中定义的模板类成员函数中使用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12918173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com