- 博客(7)
- 收藏
- 关注
原创 C++Primer 16章学习笔记
终于到16章了。。。16. 模板与泛型编程16.1 定义模板16.1.1 函数模板template <typename t>int compare(const T& v1, const T& v2){ if(v1 < v2) return -1; else return 1; }模板以定义关键字template开始,后跟一个模板参数列表,...
2020-09-24 20:49:45 166
原创 马拉车算法(Manachers Algorithm)个人小结
最近在刷LeetCode的时候遇到了Manacher’算法,这里来总结一下我对Maracher’s算法的理解1. 算法由来Maracher’s算法是为了解决最长回文子串的一种方法,这种方法将回文子串的时间复杂度降低到了(O(n))2.预处理为了减少处理奇回文和偶回文的麻烦,所以对原始字符串进行了处理。 例如:abab //处理前的字符串a#b#a#b//处理后的字符串这样就避免了奇回文和偶回文的麻烦。3.计算p数组在这里,我们提出p数组的概念,p数组保存的是该位置的最长回文子串的半径。接
2020-05-14 20:53:32 287
原创 C++Primer 15章学习笔记
第15章 面向对象程序设计15.1 OOP概述继承:通过继承联系在一起的类构成一种层次关系。通常在层次关系根部有一个基类,其它类直接或间接的从基类继承而来。这些继承的类称为派生类。基类负责定义所有类共同拥有的成员。而每个派生类定义各自的成员。对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明为虚函数因此class Quote{ public: ...
2020-05-05 18:08:03 153
原创 C++Prime14章学习笔记
14. 重载运算与类型转换14.1基本概念重载的运算符是具有特殊名字的函数,它由关键字 operator与后面定义的符号组成,重载函数包含返回类型,参数列表以及函数体。重载运算符的参数数量与该运算符的作用的运算对象数量一样多。如果一个运算符函数是成员函数,则其第一个运算对象绑定到this指针上。对于一个运算符函数来说,它或者是类的成员或者至少含有一个类类型的参数。...
2020-03-15 20:07:27 136
原创 C++ Prime13章学习笔记
13.1 拷贝赋值与销毁13.1.1 拷贝构造函数当一个构造函数的第一个参数是自身类型的引用,且任何额外参数都有默认值,则此构造函数为拷贝构造函数class Foo{ public: Foo(); //默认构造函数 Foo(const Foo&); //拷贝构造函数如果没有构造拷贝构造函数,则系统会默认创建合成拷贝构造函数。合成拷贝构造函数把所有非static的成员...
2020-03-08 21:47:27 209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人