C 中的Delphi绝对
Delphi absolute in C++
在C 中是否有与Delphi的absolute
相等的?我想做以下操作:
// Structure A
struct A
{
double X;
double Y;
double Z;
}
// Structure B
struct B : A
{
double U absolute X;
double V absolute Y;
double W absolute Z;
}
我可以在structure B
中使用double & U = X
,但这将生成一个额外的指针并更改结构的大小。联合是 - 我认为 - 也不是解决方案,因为structure B
继承了structure A
。
我真正想要的是通过访问x或u。
我喜欢用户2079303答案的想法,但要倒数。
注意 - 问题被命名为错误,并且违反了"您的真正目标"或"向我展示您的Z"规则。我们不需要模仿absolute
关键字 - 这是完全胡说八道!我们想为记录属性制作假名,并互换使用它们。
我真正想要的是通过访问x或u。
来访问同一内存
引用的行是问题讨论问题本质的唯一行 - 制作完整的假名。
所以,让我们从User2079303停止的位置开始,并使用C工会不必命名的事实,就像它在https://stackoverflow.com/a/a/13624921/976391
中使用。所以我们只是倒数范围。
/*union*/ struct coordinates {
/*struct*/ union {
double X;
double U;
};
/*struct*/ union {
double Y;
double V;
};
/*struct*/ union {
double Z;
double W;
};
};
简短版本:所描述的语言功能没有等效。
长版C :
C 没有等效。您建议的成员参考为您提供了相同的语法,但确实增加了对象的大小。
另一个接近的替代方法是返回参考的成员函数。没有开销(假设在线扩展)。函数调用的语法与引用成员不同。但是也许与会员访问相同的语法并不重要,所以这就是我的建议。
长版C:
C中根本没有继承,因此也没有任何所描述的"绝对"。
我们有几种坐标。其中一些名为x,y,z其他(在另一个系统中)命名为u,v,w。
在此上下文的情况下,我建议一个联盟(编辑:最好交换联盟和结构关系,请参见https://stackoverflow.com/a/41148089/2079303):
union coordinates {
struct {
float x, y, z;
} xyz;
struct {
float u, v, w;
} uvw;
};
如果要互换使用XYZ和UVW,则可以让每个转换为另一个。
// forward declare
struct B;
struct A
{
double X;
double Y;
double Z;
operator B() const;
}
struct B
{
double U;
double V;
double W;
operator A() const;
}
A::operator B() const { B b; b.U = X; b.V = Y; b.W = Z; return b; }
B::operator A() const { A a; a.X = U; a.Y = V; a.Z = W; return a; }
- 找到两对数字,使它们的乘积的绝对差最小化
- 如何将unicode字符串从C++传递到delphi
- 如何计算具有指定类型的表达式的相对精度和绝对精度
- 绝对编码器十六进制输入
- 如何从绝对地址的 C 样式指针创建对C++对象的引用
- 我应该如何获取配置文件的绝对路径与 Windows .exe一起发布?
- Windows上的libtool需要绝对路径,而我已经给了它绝对路径
- 从 delphi 调用 c++ 函数
- [android ndk]如何获取资产文件夹中文件的绝对路径?
- 如何将csv中的数据放入c++中的字符串向量中,而绝对没有任何作用
- 从Delphi调用C++DLL时发生访问冲突
- 可以从本机代码(如C++/Delphi)中使用.netCore DLL
- 在 c++ 中创建 dll 并在 delphi 中调用的标准方法
- 获取位于安卓工作室中可绘制的图像的绝对路径,用于NDK项目
- rpmbuild check-rpath 报告错误,指出路径不是绝对的,不正确的
- 在小部件上获得绝对的鼠标点击位置(放大时也是如此)Qt
- 将 Delphi 的字符串转换为 std::字符串用于C++
- 如果绝对没有调用成员函数,是否允许使用不完整类型的向量?如果是这样,从什么时候开始
- 是否可以从触摸板获得绝对触摸位置
- C 中的Delphi绝对