多多重复,百炼成钢!!!
系列文章目录
既然都要学c++了哇,那必然要先学会写哈喽world!!!
#include<iostream>
int main()
{
std::cout << "hello world" << std::endl;
return 0;
}
目录
一、搜索变量原则
1.局部优先原则-先在局部域里找变量,没找到再去全局域里面找
有局部变量:
没有局部变量则去全局里面找:
有特殊情况:当要操作的变量不是局部变量也不是全局变量的时候,我们知道头文件预编译的时候会展开,rand变量会在<stdlib.h>头文件里,所以我们得知在作用域里找变量时先在局部域里面找,没找到则是在全局域从上往下找,若都没有则报错!
另:
1.局部变量创建在栈帧上-函数调用要创建栈帧,调用完要销毁栈帧,之后局部变量找不到;
2.全局变量创建在静态区上;
3.malloc的变量创建在堆上!
二、区作用限定符 ::
1.若我们定义了局部变量,但是我们想要操作全局变量时,我们可以用到::(区作用限定符)
在变量名前加::
2.当我们指定要命名空间时可用
三、命名空间域namespace
1.不影响变量生命周期,只是限定域,编译查找规则
2.(命名空间域)::变量,当命名空间域为空格时-为全局域
3. 命名空间可以嵌套;同级的同一个命名域的内容可以被合并;不同级的相同命名域不会被合并
命名空间合并:(但是变量不能同名)
命名空间嵌套:
四、解除命名空间墙
1.部分展开:using xxx
指定展开-自己定义的时候避免跟常用命名重名
如:
using std ::cout;
using std::endl;
2.全部展开:using namespace xxx
如:
using namespace std
五、流运算符
-可以自动识别类型,对标c语言的printf和scanf
1.流插入运算符<<-对标c语言的printf
cout-控制台
endl-end in line
2.流提取运算符>>-对标c语言的scanf
- cin-标准输入流对象(可以是键盘)
六、缺省参数
-缺省参数不能同时在声明和定义里面出现
-必须从右往左缺省,不能跳(空隔)
1.全缺省
2.半缺省-只能从右往左连续缺省
七、函数重载
1. 函数名相同;
2. 形参类型、数量、顺序可以不同;
3. 与返回值无关
另:二义性
二义性是指在编译过程中无法找出最匹配的函数,或者说编译器在函数匹配过后还是有多个函数满足要求,无法确定该执行那一个引发的错误。
八、参数引用
引用符号 &-给参数取别名-用不同的名字对实参操作
引用后,ra就是a
总结
以上知识点虽然零散,但是对c++的前期学习非常重要,不够了解的点要用小本本记好噢!
如果以上内容对你有帮助的话,不妨给个一键三连吧(超大声
本文含有隐藏内容,请 开通VIP 后查看