C++容器之array

C++ array容器

特点

array是固定大小数组。

C++中,array是一个模板类,提供了数组的功能,在许多方面比原始的 C 风格数组更为强大和灵活。

主要特点

  1. 固定大小: std::array 的大小在编译时确定,运行时无法修改。
  2. 包含全部 STL 功能: std::array 支持 STL 的所有算法和迭代器。
  3. 直接存储元素: 元素直接存储在 std::array 对象内部,而非动态分配内存。
  4. 支持范围 for 循环: 方便的与范围 for 循环结合使用。
  5. 成员函数和属性: 提供许多成员函数,例如 size()、fill() 和 swap() 等。

第1/2段示例代码

简单常用API

// CMake_LeetCodeHot100.cpp: 定义应用程序的入口点。
//

#include "CMake_LeetCodeHot100.h"
#include <vector>
#include <iostream>
#include <algorithm>

#include <array>
#include <iostream>
#include <ctime>
#include <stdlib.h>
using namespace std;

#define ASIZE 100000

void test_array() {

	cout << "\ntest_array()...\n";
	
	array<int, ASIZE> a;

	clock_t timeStart = clock();	// 开始时间

	for (int i = 0; i < ASIZE; i++) {
		a[i] = i;
	}
	cout << "milli-seconds:" << (clock() - timeStart) << endl;
	// 输出数组大小
	cout << "array.size():" << a.size()<<endl;
	// 输出数组第一个元素
	cout << "array.front():" << a.front() << endl;
	// 输出数组最后一个元素
	cout << "array.back():" << a.back()<<endl;
	// 输出数组中第一个元素的地址,可用于一块区域整体赋值
	cout << "array.data():" << a.data() << endl;
}


int main()
{
	test_array();
    
	getchar();
	return 0;
}

在这里插入图片描述

第2/2段代码

另外一段参考代码:

// CMake_LeetCodeHot100.cpp: 定义应用程序的入口点。
//

#include "CMake_LeetCodeHot100.h"
#include <iostream>
#include <algorithm>
#include <array>

using namespace std;

#define ASIZE 100000

int main()
{
    // 声明一个包含 5 个整数的 array
    std::array<int, 5> arr = { 1, 2, 3, 4, 5 };

    // 输出 array 的大小
    std::cout << "arr size: " << arr.size() << std::endl;

    // 使用范围 for 循环输出元素
    std::cout << "Elements in arr: ";
    for (const auto& element : arr) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    // 使用 std::fill 填充 array
    arr.fill(10);
    std::cout << "After fill: ";
    for (const auto& element : arr) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    // 交换两个 array
    std::array<int, 5> arr2 = { 5, 4, 3, 2, 1 };
    arr.swap(arr2);
    std::cout << "After swap: ";
    for (const auto& element : arr) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    // 使用 std::sort 对 array 进行排序
    std::sort(arr.begin(), arr.end());
    std::cout << "After sort: ";
    for (const auto& element : arr) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    
	getchar();
	return 0;
}

在这里插入图片描述

相关推荐

  1. C++中常见容器总结Array-Vector-List-Queue-Stack-Map-Set

    2024-07-20 08:10:02       27 阅读
  2. C++ -- Array 学习

    2024-07-20 08:10:02       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 08:10:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 08:10:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 08:10:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 08:10:02       55 阅读

热门阅读

  1. 八部金刚功1.1.0-冥想1.3.4

    2024-07-20 08:10:02       18 阅读
  2. 阿里云服务器 篇四:404页面模板

    2024-07-20 08:10:02       16 阅读
  3. .NET单元测试使用AutoFixture按需填充的方法总结

    2024-07-20 08:10:02       17 阅读
  4. VBA中如何使用Edge内核Browser?

    2024-07-20 08:10:02       17 阅读
  5. 【Oracle】Oracle中的merge into

    2024-07-20 08:10:02       11 阅读
  6. Milvus核心组件(2)---- etcd 详解

    2024-07-20 08:10:02       16 阅读
  7. 正则表达式在Python中的应用

    2024-07-20 08:10:02       17 阅读
  8. 源码解析Spring AOP的加载与生效

    2024-07-20 08:10:02       16 阅读
  9. 靖江美食元宇宙

    2024-07-20 08:10:02       17 阅读
  10. 巨魔商店(TrollStore)介绍与使用指南

    2024-07-20 08:10:02       17 阅读
  11. 【Qt】QTcpServer/QTcpSocket通信

    2024-07-20 08:10:02       16 阅读
  12. Compose_Modifier 修饰符的常见使用

    2024-07-20 08:10:02       20 阅读