gpt4 book ai didi

c++ - 解释以下C++代码部分

转载 作者:行者123 更新时间:2023-11-28 01:06:59 28 4
gpt4 key购买 nike

//class start--

//Global variable

static PMSK *savepr;
static PRC *prs;

//inside some method

static PMSK wkpm;
PMSK *pm;

if (ipf) {
k = to_bits(312, &msk); // This will return k=24 and msk =char(00000001),
if ( pm->orbits[k] & msk ) // See the answer of my previous question.
prs[i].pccused = 1;
}

to_bits 方法请看链接

Explain the following C++ method

我不熟悉 C++ 编码。第二个 if block 中发生了什么?并解释变量声明?

谢谢

最佳答案

如果我没理解错的话,你想了解 if 子句:

if ( pm->orbits[k] & msk ) 包含 bitwise-AND operator ,它采用 pm->orbits[k] 的位和 msk 的位并返回两个值中的那些位(即“AND”部分)。

例如:
0010 1101 & 1010 1010 = 0010 1000

编辑:我建议你阅读 a good beginners C++ book了解pointers (->) 和数组 ([k])。

因为你没有提供有关 PMSK 类型的信息,我不知道 mp->orbits[k] 会给你什么,除此之外:PMSK 结构或类似乎包含一个名为轨道,pm->orbits[24] 表示它的第 25 个(不是第 24 个!)元素。

关于c++ - 解释以下C++代码部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5577225/

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