c++array详解

一、c++array容器

c++array是std命名空间下的一个容器,其使用数组来存储和管理元素。c++array的好处是可以在编译时确定容器大小,同时支持随机访问和元素插入和删除。

#include <array>
#include <iostream>
using namespace std;

int main (){
  array<int,3> myarray {10,20,30};

  for (int i=0; i<myarray.size(); ++i)
    cout << myarray[i] << " ";

  return 0;
}

使用array来创建一个整型数组并初始化size为3,输出结果为: 10 20 30。

二、c++arraylist remove没反应

c++arraylist是一个动态数组,可以在运行时自由地插入和删除元素。与c++array不同,c++arraylist的大小不是在编译时确定的,而是可以动态改变的。

#include <list>
#include <iostream>
using namespace std;

int main (){
  list<int> mylist {10, 20, 30, 40, 50};

  mylist.remove(30);

  for (auto it=mylist.begin(); it!=mylist.end(); ++it)
    cout << ' ' << *it;

  return 0;
}

使用c++arraylist来创建整型数组并初始化,删除元素值为30的元素,输出结果为: 10 20 40 50。

三、c++array排序sort

c++array提供了一个sort函数来排序元素,默认是按照小到大排序。sort函数适用于所有支持小于操作符(<)的类型。

#include <array>
#include <iostream>
#include <algorithm>
using namespace std;

int main (){
  array<int,5> myarray {32, 11, 33, 4, 77};

  sort(myarray.begin(), myarray.end());

  for (int i=0; i<myarray.size(); ++i)
    cout << ' ' << myarray[i];

  return 0;
}

使用sort函数对数字数组进行排序,输出结果为: 4 11 32 33 77。

四、c++array引用类型

c++array的元素是引用类型,这意味着当你通过容器访问元素时,它将返回一个元素的引用而不是元素本身。

#include <array>
#include <iostream>
using namespace std;

int main (){
  array<int,5> myarray {32, 11, 33, 4, 77};

  int& ref = myarray[2];

  ref = 100;

  for (int i=0; i<myarray.size(); ++i)
    cout << ' ' << myarray[i];

  return 0;
}

在这个例子中,我们将myarray容器中索引为2的元素的引用存储在ref变量中,并将该元素的值更改为100。最终,输出结果为: 32 11 100 4 77。

五、c++array复制copy

使用c++array的copy函数可以将一个数组复制到另一个数组中。

#include <array>
#include <iostream>
#include <algorithm>
using namespace std;

int main (){
  array<int,5> myarray {1, 2, 3, 4, 5};
  array<int,5> myarray2;

  copy(myarray.begin(), myarray.end(), myarray2.begin());

  for (int i=0; i<myarray2.size(); ++i)
    cout << ' ' << myarray2[i];

  return 0;
}

这个例子将myarray复制到myarray2中,并输出复制后的myarray2。输出结果为: 1 2 3 4 5。

六、c++arraylist类

c++arraylist是库中的另一个类,动态数组可用于在运行时插入和删除元素。它还提供其他功能,例如push_back添加元素,pop_back删除元素,与引用相关的函数等。

#include <list>
#include <iostream>
using namespace std;

int main (){
  list<int> mylist {10, 20, 30, 40, 50};

  mylist.pop_back();

  for (auto it=mylist.begin(); it!=mylist.end(); ++it)
    cout << ' ' << *it;

  return 0;
}

这个例子使用pop_back函数删除动态数组的最后一个元素,并输出剩余元素。输出结果为: 10 20 30 40。

七、c++array的初始化

c++array的初始化方式很多,可以使用默认初始化、列表初始化、值初始化、括号初始化等。

#include <iostream>
#include <array>
using namespace std;

int main () {
  array<int,5> myarray1;           // 初始化为空
  array<int,5> myarray2 = {};     // 初始化为0
  array<int,5> myarray3 {1,2,3};  // 1 2 3 0 0
  array<int,5> myarray4 {1,2};    // 1 2 0 0 0
  array<int,5> myarray5 (myarray3);   // 复制myarray3

  return 0;
}

在这个例子中,展示了5种初始化方式。其中myarray1为空,myarray2初始化为0,myarray3初始化前3个为1,2,3,后2个为0,myarray4初始化前2个为1,2,后3个为0,myarray5复制了myarray3。

八、c++array字符串

c++array在处理字符串时非常方便,可以使用数组名称作为字符串。

#include <iostream>
#include <array>
#include <string>
using namespace std;

int main () {
  array<string,3> myarray = {"hello", "world", "c++array"};

  for (int i=0; i<myarray.size(); ++i)
    cout << myarray[i] << " ";

  return 0;
}

在这个例子中,使用c++array创建字符串数组并初始化。并输出结果。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/292078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-25 14:07
下一篇 2024-12-25 14:07

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论