C++初阶 —— 简介

C语言适合小型程序和结构化编程,但对于复杂和大规模的软件项目,其局限性明显。面向对象编程(OOP)应运而生,C++作为C语言的扩展,支持过程化、抽象数据类型和面向对象编程,提供了更强大的软件设计能力。
  • C语言是结构化和模块化的语言,适合处理较小规模的程序;
  • 对于复杂问题,规模较大的程序,需要高度抽象和建模时,C语言就不合适了;
  • 20世纪80年代,计算机界提出了OOP(object oriented programming)面向对象思想;
  • C++是基于C语言产生的,即可进行C语言的过程化程序设计,也可进行以抽象数据类型为特点的基于对象的程序设计,还可进行面向对象的程序设计;

C++ 标准库

        C++ 标准库是 C++ 编程语言的核心组成部分,提供了一系列经过充分测试和高度优化的可重用组件和工具;极大地提高开发效率,让程序员能够专注于业务逻辑而不是底层实现细节,是现代C++编程不可或缺的工具集;没有标准库,每个C++程序都会变得极其复杂和冗长;一般路径为:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include;

核心作用是提供基础构建块,避免重复造轮子

主要功能:

  • 数据存储和管理,如<string>、<vector>、<map>等;

  • 算法处理,如<algorithm>、<numeric>等;

  • 输入输出操作,如<iostream>、<fstream>等;

  • 内存管理,如<memory>等;

  • 多线程编程,如<thread>、<mutex>等;

优势:

  • 高效性,如容器和算法是经过高度优化的;
  • 可移植性,同一个代码可在不同平台运行;
  • 类型安全,编译时类型检查;
  • 内存安全,智能指针自动管理生命周期,无需手动delete,自动防止内存泄漏;
C++ Standard Library
├── Standard Template Library (STL)    - 标准模板库
├── Input/Output Library               - 输入输出库  
├── C Standard Library                 - C标准库
├── Concurrency Library                - 并发库
└── Other Utilities                    - 其他工具

标准模板库STL

  • 容器,数据存储:
    • 序列容器:vector、list、forward_list、deque、array;
    • 关联容器:set、map、unordered_set、unordered_map;
    • 适配器:stack、queue;
  • 算法,数据处理:
    • <algorithm>、<numeric>;
  • 迭代器,访问桥梁:
    • Iterators;

注,std(standard)是 C++ 标准库中所有标识符所在的命名空间,包含整个C++标准库,用于避免命名冲突和组织代码;

// 在 <vector> 头文件中大致是这样的结构:
namespace std {
    template<typename T, typename Allocator = allocator<T>>
    class vector {
        // vector 的实现
    };
    
    // 相关的非成员函数
    template<typename T>
    bool operator==(const vector<T>&, const vector<T>&);
    
    // 其他相关定义...
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值