【发布时间】:2018-02-22 21:58:32
【问题描述】:
我在plumed中看到了如下代码,很困惑:
void ActionAtomistic::makeWhole() {
for(unsigned j=0; j<positions.size()-1; ++j) {
const Vector & first (positions[j]);
Vector & second (positions[j+1]);
second=first+pbcDistance(first,second);
}
}
谁能告诉我这里用什么“&”?我用谷歌搜索了“类和变量之间的 c++ & 符号”,但没有找到答案。
更新:我知道什么是引用,但认为 Vector 和“&”之间不应该有任何空格。谢谢你们澄清这一点。
【问题讨论】:
-
表示
Vector&的类型。它是一个引用类型。有关该主题的更多信息:reference declaration. -
I googled "c++ ampersand between class and variable" but did not find the answer.有趣。使用该查询的第一个谷歌搜索结果会导致答案。 -
"认为 Vector 和 "&"" 之间不应该有任何空格 - 在这种情况下空格无关紧要。
const Vector& first,const Vector &first,const Vector & first,它们都是一样的。
标签: c++