C++
文章平均质量分 61
Waorange
这个作者很懒,什么都没留下…
展开
-
C++命名空间
C++命名空间 命名空间是为了防止名字冲突提供了更加可控的机制。命名空间分割了全局命名空间,其中每个命名空间是一个作用域。通过在某个命名空间中定义库的名字,库的作者(以及用户)可以避免全局名字固有的限制。命名空间的定义命名空间由关键字 namespace 命名空间的名字(可以匿名后面讲)和由花括号括起来的生命和定义组成。 命名空间可以放 类、变量(及其初始化)、函数(及其定...原创 2018-06-24 22:03:07 · 298 阅读 · 0 评论 -
C++智能指针
为什么需要智能指针首先是因为传统裸指针容易造成内存泄露问题,另外还有在使用异常时,如果在申请空间和释放空间之间抛异常,并且没在该函数处理,会造成内存泄露。因为这些原因引入了智能指针智能指针原理智能指针是使用了RAII的思想RAII(Resource Acquisition is Initialization)直译为资源获取即初始化,即其在构造函数中获取资源,在析构函数中释放资源,因为C++...原创 2019-02-24 20:39:26 · 450 阅读 · 0 评论 -
站内搜索引擎
搜索引擎目标:实现搜索boost库文档实现实现查找 倒排索引’正排索引:给定编号,获取到文档的内容倒排索引:给定一个词,能获取到这个词和那些文档编号相关搜索引擎组织结构数据处理模块:对待搜索的网页进行预处理(html转文本)索引模块:根据数据处理模块的结果作为索引模块的输入,构建正排索引和倒排索引搜索模块:根据用户输入的查询次,对索引进行查找,最终找到相关文档分词:对查询进行...原创 2019-02-23 17:59:52 · 1232 阅读 · 0 评论 -
C++虚继承
虚继承是为了解决菱形继承问题,菱形继承会产生数据冗余,并且容易产生二义性一个菱形继承的例子class A{public: int _a;};// class B : public Aclass B : public A{public: int _b;};// class C : public Aclass C : public A{public: int _c;...原创 2019-02-17 19:52:47 · 307 阅读 · 0 评论 -
C++多态
多态多态即多种状态,在面向对象语言中,接口的多种不同的实现方式即为多态,多态分为两种一种为静态多态,一种为动态多态,静态多态是通过函数重载实现的,在程序链接期间已经绑定,动态多态是通过虚函数实现,在程序运行期间通过调用的对象决定执行的函数。虚函数虚函数是通过virtual定义的要实现多态必须重写虚函数,重写是指在基类中有一个和子类返回值、函数名、参数相同的虚函数,子类的虚函数可以重写基类虚...原创 2019-02-17 17:42:46 · 202 阅读 · 0 评论 -
C和C++区别和联系
C++在最初的设计初衷要求兼容C语言,所以C++支持支持c的基本语法,C语言是面向过程的程序设计语言,其注重的是数据结构和算法的设计,即给问题然后分析解决问题的思路,通过函数将分析的步骤实现,而C++兼容C语言其也支持这种设计方式,另外C++支持面向对象程序设计,和泛型程序设计风格,面向对象注重的不再是一个一个步骤,而是对象在整个问题处理中的行为,每个对象有自己的属性,和自己处理的方法,这是C和C...原创 2019-02-16 21:05:05 · 398 阅读 · 0 评论 -
写时拷贝
写时拷贝原创 2018-10-24 17:27:16 · 692 阅读 · 0 评论 -
C++默认成员函数
C++类成员的默认函数类和结构默认成员函数有六个构造函数拷贝构造函数赋值运算符重载析构函数取地址运算符重载const修饰的取地址运算符重载1. 构造函数构造函数用于初始化成员变量,是特殊的成员函数,其特征有:函数名和类名相同无返回值实例化对象时由系统自己调用如果类定义中没有定义构造函数,c++编译器会自动产生一个无参的构造函数, 如果自己定义了构...原创 2018-10-17 16:24:29 · 215 阅读 · 0 评论 -
this指针
this指针原创 2018-10-18 17:18:29 · 177 阅读 · 0 评论 -
C++函数重载及原理
重载原创 2018-09-16 21:27:46 · 1340 阅读 · 0 评论 -
C++引用
引用引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。定义的格式为:类型 &引用变量名 = 已定义过的变量名;引用的特点:一个变量可取多个别名引用必须初始化引用只能在初始化的时候引用一次,不能改变为再引用其他的变量。void TestReference1() { int a = 1; int& b ...原创 2018-06-25 14:03:48 · 255 阅读 · 0 评论 -
模板
模板是泛型编程的基础,通过模板可以编写与类型无关的代码,可以提高代码复用模板分为函数模板和类模板函数模板相当于一个函数族,编写一个函数模板,然后编译器根据这个模板对不同的参数类型生成不同的函数,另外一种是类模板,其类成员是模板类型,在调用时通过,显示调用的方法实例化该类型模板分为非类型模板参数,和类型模板参数类型模板参数就是在传递时需要传递一个类型,而非类型模板参数就是在模板参数中可以出...原创 2019-02-25 15:10:55 · 224 阅读 · 0 评论