摘要:
Linux 下运行C++项目中遇到Segmentation fault 这样的问题,往往不会有太多错误信息,通常需要GDB来调试 1、编译Debug版本 make debug 2、生成最新版本的core文件,如果有core文件,rm。 ulimit -c unlimited -c 后面加的参数是: 阅读全文
摘要:
const用来修饰常量,可以用来修饰函数 1、 int b = 500; const int* a = &b; [1] 指针指向常量 从右向左看,a为一个指针,指向整形常量 int const *a = &b; [2] 指针指向常量 int* const a = &b; [3] 指针本身为常量,co 阅读全文
摘要:
为什么会有友元函数? 结合着类的特性和类中一般成员函数,我们可以这样理解:类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别 阅读全文
摘要:
为什么要对运算符进行重载: C++预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对这么运算符进行重新定义,赋予其新的功能,以满足自身的需求。 1.一般运算符重载 在进行对象之 阅读全文
摘要:
Cookies存储用户登录信息,代替Session可以实现负载平衡多台服务器间session不共享问题,但Cookies保存在浏览器端本身是有很大安全问题的,可以通过下面方法实现模拟Session的方法来保障安全: 1、用户提交登陆表单并且服务器端接收 2、确认密码登陆无误以后生成一个sid(Ses 阅读全文
摘要:
一、final Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 阅读全文
摘要:
Static关键字,在C++中可以用来修饰变量和函数,变量又分为全局变量、局部变量、成员变量,而函数也分为普通函数和成员函数,下面具体说说不同使用情况下的作用。 一、全局静态变量 static修饰全局静态变量后: (1)在全局数据区内分配内存 (2)如果没初始化默认值为0 (3)该变量在文件内可见 阅读全文
摘要:
一、C++文件流 1、文件流对象 C++中的文件流对象(fstream)是继承自iostream的一个类,其关系如下: fstream可以用IO运算符(>>和<<)读写文件,也可以用getline读文件。 fstream特有的操作: fstream fstrm; 创建一个未绑定的文件流 fstrea 阅读全文
摘要:
在全文检索中,分词处理对性能的影响很大,包括索引大小、检索速度、准确度等方面。 一个好的分词处理应该具备哪些特性呢? 1)速度、准确度 2)自定义词典 3)对英文、数字符号、日期、繁简转换等的优化 中文分词算法大概分为两大类 1、字符串匹配(基于词典) 这一算法其实就是使用字典,与字典中的词想匹配, 阅读全文
摘要:
1、概述 KMP算法是一种改进的字符串匹配算法,关键在于利用匹配失败后的信息,尽量减少模式串与主串的次数。 2、算法原理 举个简单的例子:主串为“BBC ABCDAB ABCDABCDABDE”,匹配串为“ABCDABD” 通常我们比较字符串,从头开始,第一个字符不匹配时,向后移匹配串。 当匹配串与 阅读全文