Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
【深入理解C++】转发、完美转发、std::forward
文章目录 1 转发 2 完美转发 3 std forward和std move的区别 4 参考资料 前置知识 万能引用 引用折叠 1 转发 include
深入理解C
c
完美转发
forward
【深入理解C++】运算符重载、插入和提取运算符、拷贝赋值运算符
文章目录 1 运算符重载 2 重载为友元函数 3 重载为成员函数 4 插入和提取运算符 5 拷贝赋值运算符 5 1 深拷贝 1 运算符重载 运算符重载可以为运算符增加一些新的功能 C 中绝大部分的运算符允许重载 不能重载的运算符有以下几个
深入理解C
c
运算符重载
插入运算符
提取运算符
【深入理解C++】拷贝构造函数
文章目录 1 拷贝构造函数 2 默认的拷贝操作 3 默认拷贝构造函数 4 何时调用拷贝构造函数 1 拷贝构造函数 拷贝构造函数是构造函数的一种 当利用已存在的对象创建一个新对象时 就会调用新对象的拷贝构造函数进行初始化 拷贝构造函数的格式是
深入理解C
c
拷贝构造函数
【深入理解C++】string
文章目录 1 概述 2 string的定义与初始化 3 string的赋值 4 string的读写 5 string的长度 6 string的遍历 6 1 运算符 6 2 at 6 3 迭代器 6 4 范围for 7 string 与 ch
深入理解C
c
string
【深入理解C++】给表达式赋值
在 C 语言中表达式是不可以被赋值的 但是在 C 中可以 include
深入理解C
c
给表达式赋值
【深入理解C++】三种继承方式、函数遮蔽
文章目录 1 三种继承方式 2 函数遮蔽 1 三种继承方式 继承可以让子类拥有父类的所有成员 成员变量和成员函数 public继承 父类 继承方式 子类 public public public protected public prote
深入理解C
c
继承方式
函数遮蔽
【深入理解C++】类对象所占用的空间大小
文章目录 1 须知 2 非静态成员变量 普通成员变量 3 静态成员变量 4 非静态成员函数 普通成员函数 5 静态成员函数 6 构造函数和析构函数 1 须知 类本身是没有大小的 类的大小指的是类的对象所占的大小 如果用 sizeof 运算符
深入理解C
c
类对象的内存布局
类对象所占用的空间大小
【深入理解C++】空类对象所占用的空间大小
文章目录 1 须知 2 空类对象所占用的空间大小 3 一个类继承空类 4 空类作为另一个类的成员 1 须知 类本身是没有大小的 类的大小指的是类的对象所占的大小 如果用 sizeof 运算符对一个类型名操作 得到的是具有该类型实体的大小 2
深入理解C
c
空类
【深入理解C++】隐式构造与explicit
文章目录 1 隐式构造 1 1 情况一 1 2 情况二 1 3 情况三 2 explicit 1 隐式构造 C 中存在隐式构造的现象 即在某些情况下 会隐式调用单参数的构造函数 1 1 情况一 include
深入理解C
c
隐式构造
explicit
【深入理解C++】调用父类的拷贝构造函数
文章目录 1 默认的拷贝操作 2 调用父类的拷贝构造函数 3 用子类对象初始化父类对象 1 默认的拷贝操作 默认情况下 继承体系下类对象的拷贝是每个成员变量逐个拷贝 include
深入理解C
c
继承
拷贝构造函数
【深入理解C++】内存布局
关于 C 的内存布局 网上说法不一 有人将其分为 4 4 4 区 也有人将其分为 5 5 5 区 不同的人分成的 5
深入理解C
c
内存布局
【C++11新特性】auto、范围for语句、nullptr
文章目录 1 auto 2 范围for语句 2 1 遍历数组 2 2 遍历字符串 2 3 遍历STL容器 3 nullptr 1 auto auto 可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型 也就是说 声明时必须要
深入理解C
C11
AUTO
for range
nullptr
【深入理解C++】产生临时对象的情况和解决
文章目录 1 临时对象 2 对象作为函数的参数 以传值的方式传给函数 3 类型转换生成的临时对象 4 对象作为函数的返回值 以值的方式从函数返回 1 临时对象 临时对象 也称为匿名对象 没有变量名 没有被指针指向的对象 用完后马上调用析构
深入理解C
c
临时对象
【深入理解C++】类型转换
文章目录 1 隐式类型转换 2 显式类型转换 强制类型转换 2 1 C语言 2 2 C 语言 2 2 1 static cast 2 2 1 1 可用于 2 2 1 2 不可用于 2 2 2 dynamic cast 2 2 3 const
深入理解C
c
类型转换
【深入理解C++】引用
文章目录 1 变量的别名 2 变量的多个别名 3 引用存在的价值 4 引用的大小 5 从汇编角度看引用 6 结构体的引用 7 指针的引用 8 数组的引用 1 变量的别名 在 C 语言中 使用指针 Pointer 可以间接获取 修改某个变量的
深入理解C
c
引用
【深入理解C++】可调用对象、std::function、std::bind()
文章目录 1 可调用对象 1 1 函数指针 1 2 函数对象 1 3 可被转换为函数指针的类对象 1 4 类成员函数指针 2 std function 2 1 包装普通函数 2 2 包装函数指针 2 3 包装函数对象 2 4 包装可被转换为
深入理解C
c
可调用对象
function
bind
【深入理解C++】函数返回类型前置与后置
文章目录 1 函数返回类型前置 2 函数返回类型后置 1 函数返回类型前置 函数返回类型前置就是把函数返回类型放到函数名字之前 注意 函数定义时 如果形参在函数体内用不到的话 则可以不给形参变量名字 只给其类型 函数声明时 可以只有形参类型
深入理解C
c
函数返回类型前置
函数返回类型后置
【深入理解C++】调用父类的构造函数
文章目录 1 子类的构造函数默认会调用父类的无参构造函数 2 调用父类的构造函数 1 子类的构造函数默认会调用父类的无参构造函数 include
深入理解C
c
继承
构造函数