我是全新的C++,我想知道是否有一种方法来定义n个函数,它们在一行中具有相同的返回类型和参数类型,以便维护DRY代码.
我尝试在线寻找解决方案,但是我无法找到合适的答案.
myHeader.h
class MyClass{
public:
. . .
private:
. . .
std::vector<Dcel::Vertex*> addVertices(std::vector <Dcel::Vertex*>);
std::vector<Dcel::Vertex*> randomPointsGetter(std::vector<Dcel::Vertex*>);
};
Run Code Online (Sandbox Code Playgroud)
例如,它们都返回std::vector<Dcel::Vertex*>类型并std::vector <Dcel::Vertex*>作为参数输入.
是否可以在同一行中定义它们或n个函数?如果是,怎么样?
提前致谢.
是否可以在同一行中定义它们或n个函数?如果是,怎么样?
所有的空格在C++中都是平等对待的,所以当然.以下是在同一行中声明的两个函数:
T function(); T another_function();
Run Code Online (Sandbox Code Playgroud)
如果你的意思是你是否可以在一个完整表达式中声明多个函数,或者"共享"返回类型,那么不,这是不可能的.
如果您不喜欢重复的复杂性std::vector<Dcel::Vertex*>,可以使用别名:
using R = std::vector<Dcel::Vertex*>;
R addVertices(R);
R randomPointsGetter(R);
Run Code Online (Sandbox Code Playgroud)
编辑:此using声明在语义上等同typedef于Josh Kelley的答案中所示.