gpt4 book ai didi

C++语句可以简化

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:21:10 25 4
gpt4 key购买 nike

为这个蹩脚的问题道歉。我正在为我的 C++ 类(class)使用 Intellij Clion Student 许可版本。作为实现 UnsortedList 类的一部分,我们必须编写一个方法 isInTheList 来查看数组中是否存在元素。类实现如下

bool UnsortedList::isInTheList(float item) {

for (int i = 0; i < length; i++) {
if (data[i] == item) {
return true;
}
return false;
}
}

但是,ide 在 data[i] == item 处显示一个彩色标记,并弹出一个

Statement can be simplified less... (Ctrl+F1) 
This inspection finds the part of the code that can be simplified, e.g. constant conditions, identical if branches, pointless boolean expressions, etc.

对于先前检查列表是否为空的方法,我使用了以下简化形式而不是 if-else 语句。

bool UnsortedList::isEmpty() {
return (length == 0);
}

但是,现在涉及到迭代,我无法在前者中提出一个简化的陈述。任何帮助深表感谢。谢谢。

最佳答案

修复

您的return false 应该移出for 循环。


因为你不小心把它放在了 for 循环中,这个迭代永远不会执行第二次。

因此您的 IDE 认为 for 循环毫无意义,并建议您将其简化为:

return data[0] == item;

这显然不是您想要的。因此,实际上这只是为了使其正确而进行的单行转换。

关于C++语句可以简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48010285/

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