gpt4 book ai didi

c++ - 如何在一行中通过指针构造一个点?

转载 作者:太空宇宙 更新时间:2023-11-04 14:55:07 25 4
gpt4 key购买 nike

我有一个接受双指针的 Point 构造函数。我这样做如下

Point::Point(double* p)
: mX(p[0]), mY(p[1]), mZ(p[2])
{}

Point pt( []() -> double* {double p[3] = {1, 2, 3}; return p;}() );

在一行中用指定值构造指针的任何更简单的方法?

最佳答案

最简单的方法是声明一个本地数组并传递一个指向它的指针:

double p[3] = {1, 2, 3};
Point pt(p);

或者,考虑编写一个新的构造函数,让您直接传递三个坐标:

Point::Point(double x, double y, double z)
: mX(x), mY(y), mZ(z)
{ }

如果无法添加构造函数,那么您可以使用工厂:

Point make_point(double x, double y, double z)
{
double p[3] = { x, y, z };

return Point(p);
}

关于c++ - 如何在一行中通过指针构造一个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205063/

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