经常在编译错误中看到的vTable究竟是什么? 为什么要有虚函数 C++的设计理念是:用不到的功能就不要在运行时花费时间。正因如此,C++中会有静态绑定、动态绑定、虚函数这些...
经常在编译错误中看到的vTable究竟是什么? 为什么要有虚函数 C++的设计理念是:用不到的功能就不要在运行时花费时间。正因如此,C++中会有静态绑定、动态绑定、虚函数这些...
万能引用 区分万能引用与右值引用 万能引用写作T&&的形式,与右值引用都是两个&符号,如何区分? 万能引用在两种情况下存在: auto&& 声明变量 函数模板 对于函数模板...
C++中有6种特殊的成员函数:默认构造函数、析构函数、复制构造函数、复制赋值运算符、移动构造函数、移动赋值运算符。 这些成员函数在一些情况下会由编译器自动生成,并且都是pub...
几个例子探讨区别 C++中初始化方式有很多种,下面用几个例子来对比其区别。 以下3种初始化方式合法吗? 答案:x和y的初始化合法,z的初始化不合法。 原因:大括号初始化内建类...
推导规则 前面我们介绍过auto的类型推导规则。找到c++中,decltype也可以获取变量或表达式的类型,那么它的类型推导和auto一样吗,应该如何使用呢? decltyp...
类型推导规则 在大多数情况下,模板与auto的类型推导规则一致,且规则很简单。 情况1. 没有加任何修饰 这种情况下,参数是按值传递,形参t或者变量x都是一个副本,那么就需要...
为什么需要这个工具 数据库中存储的protobuf序列化的内容,有时候查问题想直接解析查看内容。很多编码在网上很容易找到编解码工具,但protobuf没有找到编解码工具,可能...
迭代器简介 c++中经常会用到这样的写法: 上面代码中,it即是迭代器,通过迭代器自增可以遍历vector容器,而通过解引用(*)可以访问当前迭代器指向的数据。这样看,迭代器...
auto类型推导规则 C++11中新增了使用auto进行自动类型推断的功能,从此使用容器等复杂类型时,可以简化代码,非常方便。 但一开始使用auto时,有时候会看到这样的代码...
前言 二分查找这个算法相信大家都很熟悉,但真正在写代码的时候,对于边界条件却很容易出错,这篇文章带你分析二分查找的关键细节,看完以后不再出错。 题目 虽然都是二分查找,但其实...
介绍 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎. Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的...
题目来源 牛客题目:NC91 最长递增子序列[https://www.nowcoder.com/practice/9cf027bf54714ad889d4f30ff0ae54...
这篇文章我们一起来复习一下堆排序,同时做一道经典的堆排序算法题:合并k个有序链表[https://leetcode.com/problems/merge-k-sorted-l...
经典问题大数乘法 给两个字符串格式的十进制数字,求这两个数的乘积,以字符串格式返回。leetcode问题链接[https://leetcode.com/problems/mu...
动态规划关键是找状态转移方程,也就是递推关系,这里列出的四道题,都是最简单的递推,一定要熟练掌握。 题目1: 上台阶 n级台阶,一次可以上1级或2级,问一共有几种上法? 解法...
二叉树的题目通常都是通过递归的方式来解决。https://leetcode.com/explore/interview/card/top-interview-question...
KMP算法是啥? KMP算法就是一种字符串匹配算法,简单说就是从一个长字符串中搜索一个短字符串(也叫模式串)。这个算法我从大学上数据结构课第一次学到,到现在反反复复学过不下十...
leetcode的explore中有一个Top Interview Questions[https://leetcode.com/explore/interview/card...
我们知道默认情况下,Markdown 插入的表格,单元格中的内容默认左对齐;表头单元格中的内容会一直居中对齐(不同的实现可能会有不同表现)。 普通的表格 Markdown 代...