返回值是数组的a[0:n-1]的数组个数。
知识点:数组的两个特殊性质对我们定义和使用作用在数组上的函数有影响,这两个性质分别是:不允许拷贝数组以及使用数组时(通常)会将其转换成指针。因为不能拷贝数组,所以我们无法以值传递的方式使用数组参数。因为数组会被转换成指针,所以当我们为函数传递一个数组时,实际上传递的饰指向数组首元素的指针。
ex:
void print(const int*);
void print(const int[]);
void print(const int[10])
答案:
template <class T> T count(const T *beg,const T *end) { int n = 0; while (beg != end) { *beg++; n++; } return n; }
能运行代码如下:
#include <iostream> using namespace std; int count(const int *beg, const int *end) { int n = 0; while (beg != end) { *beg++; n++; } return n; } int main() { int a[] = { 1,2,3,4 }; cout << count(begin(a), end(a)) << endl; return 0; }
时间: 2024-11-17 11:20:23