c++
一树荼蘼
这个作者很懒,什么都没留下…
展开
-
STL之Set:Set的基本用法
set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得确保根节点的左子树的高度与有字数的高度相等,这样,二叉树的高度最小,从而检索速度最快。要注意的是,它不会重复插入相同键值的元素,而采取忽略处理。 ...转载 2018-06-25 10:36:19 · 173 阅读 · 0 评论 -
const 限定一个对象为只读属性。
const 限定一个对象为只读属性。先从一级指针说起吧:(1)const char p 限定变量p为只读。这样如p=2这样的赋值操作就是错误的。(2)const char *p p为一个指向char类型的指针,const只限定p指向的对象为只读。这样,p=&a或 p++等操作都是合法的,但如*p=4这样的操作就错了,因为企图改写这个已经被限定为只读属性的对象。(3)ch...转载 2018-07-26 16:26:29 · 414 阅读 · 0 评论 -
C++ <algorithm>头文件
转载自:http://blog.csdn.net/tianshuai1111/article/details/7674327#comments更多英文内容请参考:http://www.cplusplus.com/reference/algorithm/<algorithm>是c++特有的STL模板的算法头文件 包含了一些特定的算法函数 包括sort(),stable_sor...转载 2018-07-19 09:51:09 · 963 阅读 · 0 评论 -
第九章 内存模型和名称空间
1、请不要将函数定义或变量声明放在头文件中。2、头文件中常包含的内容有:函数原型,使用#define或const定义的符号常量,结构声明,类声明,模板声明,内联函数。3、如果文件名包含在尖括号中,则C++编译器将在存储标准头文件的主机系统的文件系统中查找:但如果文件名包含在双引号中,则C++编译器将首先查找当前的工作目录或源代码目录。如果没有在那里找到头文件,则将在标准位置查找。4、链接性为外部的...原创 2018-07-05 14:51:07 · 102 阅读 · 0 评论 -
函数探幽
1、使用内联函数的措施:(1)、在函数声明前加上关键字inline;(2)、在函数定义前加上关键字inline;通常的做法是省略原型,将整个定义(即函数头和函数代码)放在本应该提供原型的地方。2、C++新增的一种复合类型--引用变量。引用是已定义的变量的别名。其主要用途是用作函数的形参(具体的说是结构和对象的参数)。通过将引用变量用作参数,函数将使用原始数据,而不是其副本。3、必须在声明引用时将其...原创 2018-07-04 19:33:20 · 310 阅读 · 0 评论 -
函数--C++的编程模块
1、使用函数,必须完成如下工作:(1)、提供函数定义。(2)、提供函数原型。(3)、调用函数。2、C++对于返回值的类型有一定的限制:不能是数组,但可以是其他任何类型(整数,浮点数,指针,结构,对象)3、函数原型的作用:原型描述了函数到编译器的接口,它将函数返回值的类型以及参数的类型和数量告诉编译器。4、在函数中声明的变量(包括参数)是该函数私有的。在函数被调用时,计算机将为这些变量分配内存;在函...原创 2018-07-04 09:14:14 · 483 阅读 · 0 评论 -
第三章 处理数据
1、内置的C++基本类型分两组:基本类型(整型和浮点数)和复合类型(包括数组,字符串,指针和结构)。2、C++的命名规则: (1)、在名称中只能使用字母字符、数字和下划线(_); (2)、名称的第一个字符不能是数字; (3)、区分大写字符与小写字符; (4)、不能将C++关键字用作名称; (5)、以两个下划线或下划线和大写字母大头的名称被保留给现实(编译器及其使用的资...原创 2018-06-28 14:56:00 · 196 阅读 · 0 评论 -
输入、输出流状态
cin或cout对象包含一个描述流状态(stream state)的数据成员(从ios_base那里继承的)。流状态(被定义为iostate类型,而iostate是一种bitmask类型)由3个ios_bae元素组成:eofbit、badbit或failbit,其中每个元素都是一位,可以是1(设置)或0(清除)。当cin操作到达文件末尾时,它将设置eofbit;当cin操作未能读取...转载 2018-07-02 10:56:08 · 497 阅读 · 0 评论 -
类设计的回顾
1、编译器生成的成员函数(1)、默认构造函数 默认构造函数要么没有参数,要么所以的参数都有默认值。如果没有定义任何构造函数,编译器将定义默认构造函数,让您能够创建对象。例如,假设Star是一个类,则下述代码需要使用默认构造函数:Star rigel;Star pleiades[6]; 自动生成的默认构造函数的另一项功能是,调用基类的默认构造函数以及调用本身是对象的成员所属...原创 2018-07-08 19:50:21 · 412 阅读 · 0 评论 -
简单文本输入/输出
1、使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据--文本数据。然后,cin对象负责将文本转换为其他类型。...原创 2018-07-01 19:52:27 · 382 阅读 · 0 评论 -
开始学习C++
1、C++ 对大小敏感,也就是说区分大小写字符和小写字符。2、C++能够使用printf(), scanf()和其他所有标准C输入和输出函数,只需要包含常规C语言的stdio.h文件。3、通常,main()被启动代码调用,而启动代码是由编译器添加到程序中的,是程序和操作系统(UNIX、Windows或其他操作系统)之间的桥梁;4、编译器到达main()函数末尾时没有遇到返回语句,则认为main()...原创 2018-06-26 16:49:59 · 87 阅读 · 0 评论 -
第4章 复合类型
1、数组的声明应指出以下三点:(1)、存储在每个元素中值得类型;(2)、数组名;(3)、数组中的元素数(它必须是整型常数如(10)或const值,也可以是常量表达式(如8 * sizeof(in) ),不可是变量 。2、如果只对数组的一部分进行显示初始化,则编译器将把其他元素设置为0;3、C++标准模板库(STL)提供一种数组替代品--模板类vector。而C++11新增了模板类array。4、C...原创 2018-06-30 09:50:06 · 139 阅读 · 0 评论 -
字符串匹配的KPM算法
转至:http://www.ruanyifeng.com/blog/2013/05/Knuth–Morris–Pratt_algorithm.html字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称...转载 2018-08-03 15:47:59 · 1171 阅读 · 0 评论