[英]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.