gpt4 book ai didi

c++ - 三元条件结果的方法

转载 作者:搜寻专家 更新时间:2023-10-31 00:27:45 26 4
gpt4 key购买 nike

在三元条件的结果中使用方法是否被认为是不好的风格?类似的东西:

(node->parent()->left() == node ? node->parent()->left()
: node->parent()->right()).reset();

我知道代码风格可能是主观的,但我仍然希望我能得到一些建议,就像使用它一样,或者更确切地说,写一些像这样的东西:

if (node–>parent()–>left() == node) {
node->parent()->left().reset()
} else {
node–>parent()->right().reset()
}

(来自评论)关于:

auto& childUnq = node->parent()->left() == node ? node->parent()->left()
: node->parent()->right();
childUnq.reset();

最佳答案

我强烈推荐另一种选择:

auto& left = node->parent()->left();
auto& right = node->parent()->right();
auto& pick = (left==node) ? left : right;
pick.reset();

通过引入简单的名称,很清楚发生了什么。三元运算符本身并不坏,但挑战在于仅在简单的上下文中使用它。

关于c++ - 三元条件结果的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47897973/

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