zy_蓝桥杯_C++学习系列一_语法基础

C++语法基础三

1. C++优势

  • 更便捷的输入输出:使用更简洁的cin和 cout

  • 强大的STL库:C++提供了丰富的数据结构和算法库,让我们能够快速实现复杂功能,

    如: vector:动态数组、

    queue、stack:队列和栈、

    set、map:集合和映射、

    sort、binary_search等算法

for循环

  • 基于范围的for循环
vector<int> arr = {1, 2, 3, 4, 5};

// 传统方式
for (int i = 0; i < arr.size(); i++) {
    cout << arr[i] << " ";
}

// C++11范围for循环
for (int x : arr) {
    cout << x << " ";
}

// 如果需要修改元素,使用引用
for (int& x : arr) {
    x *= 2;  // 将每个元素乘以2
}
  • auto关键字(能够让编译器自动推导变量类型,简化代码)
vector<int> arr = {1, 2, 3, 4, 5};

// 传统方式:需要写出完整类型
for (vector<int>::iterator it = arr.begin(); it != arr.end(); it++) {
    cout << *it << " ";
}

// 使用auto:编译器自动推导类型
for (auto it = arr.begin(); it != arr.end(); it++) {
    cout << *it << " ";
}

// 更简洁的范围for + auto
for (auto x : arr) {
    cout << x << " ";
}
map<string, vector<int>> data;
// 传统方式
for (map<string, vector<int>>::iterator it = data.begin(); it != data.end(); it++) {
    // 处理数据
}

// 使用auto
for (auto& pair : data) {
    string key = pair.first;
    vector<int>& values = pair.second;
    // 处理数据
}

快速输入输出

ios::sync_with_stdio(false):取消C++流与C标准流的同步,提高效率

cin.tie(nullptr):取消cin与cout的绑定,进一步提速

2、STL架构

  • STL主要包含以下六大组件:

    容器(Containers):存储数据的数据结构

    迭代器(Iterators):用于访问容器元素的"指针"

    算法(Algorithms):各种常用算法的实现

    函数对象(Function Objects):行为类似函数的对象

    适配器(Adapters):用来修饰容器、迭代器或函数对象的接口

    分配器(Allocators):负责空间配置与管理

posted on 2025-12-15 21:08  kio与  阅读(0)  评论(0)    收藏  举报