摘要: 文章参考: C++ 教程 | 爱编程的大丙 (subingwen.cn) C++11的原子量与内存序浅析 - 兔晓侠 - 博客园 (cnblogs.com) 从C++11起,C++为用户提供一套新的多线程类。线程相关操作头文件:thread #include <thread> 一. std::thr 阅读全文
posted @ 2023-12-19 22:10 BinaryPrinter 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 1. 隐式类型转换 在C++11前,对于类的使用,存在隐式类型转化的情况,实质上是构造函数的隐式调用。下面是一个例子: EG: 代码: #include <iostream> using namespace std; class Test { public: int x; int y; Test(i 阅读全文
posted @ 2023-12-12 21:42 BinaryPrinter 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 1. 概述 弱引用智能指针std::weak_ptr是共享智能指针std::shared_ptr的助手,它不管理shared_ptr内部的原始指针,也没有重载操作符*、->,因此不共享指针,不能操作资源,所以它的构造和析构都不会影响引用计数。其 阅读全文
posted @ 2023-12-12 17:02 BinaryPrinter 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 1. 初始化: 特点: 相较于共享智能指针,独占智能指针(unique_ptr)的关键在于:同一时刻,只能有一个智能指针指向同一块内存。因此独占智能指针不允许使用拷贝构造函数和拷贝赋值函数。 初始化: 通过构造函数初始化: unique_ptr 阅读全文
posted @ 2023-12-12 15:02 BinaryPrinter 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 所谓智能指针,其实就是C++11封装的类,里面存有一个正常指针,智能指针会通过这个正常指针,来监视指针指向的内存,当没有智能指针指向该内存时,该内存就被释放。其核心在于引用计数,每一个智能指针指向内存A,智能指针内部的引用计数就加一。每析构一次 阅读全文
posted @ 2023-12-12 15:02 BinaryPrinter 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 1. 联合体 联合体又名共用体,使用方式和struct相似,其特点在于: 联合体中所有的成员变量,引用的都是内存中的相同位置。 如果联合的不同成员有不同的长度,取最长的那个变量作为联合的长度。 如果将结构体作为联合的成员变量,那么联合的大小取决 阅读全文
posted @ 2023-12-11 18:30 BinaryPrinter 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 文章参考 爱编程的大丙 (subingwen.cn) 1. 枚举 1.1 概述 在C/C++中的枚举来自于C,处于设计上简单的目的,枚举往往对应到整型数值。: // 匿名枚举 enum {Male, Female}; // 0, 1 // 有名枚举 enum Color {Red, Yellow=2 阅读全文
posted @ 2023-12-11 14:45 BinaryPrinter 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 1. 语法改进 在C++98中,如果想要声明类B是类A的友元类,需要class关键字,而在C++11中,可以省略关键字class,还可以使用别名。 EG: C++98中: class B; class A{ friend class B; // 阅读全文
posted @ 2023-12-08 17:29 BinaryPrinter 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 1. 类与默认函数 在C++中声明自定义的类,编译器会默认帮程序员生成一些未定义的成员函数,这些函数被称为默认函数,一共有六个: 无参构造函数:创建类对象 拷贝构造函数:拷贝类对象 移动构造函数:拷贝类对象。 拷贝赋值函数:类对象赋值。 移动赋 阅读全文
posted @ 2023-12-08 16:07 BinaryPrinter 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 文章参考: 爱编程的大丙 (subingwen.cn) 1. POD概述 1.1 意义 POD:是plain old data的缩写,即普通的旧数据。POD通常用于说明一个类型的属性,尤其是用户自定义类型的属性,具体来说它是指没有使用面向思想来设计的类/结构体。 POD含义为: Plain:表示是一 阅读全文
posted @ 2023-12-08 15:19 BinaryPrinter 阅读(103) 评论(0) 推荐(0) 编辑