64,690
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
template <typename T, std::size_t Num>
T* begin(T (&Container)[Num]){
return Container;
}
template <typename T, std::size_t Num>
T* end(T (&Container)[Num]){
return (Container + Num);
}
int main(){
int num[] = {1,2,3,4,5,6};
std::cout << begin(num) <<": val is " << *begin(num) << std::endl;
std::cout << end(num) - 1 <<": val is " << *(end(num) - 1) << std::endl;
std::cout << end(num) << std::endl; //将打印最后一个元素后面的的地址
}
begin(T (&Container)[Num]){
注意Container是个数组,如果num[size]是]带入到模板参数数是自动的把size带入为模板参数Num
不知我讲的你能听懂否?