CPP笔记
文章平均质量分 63
lin_angel
这个作者很懒,什么都没留下…
展开
-
C++中常见问题处理
输入流清空cin.get()针对回车 cin.clear()针对类型错误类型输入与Whileint a;while(cin>>a){}函数启用断言assert(condition);//debug使用原创 2016-03-01 18:43:30 · 317 阅读 · 0 评论 -
枚举变量
1. 枚举的定义枚举类型定义的一般形式为:enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如:enum weekday{sun,mon,tue,wed,thu,fri,sat};该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变量的说明如同结构和联合一样,枚举变量也可用不同的方转载 2016-02-23 21:24:07 · 6853 阅读 · 3 评论 -
CPP操作符重载
1在类中重载+=操作符赋值操作符必须定义为成员函数,无论形参为何种类型赋值必须返回*this 的引用class Love{public: int str; int agi; int intel; Love(): str(0), agi(0) , intel(0){} Love(int a , int b ,int c): str(a), agi(b) , intel(c转载 2016-02-23 21:21:59 · 395 阅读 · 0 评论 -
cin,cinget,cingetline,etc
1、cin2、cin.get()3、cin.getline()4、getline()5、gets()6、getchar()附:cin.ignore(); cin.get()//跳过一个字符,例如不想要的回车,空格等字符1、cin>>用法1:最基本,也是最常用的用法,输入一个数字:#includeusing namespace std;int main (){ int a,b; cin转载 2016-02-23 21:19:23 · 606 阅读 · 0 评论 -
二维数组(未完?)
我们知道,一维空间是一条线,数学中用一条数轴来表达;二维空间是一个平面,数学中用平面坐标系来表达。那么二维数组又是什么样的呢? 线与面我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线上的点。而所有的数据都是存储在一条线上。如果我们采用两个下标,就能形成一个平面,犹如一张表格,有行有列,所有的数据就能够存放到表格里。我们把二维数组的两个下标分别称为行下标和列下标,在前面的是行下标,在转载 2016-02-23 21:11:54 · 367 阅读 · 0 评论 -
vector资料
一、概述vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。例如:// c语言风格int myHouse[100] ;// 采用vectorvector vecMyHouse(100);当如上定义后,vecMyHouse就可转载 2016-02-23 21:08:13 · 395 阅读 · 0 评论 -
sizeof使用
sizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为4。注意:int *p; sizeof(p)=转载 2016-02-23 21:00:06 · 257 阅读 · 0 评论 -
数组指针和指针数组
总括这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。 指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针转载 2016-02-23 20:56:38 · 210 阅读 · 0 评论 -
C++链表的创建与操作
转载:http://blog.sina.com.cn/s/blog_4b41e46d0100gb1b.html我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行随机访问。但若对数组元素进行插入和删除操作,则会引起大量数据的移动,从而使简单的数转载 2016-02-23 20:49:00 · 467 阅读 · 0 评论 -
union
联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出!1、什么是联合?“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任转载 2016-02-23 20:42:00 · 336 阅读 · 0 评论 -
extern关键字
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。也就是说extern有两个作用 第一个,当它与”C”一起连用时,如: extern “C” void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C转载 2016-02-23 20:37:45 · 220 阅读 · 0 评论 -
Mutable关键字
Mutable (1)mutable的意思是“可变的,易变的”,跟C++中的const是反义词。(2)在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中#include using namespace std;class TestMutable{public: TestMutable(){i=0;}转载 2016-02-23 20:32:42 · 347 阅读 · 0 评论 -
static关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include void fn();st转载 2016-02-23 20:26:34 · 192 阅读 · 0 评论 -
Explicit关键字
explicit的中文解译是:详尽的;清楚的;明确的。那么explicit在C++中是什么意思呢?Explicit(显示的)(1)explicit可以禁止“单参数构造函数”被用于自动类型转换,有效的防止了构造函数的隐式转换带来的错误。(2)explicit只对构造函数起作用,用来抑制隐式转换。(3)所有的单参数的构造函数都必须是explicit的,以避免后台的类型转换。用实例说明上面两点:#incl转载 2016-02-23 20:19:19 · 312 阅读 · 0 评论 -
template关键字
原文:http://blog.csdn.net/qaz19870418/archive/2009/06/14/4269189.aspx从今天开始来学习一下《C++ template》,学习c++ template的动机来自于自己在实现数据结构中的类的时候所遇到的困难。虽然以前在谭浩强老师所编写的《C++程序设计》一书中学过一点c++模板的的知识,但是那本书中讲的关于模板的知识是在是太少了,等到用的时转载 2016-02-23 20:17:36 · 301 阅读 · 0 评论 -
->的使用
对于C++中的类,结构体,共用体等具有成员函数或变量的数据类型(对象)时,如果存在对象a,而对象中有成员b,那么可以使用a.b的方式,使用对应的成员。如果存在变量p,指向a, 即p = &a, 这时可以用p->b来使用成员b。即,->操作符是用于带成员的类型对应指针上,用来提取成员变量或函数用的。p->b等同于(*p).b。对于任意的对象a,写作(&a)->b也是可以的,不过很少有这样写。代码:#i转载 2016-02-23 20:12:02 · 581 阅读 · 0 评论 -
C++库(长期补充)
C++图形和游戏库六款开源免费: http://www.csdn.net/article/1970-01-01/2806635转载 2016-02-18 15:45:41 · 328 阅读 · 0 评论 -
string
注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。好了,进入正题………首先,为了在我们的程序转载 2016-02-23 21:25:11 · 287 阅读 · 0 评论