编写没有库类的库类的构造函数

use*_*507 2 c++ constructor struct

我正在使用第三方库中的结构将参数传递给库函数.

我希望有一个构造函数可以让我快速创建一个结构,但库不提供一个.

有没有办法在库外部定义我可以在自己的代码中使用的构造函数?如果没有,那么其他人是否会看到一个优雅的解决方案?

我的动机是我会节省一些速度,因为我不必两次构造每个结构成员.

此外,我的代码更具可读性,因为我可以将结构创建压缩成一行而不是多行.

我想离开这个:

Point newPoint;
newPoint.x = someXValue;
newPoint.y = someYValue;
Run Code Online (Sandbox Code Playgroud)

对此:

Point newPoint(someXValue, someYValue);
Run Code Online (Sandbox Code Playgroud)

use*_*412 7

如果您使用的是C++ 11,则可以构造为:

Point newPoint {someXValue, someYValue};
Run Code Online (Sandbox Code Playgroud)

如果你不是,假设这是一个POD结构,你可以:

Point newPoint = {someXValue, someYValue};
Run Code Online (Sandbox Code Playgroud)

  • @ user2445507如果不是当前标准,您应该标记要使用的标准. (3认同)