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
,只将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