gpt4 book ai didi

c++ - C++中的按位设置

转载 作者:太空狗 更新时间:2023-10-29 23:38:04 25 4
gpt4 key购买 nike

enum AccessSource
{
AccessSourceNull = 0x00000001,
AccessSourceSec = 0x00000002,
AccessSourceIpo = 0x00000004,
AccessSourceSSA = 0x00000008,
AccessSourceUpgrade = 0x00000010,
AccessSourceDelta = 0x00000020,
AccessSourcePhoneM = 0x00000040,
AccessSourceSoft = 0x00000080,
AccessSourceCR = 0x00000100,
AccessSourceA = 0x00000200,
AccessSourceE = 0x00000400,
AccessSourceAll = 0xFFFFFFFF
};

AccessSourceAll 的值是多少??是-1吗?还是最大值?我有一个参数 ULONG x ,其默认值为 AccessSourceAll(这意味着访问所有)。如何仅删除 AccessSourceE 的访问权限?如何重新添加AccessSourceE的访问权限?

如果我在 x 中有一个特定的值,那么我如何知道是否设置了 AccessSourceE?

最佳答案

AccessSourceAll 的值是 (int)0xFFFFFFFF 因为枚举在 C 中是 int 类型。

未设置只是 AccessSourceE 使用:

x & ~AccessSourceE  // to assign: x &= ~AccessSourceE;

添加,使用

x | AccessSourceE  // to assign: x |= AccessSourceE;

测试,

if (x & AccessSourceE) { ... }

关于c++ - C++中的按位设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2577934/

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