排序
C/C++跨平台SDK开发的注意事项
C/C++跨平台SDK开发的注意事项, 1. C/C++跨平台开发时有哪些值得注意的事项? 1.1. 你知道如何选择C++标准的版本吗? 1.1.1. C++版本说明 1.1.2. 如何选择版本 1.1.3. 最佳实践 1.2. 源代码要如...
字符编码发展史1 — ASCII和EASCII
字符编码发展史1 — ASCII和EASCII, 1. 字符集与字符编码 1.1. 字符集 1.2. 字符编码 1.3. 两者的关系 2. 字符编码的发展历史 2.1. 第一个阶段 ASCII编码 2.1.1. ASCII 2.1.2. EASCII 1. 字符集...
深入剖析C++多态的实现与原理-详解 (万字长文)
深入剖析C++多态的实现与原理-详解 (万字长文), 目录 一、多态基础 虚函数 虚函数的继承 虚类/虚基类 重写/覆盖 条件: 概念: 多态的条件 其他的多态行为 多态中子类可以不写virtual 协变 代码举...
欧拉函数学习笔记
欧拉函数学习笔记,读前警告:本文 MD 以及 \(\LaTeX\) 差到爆炸,因为是直接复制的。 首先,\(\varphi(n)\) 的值是小于 \(n\) 且与 \(n\) 互质的数的个数。 //求n的欧拉函数值: phi[n] int get...
【C++】移动语义和完美转发
【C++】移动语义和完美转发,前言 学习C++移动语义和完美转发笔记,记录左值、右值、std::move()、万能引用、引用折叠等相关内容。 概念 左值 (lvalue) 它是在内存中有明确存储地址、可以被寻址...
c++_shared库引入的问题
c++_shared库引入的问题,项目组提供了一个AAR文件供下游业务团队集成。 某天,下游团队反馈了一个紧急的问题,最终客户的开发者使用Android Studio打包时,构建工具提示构建失败,原因是存在重...
数据结构——队列链式存储实现
数据结构——队列链式存储实现,队列链式存储主要有两个方面需要注意,一个是定义时应该定义两种结构体,一个是具体节点,一个是队列本身。具体节点用于存储具体数据data和指向下一个节点的指针 ...
线性dp:最长公共子串
线性dp:最长公共子串,最长公共子串 阅读本文前可以先了解“动态规划方法论”,在我之前讲过的文章有讲过。 动态规划方法论 本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本...
C++类开发第七篇(详细说说多态和编译原理)
C++类开发第七篇(详细说说多态和编译原理),polymorphism 静态联编和动态联编 多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”和”how”分离开来。多态性改善了代码...
C++ 习惯RAII思想
C++ 习惯RAII思想,什么是 RAII RAII(资源获取即初始化,Resource Acquisition Is Initialization),作为 C++ 的一个重要编程范式,已经被贯彻于标准库的各个角落。RAII 的核心思想是将资源与...
C++系列:const关键字
C++系列:const关键字,前言 在学习C++时,const关键字的知识点分散在书的各个章节。当我们尝试在编程时使用const时,总会感觉有一些细节被遗忘,因而不能得心应手地使用const关键字。因此,本篇...
Linux C++ 开发5 – 一文了解CMake构建
Linux C++ 开发5 - 一文了解CMake构建, 1. 什么是CMake? 1.1. CMake的定义 1.2. CMake有哪些优势? 1.3. CMake 的特点 1.4. Cmake 、CMakeLists.txt 、Make 、Makefile 之间的关系 2. 应用案例...













