如何在像犰狳这样的库中扩展类
How can i extend a class in a library like Armadillo?
本文关键字:扩展 更新时间:2023-10-16
我正在使用3D矢量进行3D图形。我创建了一个类 vec3 来添加像 getX、getY、getZ、setX、setY、setZ、setXYZ 这样的函数......等等。
#include <armadillo>
using namespace arma;
// An extension to VEC class for Armadillo for 3D graphics.
class vec3 : public vec
{
public:
// Constructor inits vector to 0,0,0
vec3() : vec(3,fill::zeros) {}
~vec3(void){};
double getX() const { return at(0); }
double getY() const { return at(1); }
double getZ() const { return at(2); }
void setX(double x){ ?????? = x; }
};
我发现自己迷失在一个我从未发现的非常不寻常的情况下:
如何使用 (i) 访问元素...在课堂上?
如您所见,对于 getter 函数,这很容易,因为我们至少有一个"at"函数。但是我如何创建一个 setX 函数,该函数在向量的 0 位置插入给定元素......
我试过这个(i),显然没有用。我在这里感觉很新手..."vec"建在哪里?一个标准::向量?...我做这些简单的事情是对的吗?
如果 vec 派生自 std::vector,at(0) = x;
应该可以工作,因为 at 函数可以返回非常量引用。
相关文章:
- 是否可以通过C++扩展强制多个python进程共享同一内存
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 扩展光电二极管探测器以支持多个传感器
- C++中的VLA,扩展名为std=C++11
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++返回 Numpy 数组的 Python 扩展模块
- 扩展可变参数模板中的变量名称
- 扩展C++生成的代码的模板参数类型名称
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- 将元组类型扩展为可变参数模板?
- 如何按文件扩展名引用文件夹中的文件
- HDF5Cpp 扩展复合数据集超板问题
- MSVC中的宏观扩展问题
- 嵌套参数包扩展失败
- C4204:使用的非标准扩展:非常量聚合初始值设定项
- [temp.variadic]中关于包扩展实例化的措辞
- 我应该包含什么来制作 boost.python 扩展?