《跟我一起学C++》学习笔记
kongslly
码海求知,只因迷惑.IT的世界博大精深,不是因为不会,而是因为根本不懂
echo H4sIAIWNIV4AA92VwQ7CMAxD7/sKpP3/P3JAqMmznRW0AyISqCqNZzvuOM+76rgN6dehHq1eO/V77buzgFr4vUVb3VlA1aNs0zVhI5QDrtI/gqrH3r9us+rr6li3/tIrtTZ/xgmyOD1y1TpS63JHR6FeCiv1gTF1u1GgmtvnqAqswBRMlUxwsGJuuO5DYNYARd86PEUNXvU89fRwJDVhAaof4SrbANuTawTWRworNlOaenXxZqisKMUlbcOr+lyNo
展开
-
跟我一起学C++之从C到C++(bool类型)
bool类型C++新增类型,表示逻辑真与假1.逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC++中为1个字节。2.声明方式:boolresult;result=true;3.可以当作整数用(true一般为1,false为0)4.把其它类型的值转换为布尔值时,非零值转换为true,零值转换为false 代原创 2016-06-05 11:31:21 · 3644 阅读 · 0 评论 -
跟我一起学C++之引用作为返回值
1.引用的另一个作用是用于返回引用的函数2.函数返回引用的一个主要目的是可以将函数放在赋值运算符的左边。3.注意:不能返回对局部变量的引用。 代码实例:#includeusingnamespace std; // 引用作为函数返回值 int a[] = {0,1,2,3,4}; int& index(inti){ retur原创 2016-10-30 17:15:50 · 568 阅读 · 0 评论 -
跟我一起学C++之按引用传递
按引用传递1.引用传递方式是在函数定义时在形参前面加上引用运算符"&"例如:swap(int &a,int &b);2.按值传递方式容易理解,但形参值的改变不能对实参产生影响3.地址传递方式通过形参的改变使相应的实参改变,但程序容易产生错误且难以阅读4.引用作为参数对形参的任何操作都能改变相应的实参的数据,又使函数调用显得方便、自然#in原创 2016-10-30 17:13:05 · 774 阅读 · 0 评论 -
跟我一起学C++之const引用
const引用const引用是指向const对象的引用 const int ival = 1024;const int& refVal = ival; //ok:both reference and object are constint &ref2 = ival; //error:nonconst reference to原创 2016-10-30 17:07:06 · 472 阅读 · 0 评论 -
跟我一起学C++之从C到C++引用
引用1.引用是给一个变量起别名2.定义引用的一般格式:类型 &引用名=变量名;例如:int a=1; int &b=a; // b是a的别名,因此a和b是同一个单元注意:定义引用时一定要初始化,指明该引用变量是谁的别名3.在实际应用中,引用一般用作参数传递与返回值 两种应用方式:作为参数传递;原创 2016-10-30 17:04:51 · 452 阅读 · 0 评论 -
跟我一起学C++之带默认形参值的函数的二义性
重载的函数中如果形参带有默认值时,可能产生二义性int add(int x=5, int y=6);int add(int x=5, int y=6, int z=7);int main() { int sum; sum= add(10,20); return 0;} int add(int x, int y){原创 2016-10-30 16:50:06 · 731 阅读 · 0 评论 -
跟我一起学C++之带默认形参值的函数
1.函数声明或者定义的时候,可以给形参赋一些默认值2.调用函数时,若没有给出实参,则按指定的默认值进行工作3.函数没有声明时,在函数定义中指定形参的默认值4.函数既有定义又有声明时,声明时指定后,定义后就不能再指定默认值5.默认值的定义必须遵守从右到左的顺序,如果某个形参没有默认值,则它左边的参数就不能有默认值。void func1(int a, doubl原创 2016-10-30 16:48:24 · 776 阅读 · 0 评论 -
跟我一起学C++之name managling与extern “C”
1.name managling这里把它翻译为名字改编。2.C++为了支持重载,需要进行name managling3.extern “C”实现C与C++混合编程#ifdef __cpluscplusextern “C”{#endif...//函数声明#ifdef __cpluscplus}#endif代码实例原创 2016-10-30 16:45:53 · 833 阅读 · 0 评论 -
跟我一起学C++之重载
1.相同的作用域,如果两个函数名称相同,而参数不同,我们把它们称为重载overload2.函数重载又称为函数的多态性,只是静态的多态,函数的入口地址是在编译时候就确定了,又称为静态联编3.函数重载不同形式:1)形参数量不同形参类型不同形参的顺序不同形参数量和形参类型都不同4.调用重载函数时,编译器通过检查实际参数的个数、类型和顺序来确定相应的被调用函数原创 2016-09-08 21:46:05 · 820 阅读 · 0 评论 -
跟我一起学C++之new、delete运算符
new1.new运算符可以用于创建堆空间,类似于C语言中的malloc,在堆上分配空间2.成功返回首地址,失败的话也不一定返回空指针,在C++中如果失败的话就会直接抛出异常了,所以在代码中不需要对new 的空间进行是否为空的判断3.语法:1)指针变量=new 数据类型;2)指针变量=new 数据类型[长度n];例如: int原创 2016-09-08 21:41:54 · 551 阅读 · 0 评论 -
跟我一起学C++之与运算符
C++中增加的作用域标识符 ::1.用于对与局部变量同名的全局变量进行访问代码实例:#includeusingnamespace std; int var = 100;int main(void){ int var = 50; cout<<var<<endl;//访问局部变量 cout<<::var<<endl;//访问全原创 2016-09-08 21:39:40 · 735 阅读 · 0 评论 -
跟我一起学C++之从C到C++(const限定符)
const限定符1.用const给字面常量起个名字(标识符),这个标识符就称为标识符常量;因为标识符常量的声明和使用形式很像变量,所以也称常变量2.定义的一般形式:(1) const 数据类型 常量名=常量值;(2)数据类型 const 常量名=常量值; 3.例如:const float PI=3.14159f;4.注意事项:(1)常变量在定义时必须初始化;原创 2016-06-05 11:36:15 · 1812 阅读 · 0 评论 -
跟我一起学C++之从C到C++(结构体内存对齐)
1.什么是内存对齐(1) 编译器为每个“数据单元”按排在某个合适的位置上。(2) C、C++语言非常灵活,它允许你干涉“内存对齐”。也就是可以人为的设置编译器的对齐方式。2.为什么要对齐性能原因:在对齐的地址上访问数据快。如果是字节对齐方式存储的话,CPU读取的时候只需要进行一个总线周期即可全部读取完毕,如果不对齐的话,对于32位的系统,CPU读取的时候一般架构原创 2016-06-06 21:12:34 · 1561 阅读 · 3 评论 -
跟我一起学C++之从C到C++(const与#define)
1.const定义的常量与#define定义的符号常量的区别(1)const定义的常量有类型,而#define定义的没有类型,编译可以对前者进行类型安全检查,而后者仅仅只是做简单替换(2)const定义的常量在编译时分配内存,而#define定义的常量是在预编译时进行替换,不分配内存。(3)作用域不同,const定义的常变量的作用域为该变量的作用域范围。而#define定义的常量作用域原创 2016-06-06 21:08:09 · 985 阅读 · 0 评论 -
跟我一起学C++之C++介绍(笔记)
C++介绍为什么学习C++? 1.C++能提升性能,C++之父BjarneStroustrup戏称C++可以减轻全球变暖问题。 2.编程语言需求总结为四个:效率(efficiency)、灵活(flexible)、抽象(abstraction)、生产力(productvity)。C语言注重前两者,C++注重前三者,JAVA、.net这些都注重后两者 3.C++应用范围广,大部分桌面软原创 2016-05-25 23:24:49 · 1151 阅读 · 0 评论 -
跟我一起学C++之引用与指针区别
引用与指针区别1.引用访问一个变量是直接访问,而指针是间接访问。指针保存的是变量的地址。2.引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。3.引用一经初始化不能再引用其它变量,而指针可以,只要不是const类型的指针初始化之后还可以指向其他变量。4.尽可能使用引用,不得已时使用指针。因为:在进行值传递的时候,实参要初始化形参,将实参内容原创 2016-10-30 17:17:00 · 532 阅读 · 0 评论