在一行中定义具有相同返回类型和参数类型的多个私有函数

And*_*M16 2 c++ header-files

我是全新的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个函数?如果是,怎么样?

提前致谢.

eer*_*ika 7

是否可以在同一行中定义它们或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的答案中所示.