初识c++

发布于:2022-12-15 ⋅ 阅读:(509) ⋅ 点赞:(0)

多多重复,百炼成钢!!!

系列文章目录

既然都要学c++了哇,那必然要先学会写哈喽world!!!

#include<iostream>

int main()
{
	std::cout << "hello world" << std::endl;
	return 0;
}

目录

一、搜索变量原则

  二、区作用限定符 ::

三、命名空间域namespace

四、解除命名空间墙

五、流运算符

六、缺省参数

 七、函数重载

 八、参数引用

总结


一、搜索变量原则

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++的前期学习非常重要,不够了解的点要用小本本记好噢!

如果以上内容对你有帮助的话,不妨给个一键三连吧(超大声


网站公告

今日签到

点亮在社区的每一天
去签到