Fei*_*ren -2 c++ null return-value
**请不要批评代码本身的目的.它来自Pat Morin的开放数据结构书.不是我的第一选择,它的指定阅读/练习.我只是想知道是否有办法区分,或者更好的方法来解决这个问题.教科书 - > http://opendatastructures.org/ods-cpp/**
**另一个注意事项:我来自Java,这是允许的.我的代码仍然编译,它只是"修复"它**
我之前没有出现任何类似的惊喜,因为它似乎是一个如此简单的问题.也许它被埋没了或者我没有使用正确的术语.
我有一个for循环遍历向量中的数据.如果找到它,我需要返回被搜索的值.如果找不到怎么办?这是我的代码.
int find(int x) {
for(int i=0;i<bag.size();i++){
// if x is equal to data, return data
if (bag[i]==x){
return bag[i]; // ends loop as soon as one instance is found
}
}
// if we made it this far, no match was found.
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
很简单.假设0是我可能需要记录和搜索的有效值之一.实际上,它实际上返回0,而不是"NULL".研究称这是一回事.我该如何指定或区分?除了返回一个不会出现在程序中的数字,因为我们可能并不总是那么奢侈(如-1或-9999999).例如,搜索您的帐户余额.没有数字是不可能的.
为什么要从查找函数返回您要搜索的值?您已经知道了值,它是您传递给函数的值.返回找到的元素的位置,因为这个信息更有用.找不到该值时,可以返回一个特殊位置,如-1.或者,您可以遵循标准库的模型并返回结束迭代器,它表示超出范围结束的位置.
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |