- 博客(35)
- 资源 (25)
- 收藏
- 关注
原创 现代C++新特性 扩展的聚合类型(C++17 C++20)(PC浏览效果更佳)
1.聚合类型的新定义1.聚合类型的新定义C++17标准对聚合类型的定义做出了大幅修改,即从基类公开且非虚继承的类也可能是一个聚合。同时聚合类型还需要满足常规条件。1.没有用户提供的构造函数。2.没有私有和受保护的非静态数据成员。3.没有虚函数。在新的扩展中,如果类存在继承关系,则额外满足以下条件。4.必须是公开的基类,不能是私有或者受保护的基类。5.必须是非虚继承。
2023-07-09 22:54:22
1598
1
原创 QNX交叉编译及运行摆脱IDE
把交叉编译工具链qnx_cross_compile_toolchain.zip拷贝到交叉编译主机目录下,用unzip命令解压(不会unzip可以自行百度linux 下unzip命令),如Ubuntu22.04等。解压后可以用vscode打开交叉编译工具链的目录。
2023-06-11 02:12:50
1701
5
原创 现代C++新特性 强枚举类型(PC浏览效果更佳)
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载 C++之父本贾尼·斯特劳斯特卢普曾经在他的The Design And Evolution Of C++一书中写道“C enumerations constitute a curiously half-baked concept.”。翻译过来就是“C语言的枚举类型构成了一个奇怪且半生不熟的概念”,可见这位C++之父对于enum 类型的现状是不满意的,主要原因是enum类型破坏了C++的类型安全。大多数情况下,我们说C++是一门
2022-06-20 22:37:19
527
原创 现代C++新特性 继承构造函数
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载 1.继承关系中构造函数的困局相信读者在编程经历中一定遇到过下面的问题,假设现在有一个类Base提供了很多不同的构造函数。某一天,你发现Base无法满足未来业务需求,需要把Base作为基类派生出一个新类Derived并且对某些函数进行改造以满足未来新的业务需求,比如下面的代码:基类Base的SomeFunc无法满足当前的业务需求,于是在其派生类Derived中重写了这个函数,但令人头痛的是,面对Base中大量的构造函数,我
2022-06-03 22:34:22
239
原创 现代C++新特性 委托构造函数
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载1.冗余的构造函一个类有多个不同的构造函数在C++中是很常见的,例如:class X {public: X() : a_(0), b_(0.) { CommonInit(); } X(int a) : a_(a), b_(0.) { CommonInit(); } X(double b) : a_(0), ...
2022-04-17 22:11:15
1085
原创 现代C++新特性 非受限联合类型
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载1.联合类型在C++中的局限在编程的问题中,用尽量少的内存做尽可能多的事情一直都是一个重要的课题。C++中的联合类型(union)可以说是节约内存的一个典型代表。因为在联合类型中多个对象可以共享一片内存,相应的这片内存也只能由一个对象使用,例如:#include <iostream> union U { int x1; float x2;};int main(int...
2022-04-15 21:18:31
656
原创 现代C++新特性 默认和删除函数
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载1.类的特殊成员函数在定义一个类的时候,我们可能会省略类的构造函数,因为C++标准规定,在没有自定义构造函数的情况下,编译器会为类添加默认的构造函数。像这样有特殊待遇的成员函数一共有6个(C++11以前是4 个),具体如下。1.默认构造函数。2.析构函数。3.复制构造函数。4.复制赋值运算符函数。5.移动构造函数(C++11新增)。6.移动赋值运算符函数(C++11新...
2022-04-01 21:31:58
1814
原创 现代C++新特性 列表初始化
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载1.回顾变量初始化在介绍列表初始化之前,让我们先回顾一下初始化变量的传统方法。其中常见的是使用括号和等号在变量声明时对其初始化,例如:struct C { C(int a) {}};int main(int argc, char** argv){ int x = 5; int x1(8); C x2 = 4; C x3(4); retu...
2022-03-31 22:59:14
1657
原创 现代C++新特性 非静态数据成员默认初始化
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载1.使用默认初始化在C++11以前,对非静态数据成员初始化需要用到初始化列表,当类的数据成员和构造函数较多时,编写构造函数会是一个令人头痛的问题:class X {public: X() : a_(0), b_(0.), c_("hello world") {} X(int a) : a_(a), b_(0.), c_("hello world") {} X(double ...
2022-03-31 00:13:53
1435
1
原创 现代C++新特性 lambda表达式
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载1.lambda表达式语法lambda表达式是现代编程语言的一个基础特性,比如LISP、Python、C#等具备该特性。但是遗憾的是,直到C++11标准之前,C++都没有在语言特性层面上支持lambda表达式。程序员曾尝试使用库来实现lambda表达式的功能,比如Boost.Bind或Boost.Lambda,但是它们有着共同的缺点,实现代码非常复杂,使用的时候也需要十分小心,一旦有错误发生,就可能会出现一...
2022-03-29 23:37:56
1011
原创 现代C++新特性 左值引用与右值引用
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载左值和右值左值和右值的概念早在C++98的时候就已经出现了,从 简单的字面理解,无非是表达式等号左边的值为左值,而表达式右边的值为右值,比如:int x = 1;int y = 3;int z = x + y;以上面的代码为例,x是左值,1是右值;y是左值,3是右值;z 是左值,x+y的结果是右值。用表达式等号左右的标准区分左值和右值虽然在一些场景下确实能得到正确结果,但是还是过于简单...
2022-03-28 23:02:23
1026
1
原创 现代C++新特性 函数返回类型后置
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载使用函数返回类型后置声明函数前面已经出现了函数返回类型后置的例子,接下来我们将详细讨论C++11标准中的新语法特性:auto foo()->int{ return 42;}以上代码中的函数声明等同于int foo(),只不过采用了函数返回类型后置的方法,其中auto是一个占位符,函数名后->紧跟的int 才是真正的返回类型。当然,在这个例子中传统的函数声明方式更加简洁。而...
2022-03-25 20:56:06
2586
3
原创 现代C++新特性 decltype说明符
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载回顾typeof和typeid在C++11标准发布以前,GCC的扩展提供了一个名为typeof的运算符。通过该运算符可以获取操作数的具体类型。这让使用GCC的程序员在很早之前就具有了对对象类型进行推导的能力,例如:int a = 0; typeof(a) b = 5;由于typeof并非C++标准,因此就不再深入介绍了。关于 typeof更多具体的用法可以参考GCC的相关文档。除使用GCC提...
2022-03-24 23:02:33
1136
原创 现代C++新特性 auto占位符
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载重新定义的auto关键严格来说auto并不是一个新的关键字,因为它从C++98标准开始就已经存在了。当时auto是用来声明自动变量的,简单地说,就是拥有自动生命期的变量,显然这是多余的,现在我们几乎不会使用它。于是C++11标准赋予了auto新的含义:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。例如:auto i = 5; /...
2022-03-23 23:02:01
1895
原创 现代C++新特性 内联和嵌套命名空间
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载内联命名空间的定义和使用开发一个大型工程必然会有很多开发人员的参与,也会引入很多第三方库,这导致程序中偶尔会碰到同名函数和类型,造成编译冲突的问题。为了缓解该问题对开发的影响,我们需要合理使用命名空间。程序员可以将函数和类型纳入命名空间中,这样在不同命名空间的函数和类型就不会产生冲突,当要使用它们的时候只需打开其指定的命名空间即可,例如:namespace S1 { void foo() {}...
2022-03-22 22:29:05
894
1
原创 现代C++新特性 新字符类型char16_t和char32_t
文字版PDF文档链接:现代C++新特性(文字版)-C++文档类资源-优快云下载在C++11标准中添加两种新的字符类型char16_t和char32_t,它们分别用来对应Unicode字符集的UTF-16和UTF-32两种编码方法。在正式介绍它们之前,需要先弄清楚字符集和编码方法的区别。字符集和编码方法通常我们所说的字符集是指系统支持的所有抽象字符的集合,通常一个字符集的字符是稳定的。而编码方法是利用数字和字符集建立对应关系的一套方法,这个方法可以有很多种,比如Unicode字符集就有U...
2022-03-21 22:11:00
5342
2
原创 C/C++实现atoll函数
每天进步一点点long long int WeAtoll(const char* str_ptr){ int size = strlen(str_ptr); while ((*str_ptr == ' ' || *str_ptr == '-' || *str_ptr == '+')) { str_ptr++; size--; } const char* str_ptr_cpy = str_ptr; long long.
2022-02-27 00:27:37
718
原创 C++手撕strcpy、strncpy、strcat、strncat、memcpy、memset、memmove函数
CommonFunction.h#include <cstdio>#include <cassert>#include <cstring>#include <iostream>#include <string>char* WeStrcpy(char* dest_buf, const char* src_buf);char* WeStrncpy(char* dest_buf, const char* src_buf, i...
2022-02-23 00:47:54
535
原创 VScode前进和后退按钮,非快捷键
在网上找了半天,不喜欢用快捷键,喜欢鼠标点击,费了好长时间发现这个插件“Back&Forth”,安装后可以在右上角出现前进和后退按钮,如下图。
2022-01-18 22:05:34
8732
原创 STL容器和算法
#pragmaonce#include<iostream>#include<string>#include<vector>#include<queue>#include<stack>#include<list>#include<set>#include<unordered_set>#include<map>#include<unord...
2022-01-04 22:02:26
303
1
原创 Visual Assit X 最新版
链接:https://pan.baidu.com/s/13ab7JlAKygYUCFqeLRtdpw提取码:1001
2021-12-24 21:14:05
318
1
原创 5G无线系统设计与国际标准 Word版 文字可复制编辑
5G无线系统设计与国际标准PDF和Word版 文字可复制编辑 - 细胞盘-付费下载平台 内容支付后下载可见 文件付费网盘
2021-10-31 21:10:18
401
原创 C++ Lambda表达式
Lambda 表达式:[捕获外部变量列表] (函数形参列表) mutable 或 exception 声明 -> 返回值类型 {函数体}[capture list] (params list) mutable exception -> return type { function body }表达式中各个参数的含义如下: [capture list]:捕获外部变量列表 (params list):形参列表 mutable:表示能不能修改捕获的变量 exception:异常设定 .
2021-08-12 22:31:49
176
原创 2021-08-05 Container
#include <iostream>#include <string>#include <vector>#include <queue>#include <stack>#include <list>#include <set>#include <unordered_set>#include <map>#include <unordered_map>using nam.
2021-08-05 23:15:31
126
原创 C++二分常用算法和排列算法
#include <iostream>#include <string>#include <vector>#include <unordered_map>#include <unordered_set>#include <algorithm>using namespace std;/** binary_search:查找某个元素是否出现。* lower_bound:查找第一个大于或等于某个元素的位置。* upper_
2021-08-02 22:03:51
208
3
XP2020面部测温系统规格书
2022-10-03
C/C++/Linux函数函数插桩(打桩)指南
2022-08-12
QT版本AGV智能调度系统.rar
2022-01-04
STM32F103ZET6_FreeTROS.zip
2021-06-20
Yolov4-tiny Yolov4的神经网络模型文件
2020-11-14
opencv4.4.0交叉编译好的动态库和静态库.rar
2020-08-26
ubuntu18.04-desktop-rootfs.tar.bz2
2020-08-26
MutexSpinlockAndCAS.tar.gz
2020-08-26
yolov4_opencv4.4实现目标检测.rar
2020-08-26
uboot nfs 启动内核环境搭建及实现.pdf
2020-08-26
制作带桌面的ubuntu18根文件系统.rar
2020-08-26
c语言面试宝典.pdf
2020-08-26
bootargs参数解析2020-08-26.pdf
2020-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人