作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我这样问这个问题是因为我不知道如何更好地表达它。
现在,我正在使用 Eigen 库编写 3D 应用程序。 Eigen 只有一个 Vector 类,但我需要不同的 vector 和点数据类型。
两者都可以用一个
表示Eigen::Vector4d(x,y,z,w)
其中 w 对于点为 1,对于 vector 为 0。
我知道我可以使用
来定义一个类型typedef vec3d Eigen::Vector4d
或
#define point3d Eigen::Vector4d
但是有没有办法以某种方式定义它,使 w 对于 vector 始终为 0,对于点始终为 1?
typedef vec3d(x,y,z) Eigen::Vector4d(x,y,z,w)
不起作用。
最佳答案
你可以从它继承并提供一个新的构造函数:
struct vec3d : Eigen::Vector4d {
vec3d(double x, double y, double z) : Vector4d(x, y, z, 0) {}
};
或者,我更喜欢编写一个工厂函数,如下所示:
Eigen::Vector4D make_vector(double x, double y, double z) {
return {x, y, z, 0};
}
关于c++ - 如何在 C++ 中将 typedef 与类初始值设定项参数一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51116890/
我想成为 Spark 纱客户(link)。是否需要安装hadoop?还是只安装 yarn 可以吗? (by this link) 最佳答案 No Spark不需要Hadoop即可运行。 Apache
我是一名优秀的程序员,十分优秀!