当前位置: 首页 > article >正文

如何把数组作为参数传递给函数(注意,只是传递数组名)?

直接上代码吧:

template<class T, size_t nSize>
void printArray(T(&Array)[nSize]) {
	T* pt = Array;
	for (size_t n = 0; n < nSize; ++n) {
		cout << *(pt + n) << "\t";
	}

	cout  << "\n";
} 

int main() {
 
	int ia[] = {27,210,12,47,109,83};

	char ca[] = "C++";
	 
	  
	printArray(ia);
	printArray(ca);
}

输出:

参考源码:std::begin()  std::end()

 #include<xutility>

_EXPORT_STD template <class _Ty, size_t _Size>
_NODISCARD constexpr _Ty* begin(_Ty (&_Array)[_Size]) noexcept {
    return _Array;
}

_EXPORT_STD template <class _Ty, size_t _Size>
_NODISCARD constexpr _Ty* end(_Ty (&_Array)[_Size]) noexcept {
    return _Array + _Size;
}


int main() {
  
	int ia[] = { 27,210,12,47,109,83 };

	int val = 83;

	int* result = find(begin(ia), end(ia), val);


}

 
可以使你设计的容器能用数组初始化,添加一个构造函数,例如:
    /// <summary>
    /// 用数组初始化列表
    /// </summary>
    /// <typeparam name="nSize"></typeparam>
    /// <param name="_Array"></param>
    /// 创建时间: 2024-10-06     最后一修改时间:2024-10-06
    template<size_t nSize>
    inline _DList(T(&_Array)[nSize]) {
        InitData();
        for (const T& t : _Array) { Add(t); }
    }

用法例子:

int main() {
  
	int ia[] = { 27,210,12,47,109,83 };

	_pn(ia);

	_DList<int> dl = ia; 

	_pn(dl);	

}

输出:


http://www.kler.cn/news/337022.html

相关文章:

  • OJ在线评测系统 微服务高级 网关跨域权限校验 集中解决跨域问题 拓展 JWT校验和实现接口限流降级
  • 【ShuQiHere】 重新定义搜索:本体搜索引擎的时代
  • wsl环境下安装MySQL5.7
  • matlab初学习记录
  • vue双向绑定/小程序双向绑定区别
  • 【高等代数笔记】线性空间(十九-二十四上半部分)
  • 驱动程序-启动内核
  • 在CentOS7上安装mysql
  • 高效数据处理:MapReduce与Hive的实战应用
  • 短剧系统源码短剧平台开发(H5+抖小+微小)部署介绍流程
  • Ollama接口系统详解
  • LabVIEW提高开发效率技巧----点阵图(XY Graph)
  • 什么是守护进程??
  • YOLO11改进|注意力机制篇|引入大核可分离卷积注意力块LSKA
  • 【动态规划-最长公共子序列(LCS)】力扣97. 交错字符串
  • R中的箱线图
  • 人机协作:科技与人类智慧的融合
  • MySQL 实验 7:索引的操作
  • 解锁语言之门:中英文翻译工具全解析
  • 【AI知识点】激活函数(Activation Function)