C++学习之路 day1
来源:互联网 发布:云计算学习视频 编辑:程序博客网 时间:2024/05/21 06:37
本系列博客为观看51CTO学院王桂林老师“这可能是你见过‘最牛逼的‘c++教程’”视频学习C++基础知识时所作的学习笔记,在此对教程作者王桂林老师表示万分感谢。
Day1知识点:
1. C++中比C中多了两种类型,string和bool;
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 的再次包装。所以定义引用的时候必须初始化。
- C++学习之路 day1
- Mysql学习之路——day1
- 安卓学习之路---day1
- 学习笔记之day1
- C语言学习日志 day1
- Python之路,Day1
- Python之路,Day1
- Python之路,Day1
- java 你好!我的java学习之路 day1
- 表格嵌套—JavaWeb学习之路Day1
- React学习之ES6学习Day1
- C语言学习笔记及感想 day1
- C#day1
- python自动化之路-day1
- python自动化之路-day1
- 黑马程序员-基础学习之day1-day2
- Java学习(回顾)笔记之day1
- ios开发学习之旅day1
- redis 简单入门
- 基于hadoop搜索引擎实践——网页爬取(二)
- mysql索引hash索引和b-tree索引的区别
- python_day1
- C++ 特化与重载(12)---《C++ Templates》
- C++学习之路 day1
- 2017.8.24 快速傅里叶 思考记录
- spark独立模式配置
- 【二叉树】111. Minimum Depth of Binary Tree
- JDBC常见面试题集锦
- 建造者模式在日志系统中的运用
- bzoj3238 [Ahoi2013]差异(SA+单调栈求所有区间最小值和)
- 人工智能很可能毁灭人类
- LintCode:M-Partition Array(快排变种)