C++学习笔记(三十四):c++ array

这篇具有很好参考价值的文章主要介绍了C++学习笔记(三十四):c++ array。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本节介绍c++标准库模板中的array和c风格的array的区别,及什么时候使用std::array。文章来源地址https://www.toymoban.com/news/detail-817965.html

  • #include <iostream>
    #include <array>
    
    template<int N>
    void PrintArray(std::array<int,N> array)
    {
    	for (int i = 0; i < array.size(); i++)
    	{
    		std::cout << (array.begin() + i)[0] << std::endl;
    	}
    }
    
    int main()
    {
    	//std::array方式
    	std::array<int, 5> array;
    	array[0] = 1;
    	array[1] = 1;
    	array[2] = 1;
    	array[3] = 9;
    	array[4] = 4;
    	//C风格方式
    	int arrayC[5];
    	arrayC[0] = 0;
    	arrayC[4] = 8;
    
    	PrintArray<5>(array);
    	//当将一个array当作一个参数传递给一个函数,在函数中需要知道array的长度的时候
    	//可以使用std::array,用C风格的话只能在函数的参数中传入array的长度
    	//同时可以使用大量的stl算法对std::array进行操作,例如std::sort
    	//std::array会做一些类似边界检查的操作,如果预定义了指定的宏_CONTAINER_DEBUG_LEVEL
        //两种方式都是在栈上进行创建,所以性能方面没啥差别,但std::array新增了边界检查等
        //建议使用std::array
    	
    	std::cin.get();
    }

到了这里,关于C++学习笔记(三十四):c++ array的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始学习JAVA | 三十四篇】IO流

    目录 前言: IO流介绍: IO流的常见方法: 1.字节流类: 2.字符流类: 总结:                 IO流就是存入和读取数据的解决方案,并且他是一个知识点很多的章节,因此我们关于IO流的介绍会分为多篇来进行详解,而掌握好IO流可以大大提高我们的效率,简化我们的代码执

    2024年02月13日
    浏览(106)
  • Android问题笔记三十四:Android Studio编译报错:2 files found with path.....

    点击跳转=Unity3D特效百例 点击跳转=案例项目实战源码 点击跳转=游戏脚本-辅助自动化 点击跳转=Android控件全解手册 点击跳转=Scratch编程案例 点击跳转=软考全系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、工具、素材、源码、游戏等) 有什么需要欢

    2024年02月07日
    浏览(44)
  • 从零开始学习 Java:简单易懂的入门指南之多线程(三十四)

    1.1简单了解多线程 是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 1.2并发和并行 并行:在同一时刻,有多个指令在多个CPU上同时执行。 并发:在同一时刻,有多个指令在单个CPU上交

    2024年02月08日
    浏览(68)
  • k8s学习(三十四)飞腾2000+麒麟V10离线部署k8s

    需要在飞腾芯片和麒麟V10操作系统下安装k8s,目前在飞腾2000下安装成功,飞腾2500还没有成功,现介绍飞腾2000下的安装流程。 准备多台机器,其中一台作为K8S主节点,其他作为从节点。 这里只准备了2台机器,一台作为主节点,一台作为从节点。 k8s版本为1.20.2 功能 IP k8s主节

    2024年02月01日
    浏览(89)
  • C++学习笔记——从面试题出发学习C++

    C++博大精深,在学习过程中我也有看过《Effective C++》、《Efficient C++》、《C++ Prime》这样一些C++的经典大作,但是个人感觉是由于语法太多,很难抓住重点,在工作中如果不很经常用到某个语法,即使在书籍上有看过也会很快忘记。而刷面试题是一个很好的查漏补缺的方式,

    2024年02月13日
    浏览(41)
  • c++标准模板(STL)(std::array)(三)

    template     class T,     std::size_t N struct array; (C++11 起   std::array 是封装固定大小数组的容器。 此容器是一个聚合类型,其语义等同于保有一个 C 风格数组 T[N] 作为其唯一非静态数据成员的结构体。不同于 C 风格数组,它不会自动退化成 T* 。它能作为聚合类型聚合初始化,只要

    2024年02月02日
    浏览(48)
  • 力扣C++学习笔记——C++ assign全面解析

    c++assign是一个C++20标准中新增的头文件,主要提供了assign函数, 用于将一个容器内的元素按照特定规则赋值到另一个容器中 。它是STL容器操作的重要一环,具有高效、简洁、易用的特点。 assign函数有多个版本,一般使用的是容器类型相同或相似的版本。使用起来非常方便,

    2024年03月20日
    浏览(37)
  • C++学习笔记(四十):c++ 预编译头文件

    本节介绍c++预编译头文件。 预编译头文件是指抓取一堆头文件,并将其转换成编译器可使用的格式,不需要多次去读取这些头文件。  例如经常使用一些c++stl的标准库,vector等,需要#includevector,该操作会读取整个vector头文件并编译该头文件。同时vector也包含一堆其他头文件

    2024年01月17日
    浏览(40)
  • 【C++ STL之string,tuple,array详解】

    在C++的STL(Standard Template Library)中,std::string是一个非常有用的字符串类。它提供了一系列操作字符串的功能,包括字符串的创建、修改、查找、拼接等。本文将详细介绍C++ STL中std::string的使用方法和一些常见操作。 (1) 支持比较运算符 string字符串支持常见的比较操作符(

    2024年02月12日
    浏览(50)
  • C++学习笔记——用C++实现树(区别于C)

    树是一种非常重要的数据结构,它在计算机科学中的应用非常广泛。在本篇博客中,我们将介绍树的基本概念和C++中如何实现树。 目录 一、树的基本概念 2.C++中实现树 2.1创建一个树的实例,并向其添加节点 2.2三种遍历方式的实现代码 3.与C语言相比 3.1C++与C语言的一些不同之

    2024年01月17日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包