gpt4 book ai didi

c++ - 我在理解特定语法时遇到麻烦

转载 作者:行者123 更新时间:2023-12-02 09:47:40 41 4
gpt4 key购买 nike

我无法理解一段代码中特定语法的作用。我了解代码的总体效果,我只是想确切地了解代码的工作原理,因此不再仅仅是“魔术”。
我遇到麻烦的那一行是最后一行,但是我确实理解=运算符之前发生了什么。我难以理解的部分是操作数之后发生的事情。更具体地说,这部分是:

L" ABCDEFG=#"[pField[y*fieldWidth + x]];
较高级别的代码旨在遍历2D数组,然后将其转换为1D数组,检查每个片段以获取其持有的int值,然后在该数组中的该位置绘制一个特定的符号,然后在其中显示终点站。
不知道这是否重要,但是您可能需要上下文。数组pField是一个将寄宿生保留到实际游戏中的数组,如果该数组的一部分代表寄宿生,则包含9,否则包含0。实际上已经存在与pField数组相关的堆栈溢出,请把它留在这里 I'm having trouble understanding the syntax used in a piece of code
我的问题是,我了解代码的高级功能,但我不了解使代码执行其应有的功能的语法, L" ABCDEFG=#"[pField[y*fieldWidth + x]]; 是我实际上不确定自己要做什么的语法在看,甚至这叫什么。
这是完整的循环和逻辑结构:
wchar_t *screen = new wchar_t[nScreenWidth*nScreenHeight];

for (int x = 0; x < fieldWidth; x++)

for (int y = 0; y < fieldHeight; y++)

screen[(y + 2)*nScreenWidth + (x + 35)] = L" ABCDEFG=#"[pField[y*fieldWidth + x]];

最佳答案

L" ABCDEFG=#"[pField[y*fieldWidth + x]]; is the piece of syntax whereI really just am not sure what I'm looking at, or even what this iscalled.


让我们分解一下,所以下面
L" ABCDEFG=#"
有类型
wchar_t const (&) [11]
你可以用
static_assert(std::is_same_v<decltype(L" ABCDEFG=#"), wchar_t const (&) [11]>);

代码正在执行的操作是使用以下结果索引到该数组中:
pField[y*fieldWidth + x]

关于c++ - 我在理解特定语法时遇到麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64235474/

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