我想改进我的代码,是否有其他方法为 parent->值[i-1] 确定别名?
问题是值[i-1]并不是真正的意图揭示,但是参考花费了一些运行时间。
if (belegt < k) {
if (prev && prev->belegt > k && prev->parent == parent) {
for (size_t i = 0; i <= parent->belegt; i++) {
if (parent->leafptr[i] == this) {
Key &above = parent->values[i - 1];
Key &previous = prev->values[prev->belegt - 1];
add(above, leafptr[0]);
leafptr[0] = prev->leafptr[prev->belegt];
leafptr[0]->setParent(this);
parent->replace_rekursiv(above, previous);
prev->belegt--;
break;
}
}
我想到了像
这样的东西using above = previous = prev->values[prev->belegt - 1];
但那不会有诀窍吗?
答案 0 :(得分:2)
有没有其他方法可以为parent-&gt; values [i-1]指定别名?
据我所知,唯一的好方法是创建一个引用并使用此引用,如下所示:
Key &above = parent->values[i - 1];
您对运行时成本的假设似乎是不正确的 - 任何理智的编译器都会优化此代码,因此您可能不会打扰。