蘭雅sRGB 个人笔记 https://262235.xyz
提供编程和电脑应用视频教程,工具和源代码
C, C++, Python Programming, Source Code, Video

旧Hexo博客 | Github | IP定位WebAPI | Docker Hub
编程中文文档 | 网盘分享 | 中文Linux命令

准备使用C++写dll用来给 CorelVBA 插件做中英文的语言包,先复习一下vector和map的使用方法


当使用C++中的容器vector时,需要包含头文件<vector>vector是一个动态数组,它可以自动调整大小,可以在运行时添加或删除元素。以下是一个使用示例,展示了vector的基本用法:

#include <iostream>
#include <vector>

int main() {
    // 声明一个整数类型的vector
    std::vector<int> myVector;

    // 添加元素到vector
    myVector.push_back(10);
    myVector.push_back(20);
    myVector.push_back(30);

    // 获取vector的大小
    std::cout << "Vector size: " << myVector.size() << std::endl;

    // 访问vector中的元素
    std::cout << "Elements in the vector: ";
    for (int i = 0; i < myVector.size(); ++i) {
        std::cout << myVector[i] << " ";
    }
    std::cout << std::endl;

    // 使用迭代器遍历vector
    std::cout << "Elements using iterator: ";
    for (std::vector<int>::iterator it = myVector.begin(); it != myVector.end(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << std::endl;

    // 修改vector中的元素
    myVector[1] = 50;

    // 删除最后一个元素
    myVector.pop_back();

    // 获取vector的新大小
    std::cout << "Vector size after modifications: " << myVector.size() << std::endl;

    // 输出修改后的vector
    std::cout << "Modified elements: ";
    for (int element : myVector) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    return 0;
}

这个示例创建了一个整数类型的vector,向其中添加了三个元素,并且演示了访问、修改和删除元素的方法。输出结果将是:

Vector size: 3
Elements in the vector: 10 20 30 
Elements using iterator: 10 20 30 
Vector size after modifications: 2
Modified elements: 10 50 

vector是一个非常强大的容器,可以用于存储各种类型的元素,并且支持动态大小调整,使其成为C++中常用的容器之一。

当使用C++中的容器map时,需要包含头文件<map>map是一种关联容器,它存储键-值对,并根据键来进行快速查找和访问值。以下是一个使用示例,展示了map的基本用法:

#include <iostream>
#include <map>

int main() {
    // 声明一个字符串类型的map,键为字符串,值为整数
    std::map<std::string, int> myMap;

    // 插入键-值对到map
    myMap["Alice"] = 25;
    myMap["Bob"] = 30;
    myMap["Charlie"] = 22;

    // 访问map中的值
    std::cout << "Age of Alice: " << myMap["Alice"] << std::endl;

    // 检查键是否存在
    if (myMap.find("Charlie") != myMap.end()) {
        std::cout << "Charlie's age is " << myMap["Charlie"] << std::endl;
    } else {
        std::cout << "Charlie not found in the map." << std::endl;
    }

    // 使用迭代器遍历map
    std::cout << "All elements in the map: ";
    for (std::map<std::string, int>::iterator it = myMap.begin(); it != myMap.end(); ++it) {
        std::cout << it->first << ":" << it->second << " ";
    }
    std::cout << std::endl;

    // 修改map中的值
    myMap["Bob"] = 35;

    // 删除一个键-值对
    myMap.erase("Alice");

    // 获取map的大小
    std::cout << "Map size after modifications: " << myMap.size() << std::endl;

    // 输出修改后的map
    std::cout << "Modified elements in the map: ";
    for (const auto& pair : myMap) {
        std::cout << pair.first << ":" << pair.second << " ";
    }
    std::cout << std::endl;

    return 0;
}

这个示例创建了一个字符串类型的map,向其中插入了三个键-值对,并且演示了访问、修改和删除键-值对的方法。输出结果将是:

Age of Alice: 25
Charlie's age is 22
All elements in the map: Alice:25 Bob:30 Charlie:22 
Map size after modifications: 2
Modified elements in the map: Bob:35 Charlie:22 

map是一个非常有用的容器,它可以用于存储和查找键值对,非常适合需要快速查找和访问数据的情况。

本原创文章自由转载,转载请注明本博来源及网址 | 当前页面:兰雅sRGB个人笔记 » 准备使用C++写dll用来给 CorelVBA 插件做中英文的语言包,先复习一下vector和map的使用方法