gpt4 book ai didi

c - 包装类成员访问

转载 作者:行者123 更新时间:2023-11-30 15:53:17 24 4
gpt4 key购买 nike

所以我有一个带有哨兵节点的通用双链接队列结构:

// Queue node:
struct _QNode {
struct _QNode *prev; /* Previous list element. */
struct _QNode *next; /* Next list element. */
};
typedef struct _QNode QNode;

// Queue object:
struct _Queue {
QNode front; // sentinel node at the front of the queue
QNode rear; // sentinel node at the tail of the queue
};

还有一个“duct-tape”结构,用于将整数值加载到队列节点中

struct _Tape {
int32_t payload; // user data field
QNode node; // generic node
};

以及一个将两者结合起来的包装类 IntegerQueue。

我的问题是如何访问您尝试弹出的给定节点的有效负载变量?

最佳答案

利用您所拥有的,您可以构建漂亮的 QNode 列表。但是,如果您有一个此类 QNode 的队列,则只能访问其中的 QNode,而不能访问您的磁带,至少不能以可接受的方式访问(您可能会争辩说,每个 QNode 都包含在磁带结构中,因此减去一些从 QNode 地址获取磁带地址的值,但如果其他人看到它,你就会被 Gunicorn )。
所以我认为你必须以某种方式将你的有效负载放入 QNode 中。如果您使用 C++,那么您可以使用模板以通用方式执行此操作,在这里您可以使用宏,或者在队列中使用空指针,然后将其转换为您的有效负载类型(这再次让您中枪)。

关于c - 包装类成员访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13773785/

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