【发布时间】:2014-01-15 20:25:21
【问题描述】:
我遇到了以下代码here,它来自使用邻接矩阵的 Dijkstra 算法的 C++ 实现。
//read in edges keeping only the minimum
for(int i=0; i<E; i++) {
int v1,v2,tmp;
fin >> v1; fin >> v2;
fin >> tmp;
adjmat[v1][v2]<?=tmp; // <?= sets left to min(left,right)
adjmat[v2][v1]<?=tmp;
}
注意最后两行,应用运算符<?=。正如所评论的那样,以下行
adjmat[v1][v2]<?=tmp; // <?= sets left to min(left,right)
将left 设置为min(left,right)。
我以前从未见过这个运算符。我在VS中尝试了代码,它无法编译。它是什么?如何将left设置为min(left,right)?
【问题讨论】:
-
多么愚蠢的一段代码。当您需要在紧跟其后的评论中解释非标准的三字符运算符时,就是您停止使用它的时刻。
标签: c++ operators operator-keyword min