C++ 寻找特定的C++;技术

C++ 寻找特定的C++;技术,c++,C++,我不知道这是否符合StackOverflow的问题,但这是 我有一个类,它有一个矩阵来表示它在3D空间中的变换,它有一个布尔来检查这个矩阵是否需要更新(因为这似乎是一个昂贵的操作) 基本上,我从:matrix4x4中心*matrix4x4旋转*matrix4x4位置计算最终矩阵 此类具有设置中心/旋转/位置的方法,因此每次设置新值时,我都会将布尔值设置为true,下次程序请求最终矩阵时,我知道是否需要重新计算它 现在的问题是,我正在创建使用这个类的对象,我希望它可以作为任何使用它编程的人的接口。

我不知道这是否符合StackOverflow的问题,但这是

我有一个类,它有一个矩阵来表示它在3D空间中的变换,它有一个布尔来检查这个矩阵是否需要更新(因为这似乎是一个昂贵的操作)

基本上,我从:matrix4x4中心*matrix4x4旋转*matrix4x4位置计算最终矩阵

此类具有设置中心/旋转/位置的方法,因此每次设置新值时,我都会将布尔值设置为true,下次程序请求最终矩阵时,我知道是否需要重新计算它

现在的问题是,我正在创建使用这个类的对象,我希望它可以作为任何使用它编程的人的接口。 因此,不要使用程序员类型:

Object* myObject = new Object();
myObject->orientation.SetCenter(x1, y1, z1);
myObject->orientation.SetPosition(x, y, z);
myObject->orientation.SetRotation(angle, axis);
我想让他们可以输入:

Object* myObject = new Object();
myObject->position.x = x;
myObject->position.y = y;
myObject->rotation.angle = angle;
位置和旋转为带浮点值的向量类。 但是仅仅通过改变这些值,我不知道如何判断转换矩阵是否应该更新


有没有一个好的、不需要考虑的(表现对我来说很重要)方法来解决这个问题?

前面的问题有一些很好的答案:


添加程序员在完成一组相关更改时可以调用的
重新计算()方法怎么样?另外,如果下次请求矩阵时,一系列更新操作仍在进行中,则可以避免计算未完全更新的矩阵。您正在寻找属性访问器。看起来像一个字段,实际上执行一个方法。不是C++方式。只是<代码>对象MyObjor;<请在我们讨论C++风格时使用代码。这不会泄漏内存。