C++数组函数!!!!急!

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:36:54
我只想用一个一维数组的一部分作为函数的实参,例如s[5]={a,b,c,d,e}
,只将s[0]到s[2],传给函数。
C++有函数可以一下,只取s[0..2]吗?
什么意思?是数组,不是string类的数组或string

谁说没有成型的支持,通用算法库algorithm的“通用”二字你理解了吗?

用指针传递来标明位置就可以了,比如找出给定范围内元素的最大值:

#include <stdio.h>

int* Max(int* beg, int* end)
{
int* temp = beg;

while(++beg != end)
temp = *temp > *beg ? temp : beg;

return temp;
}

int main()
{
int a[] = {3,5,1,4,65,76,1,2,5,44};

printf("%d", *Max(a, a+3)); // 求3,5,1中的最大值
}

对数组参数的传递和处理你可以参考STL,传递起始位置和超尾指针在很多情况下是十分方便的。

用算法find.
//用vector当数组来存储.然后再利用find.

C++里对数组没什么成型的函数支持,建议你用vector

我一般都用一种比较笨的办法,就是再建一个只有三个元素的数组再给s[0]~s[2]赋给他。

或者你传三个参数:s,0,2