C++入门笔记(1)
前言
笔记整理自mooc程序设计与算法(三)C++面向对象程序设计
郭炜老师讲的还是很清楚的
第一章:从 C 到C++
引用
类型名 & 引用名 = 某变量名;
1 | int n = 4; |
r引用了n,r的类型是int &
之后对r的修改就是对n的修改,对n的修改就是对r的修改
定义引用时一定要将其初始化成引用某个变量,之后不会再引用其他变量
在C语言中,我们可以通过指针实现两个数交换
1 | void swap( int * a, int * b) |
有了C++的引用以后,可以这样写
1 | void swap( int & a, int & b) |
引用作为函数的返回值
1 | int n = 4; |
常引用
定义引用时,前面加const关键字,即为“常引用”
1 | int n; |
r 的类型是 const int &
注意:不能通过常引用去修改其引用的内容
“const”关键字的用法
定义常量指针,不可通过常量指针修改其指向的内容,但可以修改指向
意义:函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容
动态内存分配
用new 运算符实现动态内存分配
第一种用法,分配一个变量:
1 | P = new Type; |
T是任意类型名,P是类型为T 的指针。 动态分配出一片大小为 sizeof(T)字节的内存空间,并且将该 内存空间的*起始地址赋值给P,如:
1 | int * pn; |
第二种用法,分配一个数组:
1 | P = new T[N]; |
用“new”动态分配的内存空间,一定要用 “delete”(delete指针)运算符进行释放
1 | int * p = new int; |
内联函数
可以减少一些很简单的函数过多调用造成的开销
如:
1 | inline int Max(int a,int b) |
函数重载
一个或多个函数,名字相同,然而参数个数或参数类型不相同,这叫做函数的重载。
1 | int Max(double f1,double f2) { } |
编译器会根据调用语句的中的实参的个数和类型判断应该调用哪个函数
函数的缺省参数
C++中,定义函数的时候可以让最右边的连续若干个参数有缺省值,那么调用函数的时候,若相应位置不写参数,参数就是缺省值。
1 | void func( int x1, int x2 = 2, int x3 = 3) |
目的在于提高程序的可扩充性
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 瑜璟博客!
评论
TwikooWaline