gpt4 book ai didi

c++ - 如何加载知道第一个元素的结构?

转载 作者:行者123 更新时间:2023-11-30 17:23:27 25 4
gpt4 key购买 nike

我在某些地方看到

struct dri2_egl_config *dri2_conf = dri2_egl_config(conf);

结构体在哪里

struct dri2_egl_config
{
_EGLConfig base;
const __DRIconfig *dri_single_config;
const __DRIconfig *dri_double_config;
};

conf_EGLConfig*
但是当我在 C++ 上尝试这个时,它无法编译。如何在 C++ 上执行此操作以访问其他结构参数?

最佳答案

这看起来像 C 中的继承。对于 C++ 和 C,该标准确保不会对字段进行重新排序。因此,在 C 中,保证基字段地址与整个结构相同。

C 中的 dri2_egl_config() 似乎是一个普通的 Funktion。在 C++ 中,它将是一个从不返回指针的构造函数。另外,如果必须考虑虚拟信息,C++ 中的寻址会更加复杂。对于没有虚拟方法等的简单情况,如果您知道字段大小,您仍然可以通过地址偏移量进行寻址。但这需要强制转换才能使指针类型保持一致。因此, dri2_egl_config() 似乎返回一个 dri2_egl_config *。这都是直截了当的 C.

关于c++ - 如何加载知道第一个元素的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572710/

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