C++
文章平均质量分 95
c++基础与深度解析
cashapxxx
MVS/SLAM/Java
展开
-
【C++基础】第11章:类
类1 结构体与对象聚合1.1 结构体1.1.1 结构体的声明与定义(注意定义后面要跟分号来表示结束)1.1.2 仅有声明的结构体是不完全类型( incomplete type )1.1.3 结构体(以及类)的一处定义原则:翻译单元级别1.2 数据成员(数据域)的声明与初始化1.2.1 ( C++11 )数据成员可以使用 decltype 来声明其类型,但不能使用 auto1.2.2 数据成员声明时可以引入 const 、引用等限定1.2.3 数据成员会在构造类对象时定义1.2.4 ( C++11 )类内成原创 2021-11-14 15:30:58 · 2722 阅读 · 1 评论 -
【C++ 基础】第10章:泛型算法与Lambda表达式
泛型算法与Lambda表达式1 泛型算法1.1 泛型算法:可以支持多种类型的算法1.1.1 这里重点讨论 C++ 标准库中定义的算法1.1.1.1 1.1.2 为什么要引入泛型算法而不采用方法的形式1.1.2.1 内建数据类型不支持方法1.1.2.2 计算逻辑存在相似性,避免重复定义1.1.3 如何实现支持多种类型:使用迭代器作为算法与数据的桥梁1.2 泛型算法通常来说都不复杂,但优化足够好1.3 一些泛型算法与方法同名,实现功能类似,此时建议调用方法而非算法1.3.1 std::find V.S. std原创 2021-11-08 16:13:51 · 3112 阅读 · 0 评论 -
【C++基础】第9章:序列与关联容器
序列与关联容器1 容器概述1.1 容器:一种特殊的类型,其对象可以放置其它类型的对象(元素)1.1.1 需要支持的操作:对象的添加、删除、索引、遍历1.1.2 有多种算法可以实现容器,每种方法各有利弊1.2 容器分类1.2.1 序列容器:其中的对象有序排列,使用整数值进行索引1.2.2 关联容器:其中的对象顺序并不重要,使用键进行索引1.2.3 适配器:调整原有容器的行为,使得其对外展现出新的类型、接口或返回新的元素1.2.4 生成器:构造元素序列1.3 迭代器:用于指定容器中的一段区间,以执行遍历、删除等原创 2021-10-31 18:56:57 · 3018 阅读 · 0 评论 -
【C++基础】第8章:动态内存管理
1 动态内存基础1.1 栈内存 堆内存1.1.1 栈内存的特点1.1.2 堆内存的特点2 智能指针3 动态内存的相关问题原创 2021-10-31 17:36:38 · 581 阅读 · 0 评论 -
【C++基础】第7章:深入 IO
深入 IO1 IOStream 概述1.1 IOStream 采用流式 I/O 而非记录 I/O ,但可以在此基础上引入结构信息1.2 所处理的两个主要问题1.2.1 表示形式的变化:使用格式化 / 解析在数据的内部表示与字符序列间转换1.2.2 与外部设备的通信:针对不同的外部设备(终端、文件、内存)引入不同的处理逻辑1.3 所涉及到的操作1.3.1 格式化 / 解析1.3.2 缓存1.3.3 编码转换1.3.4 传输1.4 采用模板来封装字符特性,采用继承来封装设备特性1.4.1 常用的类型实际上是类模原创 2021-10-27 21:09:41 · 1482 阅读 · 0 评论 -
【C++基础】第6章:函数
函数1 函数基础2 函数详解3 函数重载与重载解析4 函数相关的其它内容1 函数基础2 函数详解3 函数重载与重载解析4 函数相关的其它内容原创 2021-10-24 15:11:43 · 2863 阅读 · 1 评论 -
【C++基础】第5章:语句
语句1. 语句基础1.1 语句的常见类别1.1.1 表达式语句:表达式后加分号,对表达式求值后丢弃,可能产生副作用1.1.2 空语句:仅包含一个分号的语句,可能与循环一起工作1.1.3 复合语句(语句体):由大括号组成,无需在结尾加分号,形成独立的域(语句域)1.2 顺序语句与非顺序语句1.2.1 顺序语句1.2.2 非顺序语句1.2.2.1 最基本的非顺序语句: goto1.2.2.2 goto 本质上对应了汇编语言中的跳转指令2. 分支语句2.1 分支语句—— if2.1.1 语法: https://z原创 2021-10-22 12:52:37 · 1030 阅读 · 0 评论 -
【C++基础】第4章:表达式
表达式1. 表达式基础1.1. 表达式基础——引入1.1.1. 表达式由一到多个操作数组成,可以求值并 ( 通常会 ) 返回求值结果1.1.1.1. 最基本的表达式:变量、字面值1.1.1.2. 通常来说,表达式会包含操作符(运算符)1.1.1.3. 操作符的特性1.1.1.3.1. 接收几个操作数:一元、二元、三元1.1.1.3.2. 操作数的类型 类型转换1.1.1.3.3. 操作数是左值还是右值1.1.1.3.4. 结果的类型1.1.1.3.5. 结果是左值还是右值1.1.1.3.6. 优先级与结合性原创 2021-08-01 16:53:34 · 1338 阅读 · 0 评论 -
【C++基础】第3章:数组、 vector 与字符串
数组、 vector 与字符串1. 数组1.1. 数组的概念1.1.1. 如何定义数组?1.1.2. 数组的初始化方式1.1.2.1. 缺省初始化1.1.2.2. 聚合初始化( aggregate initialization )1.2. 数组的注意事项1.3. 数组的复杂声明1.3.1. 指针数组与数组的指针1.3.2. 声明数组的引用1.4. 数组中的元素访问1.4.1. 数组对象是一个左值1.4.2. 使用时通常会转换成相应的指针类型1.4.3. `x[y] → *((x) + (y))`2. vec原创 2021-07-30 14:01:26 · 243 阅读 · 0 评论 -
【C++基础】第2章:对象与基本类型
1. 从初始化/赋值语句谈起初始化/赋值语句是程序中最基本的操作。从初始化和赋值语句开始,就要设置类型了。其功能是将某个值与一个对象关联起来。初始化语句:声明一个新的变量,并为新变量赋予初始值。如:int x = 10;赋值语句是改变x的值,为x赋予一个新的值。#include <iostream>int main(){ int x = 10;//初始化 int y = 20; x = y;//赋值}值:字面值、对象(变量或常量)所表示的值(x=y,其中y不是字面值,而原创 2021-07-26 19:48:51 · 261 阅读 · 0 评论 -
【C++基础】第1章:C++初探
C++初探写一个Hello World写一个Hello World原创 2021-07-23 19:50:09 · 576 阅读 · 0 评论