:: before array 在下面的代码中显式地在 C++ 中意味着啥? [复制]
Posted
技术标签:
【中文标题】:: before array 在下面的代码中显式地在 C++ 中意味着啥? [复制]【英文标题】:What does :: before array means in C++ explicitly in below code? [duplicate]:: before array 在下面的代码中显式地在 C++ 中意味着什么? [复制] 【发布时间】:2021-12-16 02:16:54 【问题描述】:在下面的代码中,我无法理解数组 add[i]
之前的 ::
是什么意思。谁能给我一个大致的概念,如果在数组数据结构之前添加,这在 c++ 中意味着什么?(这是通用的仅供参考的代码)
#define FOR(ii,aa,bb) for(int ii=aa;ii<=bb;ii++)
FOR(i, 1, n)
scanf("%d %d", &x, &y);
double add = dist(Tx, Ty, x, y);
all += add * 2;
suff[i] = pre[i] = dist(Cx, Cy, x, y) - add;
::add[i] = dist(Kx, Ky, x, y) - add;
【问题讨论】:
您使用的FOR
宏是什么?如果你要编写真正的、惯用的 C++(而不是基本上用 C++ 编写 C),你不应该使用这样的宏。
::
表示::add
驻留在全局范围内。
::
在符号前表示全局命名空间,因此它指的是与上面声明的不同的add
。
伙计们,FOR 仅供参考,现在只添加了定义语句,我认为在这个问题的参考中甚至不重要.....因为我想要一般的和不想要的发布整个代码
【参考方案1】:
这意味着它引用了在全局命名空间中定义的数组add
,而不是在FOR宏后面的代码块中定义的局部变量add
。
通常你只需给局部变量一个不同的名字。而且大多数时候你也不会有一个全局可变变量。
【讨论】:
明白,谢谢以上是关于:: before array 在下面的代码中显式地在 C++ 中意味着啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥你需要在下面的引导手风琴代码中显示 fontawesome chevron 的 "::before" css 修饰符