gpt4 book ai didi

c++ 三元运算符使用

转载 作者:搜寻专家 更新时间:2023-10-31 02:15:34 24 4
gpt4 key购买 nike

我正在使用 C++ 工作。我有两个涉及三元运算符的语句。

std::stack<Node*> s;
int depth = 0;
/*modify depth integer and stack size, based on height of BST*/
depth = s.size() > depth ? s.size() : depth;

std::stack<Node*> s;
int depth = 0;
/*modify depth integer and stack size, based on height of BST*/
s.size() > depth ? depth = s.size() : depth = depth;

我的问题是:是否有一种标准方法可以使用三元运算符为变量赋值?这些形式中的一种是否比另一种更有效、更简洁或更好

第二个例子似乎比第一个更多余。

编辑:添加了 sdepth 都在三元运算符之前修改的注释。

最佳答案

三元表达式主要用于它产生的值。可以滥用它并只使用它的副作用,但这种构造最好留给普通的 if 语句。因此,第一个示例是三元表达式的惯用用法(尽管正如评论指出的那样,在这种特殊情况下可能不合适),而第二个示例则不是。

关于c++ 三元运算符使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38343457/

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