C到C++转换学习笔记

1.第一个c++程序

首先c++是包容所以c的规则,第一个不同的地方就是头文件。在c里面头文件都是以 .h 结尾,在c++里所有的c头文件都去掉 .h结尾并在前面加上c。例如:include<stdio.h>应该为include< cstdio>/<stdio.h>

上面的代码依旧是C风格的输出,C++的新的输入输出流库(头文件iostream)将输入输出看成一个流,并用输出运算符 << 和输入运算符 >> 对数据(变量和常量进行输入输出);。下面我们先来看这是如何用的。

std::cin :标准输入流对象(键盘)。

std::cout :标准输出流对象(屏幕)。

endl :换行符。

2.命名空间namespace

我也不知道用什么定义这个概念,他的作用是避免命名污染,也就是说避免命名冲突。用符号::表示是哪个命名空间的变量。如上面的std::cin,std::cout.就是c++标准命名空间的输入输出流。

如上面代码就有两个命名空间,两个命名空间里面有相同命名的变量,这个时候就要用命名空间来区别他们。但是每次写变量都要加上命名空间以及::符号的话会让代码十分的冗余。所以命名空间的使用有三种方法。

using namespace X; 在程序的开始引用整个命名空间。

using X::name ; 使用单个变量名称。

X::name 每次使用加上前缀。

当然最常用的就是第一种,直接引用整个命名空间。

写到这里我不知写什么了,哈哈哈。写作用域这个东西吧,c++和c这个点上还是有一些区别的。

3.作用域问题

我们都知道{}表示作用域,表示变量的生存周期。这个并没有什么区别,但是在c++里面这个问题很重要。咱先看一段代码再解释它。

我相信大家看了代码就一目了然了。在一个域里面可以定义域外部的同名变量。并且域内会隐藏外部的变量。同样的,外部的变量也不会获取到域的变量。

如果出现了局部变量和全局变量重名时,访问全局变量要使用::。

关于这个域这里还有一个运用就是在for循环的时候可以在for(),后面括号里面定义变量,在c里面是不可以的。而且这个变量的作用域就仅在这个for循环语句里面。

4.引用 int&a=b

首先我对引用的感觉就是这是个好东西啊,大家回想一下c语言函数传参时。如果要让函数能够改变实参的值。那就得传实参的地址对吧,c++里面不用啦,传递实参本身也能改变它的值啦,这就是引用。

那引用是个啥,它是一个变量的别名,比如你有个小名。但是这两个名字都表示你。同样通过引用给变量取别名。表示的是一个变量,是同一块地址空间的名字。

1.简单使用

定义方法:变量的引用和变量必须是同种类型,定义是在类型后面加上&符号。如int&a=b;

输出结果:

跟据结果大家可以看到a和b完全是同一个东西。

注意:引用必须初始化,不能单独存在,也不能改变指向

2.作为形参

这段程序可以看到,引用作为函数形参。表示形参和实参实际上是同一个对象,在函数中对形参的修改也就是对实参的修改

最后,如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!