为什么bsearch返回一个void *?

前端之家收集整理的这篇文章主要介绍了为什么bsearch返回一个void *?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
void * bsearch ( const void * key,const void * base,size_t num,size_t size,int ( * comparator ) ( const void *,const void * ) );

如果我传入一个const void * base,那么不应该bsearch也返回一个const void *结果?

解决方法

当你搜索一些东西时,这是一个有效的请求,你可以在找到它之后修改它.如果搜索功能不允许你这样做,这将是太限制性的.当然这样的修改可能会打破后续的搜索,但这是一个不同的事情.

参数是const作为承诺,bsearch本身不会修改它们,这是合理的.

猜你在找的C&C++相关文章