gpt4 book ai didi

c++ - 跨多个文件共享枚举的正确方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:54 25 4
gpt4 key购买 nike

我想在当前 (C++) 项目的客户端和服务器部分使用相同的枚举,但我不确定执行此操作的正确方法。我可以很容易地将枚举写在它自己的文件中,然后将其包含在两个文件中,但感觉这是一种不好的做法。将它放在命名空间中然后将其包含在两者中是否是正确的方法?

我知道这有点主观,如果有更好的“最佳实践”问题,请告诉我。

编辑(详细说明):我正在将数据从客户端发送到服务器,在这种情况下,我想告诉客户端状态的变化。但是,我想避免每次更改状态时都发送构成状态的所有信息,而是只想发送一个引用数组中索引的数字。所以,我认为最好的方法是使用枚举,但我需要在客户端和服务器上使用相同的枚举,以便它们都能理解这个数字。希望这是有道理的。

最佳答案

将它放在头文件中似乎是合理的,将它包装在命名空间中也很有用。我发现自己用枚举做的事情是

whatevsenum.hpp 的内容:

namespace whatevs
{
enum Enum
{
FOO = 0,
BAR,
BLARGH,
MEH,
SIZE
};
} // namespace whatevs

然后每当我需要在其他地方的头文件/源文件中使用它时:

#include "whatevsenum.hpp"

void do_something_with(whatevs::Enum value)
{
// do stuff
}

...

do_something_with(whatevs::FOO);

关于c++ - 跨多个文件共享枚举的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133080/

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