cpp入门基础知识

来源:互联网 发布:网新恒天软件怎么样 编辑:程序博客网 时间:2024/06/04 19:57

1.命名空间
命名空间(namespace):将全局作用域分成不同的部分,一个命名空间是一个作用域,不同命名空间中的标识符可以重名而不不会冲突,命名空间可以相互嵌套使用。

#include <iostream>using namespace std;int main(){cout<<"hello world"<<endl;}

命名空间std使用:若将命名空间展开,不能在定义相同的变量,解决了全局命名冲突问题。
需要访问命名空间时,需要使用作用域空间访问符::
2.c++基本输入输出流
基本输出流cout语句一般格式:

cout<<表达式1<<表达式2<<...<<endl;

基本输出流cin语句一般格式:

cin>>表达式1>>...;

使用cin和cout不需要考虑输入和输出的数据类型,可以自动调整。
3.重载
函数重载是指在同一作用域内可以有相同函数名,函数参数列表不同的函数,这样的函数称为重载函数。
c++支持重载而c不支持重载,是因为他们的函数名修饰规则不同。
4.c++缺省参数
c++支持缺省参数,可以全缺省,也可以半缺省,当参数不只有一个时,缺省只能从最右缺省开始。
//全缺省参数

int Add1(int a=0;int b=0){return a+b;}

//半缺省参数

int Add2(int a,int b=0);{return a+b;}

5.指针和引用
引用不是定义一个新的变量,而是给已有变量一个别名。
使用方法:
类型名& 引用变量名=已定义过的变量名;
做参数:
(1)引用做参数可以达到和指针同样的效果
(2)效率较高(对象比较大时传引用)
(3)只读不会改变时家const修饰
做返回值:
提高效率,返回的对象不用拷贝。
若返回的是全局变量(除了作用域还在)时,可以用引用返回,禁止返回临时变量。
指针是一个变量,用来存放地址。
定义方法:
类型名*变量名;
做参数时:
函数传参时,形参是实参的一份临时拷贝,形参的改变并不能引起实参的改变。
做返回值:
返回的是一个地址,切忌返回一块临时空间的地址,因为函数调用完成后,空间已经释放,那么这就成了一个野指针,是一件很危险的事。
指针和引用的区别:
(1)引用只能在定义时初始化一次,之后不能改变其指向其他变量,指针变量的值可变
(2)引用必须指向有效的变量,指针可以为空。
(3)sizeof指针对象和引用对象的意义是不一样的。sizeof引用得到的是所指向对象的大小,sizeof指针得到的是对象地址的大小
(4)指针和引用自增,自减意义不一样。
(5)相比而言,指针比较灵活,但引用更安全。