C++学习之路 day1

来源:互联网 发布:云计算学习视频 编辑:程序博客网 时间:2024/05/21 06:37

本系列博客为观看51CTO学院王桂林老师“这可能是你见过‘最牛逼的‘c++教程’”视频学习C++基础知识时所作的学习笔记,在此对教程作者王桂林老师表示万分感谢。

Day1知识点

1.  C++中比C中多了两种类型,stringbool


2.  C中用非常量指针解引用可以间接改变const的值,而C++中不能用;


3.  C++中表达式可以被赋值,C中不能;


4.  cin cout 类对象, scanf sprint 函数;


5.  C++中可以进行函数重载,C中不能;


6.  C++中函数与头文件都要参加倾轧,C中不参加倾轧,用extern C来对函数的声明与函数体进行倾轧,在C++中使用C库要全部倾轧;


7.  运算符重载:类型 operator符号 参数 函数

运算符重载的初步:

Complex operator+(Complex a,Complex b){Complex c;c.real = a.real + b.real;c.image = c.image + b.image;return c;}




8.  默认参数:

void weathercast(string w= “pm2.5”);//当调用时不传参数时自动传送默认参数,如 weathercast();

如有多个默认参数时必须从右往左默认,中间不允许跳跃,如

int volumn(int l , int w = 4 , int h = 5);

如果出现默认参数与函数重载情况,要注意以下情况:

void print(int a){};void print(int a,int b = 10){};//如使用print();可能会出现二义性问题,不推荐使用

如果出现定义在后,声明在前,默认参数写在在声明中而不是在定义中。


9.  对变量的赋值的理解:int a = 500等价于*(int *)0xb0002345 = 500,a是对一段内存空间的引用。

引用:

1)引用声明时必须初始化,不分配内存空间

2)可以对引用再次引用。

int&ra = a;int& rra = ra;//但是不能建立引用的引用,int&&


3)可以建立指针的引用int* ->int*&,不能建立引用的指针int & ->int &*

4)可以定义指针数组,不能定义引用数组,但可定义数组引用int (&rarr)[5] = arr;

10.

1)const 对象的引用必须是const 的,将普通引用绑定到 const 对象是不合法的:

const int a=1; int &b=a;//这种写法是不合法的,编译不过

2)const 引用可使用相关类型的对象来进行初始化,如:

常量

const int &a=2;

非同类型的变量

double a=3.14;const int&b=a;//实现方法是建立一个中间变量int temp = a;const int&b = temp

表达式

const int &a=2+c;


3)在不改变变量的情况下尽可能使用const。

1,使用 const 可以避免无意修改数据的编程错误。

2,使用 const 可以处理 const 和非const 实参。否则将只能接受非 const 数据。

3,使用 const 引用,可使函数能够正确的生成并使用临时变量(如果实参与引用参数不匹配,就会生成临时变量)


11. 引用的本质是,是对常指针 type * const p 的再次包装。所以定义引用的时候必须初始化。

原创粉丝点击