繁体   English   中英

Why we use pointer to integer for max stl function instead for size_t data type(which is generally use) for array of characters in c++?

[英]Why we use pointer to integer for max stl function instead for size_t data type(which is generally use) for array of characters in c++?

我正在解决一个问题,需要找到最大字符(按字母顺序,或者我们可以根据 ASCII 值说),发现 size_t 数据类型不能用于从算法 header 文件中定义的最大 function 返回而不是我找到指针到 integer 。

下面是我有疑问的一段代码:

int v[] = { 'a', 'c', 'k', 'd', 'e', 'f', 'h' };

int* i1; 

i1 = std::max_element(v, v + 4); 

谁能解释我为什么? 提前致谢:-)

因为 std::max_element 不仅是 arrays 的 function。 它是一个适用于任何迭代器的 function。 并且索引只对随机访问容器有意义,因此使用索引作为返回值会不必要地限制算法的接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM