1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c++之头文件基本输出 输入 名字空间 引用 内联函数 函数重载 缺省参数

c++之头文件基本输出 输入 名字空间 引用 内联函数 函数重载 缺省参数

时间:2022-09-18 11:12:14

相关推荐

c++之头文件基本输出 输入 名字空间 引用 内联函数 函数重载 缺省参数

c++之头文件,基本输出,输入,名字空间,引用,内联函数,函数重载,缺省参数

文章目录

c++之头文件,基本输出,输入,名字空间,引用,内联函数,函数重载,缺省参数前言一、头文件,基本输出,输入1.基本头文件(输出输入流头文件)2.标准输出输入 二、名字空间namespace定义,嵌套,使用三、引用:给变量取别名四、内联函数五、函数重载六、缺省参数总结

前言

学习c++之头文件,基本输出,输入,名字空间,引用,内联函数,函数重载,缺省参数

一、头文件,基本输出,输入

1.基本头文件(输出输入流头文件)

#include <iostream>//io流

c++的头文件和c语言的不太一样,但是c++兼容c语言的头文件

对比:

c++中c语言中<cstdio><stdio.h><cstdlib><stdlib.h><cstring><string.h>在c++中没有.h拓展名,都是在前面加c,最前面都是#include

2.标准输出输入

在c++中都是以流的形式输出和输出标准输出cout<<标准输入cin>>注意箭头方向不同例:int main(){int a = 10;int b;cout << "nice to meet you " <<" "<< a <<endl;//双引号里面的会原样输出,输出变量会替换成变量的值,endl是换行符cin>>b;//从键盘输入一个数}

二、名字空间namespace定义,嵌套,使用

A.如何定义一个名字空间namespace 名字空间名相当于一个空间,限定了作用域。例:namespace student{1.定义变量int a;2.定义常量const int a;3.定义结构体struct student{int age;char name[10];}4.定义函数void show(){cout<< "你是大帅比!"<< endl;}}B.嵌套:名字空间可以嵌套namespace da{int age;void show(){cout<< "你是大帅比!"<<endl;}namespace xiao{int id;}}C.使用:第一种:全部引用using namespace da;第二种:部分引用using namespace::age;第三种:使用域调用int main(){xiao::show();}补充:引用空间小using namespace da::xiao;int main(){在使用的地方外面使用using namespace 名字空间名}

三、引用:给变量取别名

1.不使用引用 void swap(int a,int b){int temp;temp = a;a = b;b = temp;}上面只是交换了形式参数,实际main函数里面的参数没有改变,形式参数只有在调用函数的时候,才会在内存开辟一个空间,定义两个临时变量来进行操作;而以前c语言的方法是传地址;2.使用引用void swap(int& a,int& b){int temp;temp = a;a = b;b = temp;}在这个demo中,相当于给传进来的第一个参数取别名a,第二个取别名b,相当于外号一样,别人叫大帅比是你,别人叫帅哥也是你,大帅比是你本来的名字,相当于实际参数,帅哥是取的别名,但是实际上还是你

**************************引用和指针的区别(面试必会):

引用必须初始化,指针不一定

引用不占用内存空间,指针占用内存空间

引用一旦初始化就不能修改,指针可以改变指向

有指针的引用,没有引用的指针

有空指针,没有空引用

四、内联函数

内联函数:在返回值类型前面加inline ,例如 inline void show(){}作用:在c++中,某个函数被频繁的调用,就需要不断的出栈入栈,加inline内联函数,会直接把inline的函数拷贝到调用的地方,就不需要跳转到main函数外面的函数去运行。减少消耗(以空间换时间的做法);1.void show(){cout<< "你是大帅比"<<endl;}运行两千万次:大约0.003秒2.inline void show(){cout<< "你是大帅比"<<endl;}运行两千万次:大约0.001秒3.如何查看运行时间:time ./a.out4.限制:内联函数中不能有循环,不能有switch case行数一般小于10行,大多在5行左右,如果达不到内联的要求,尽管加了inline,也不会按照内联处理注意:c++类中,函数默认内联(达不到要求也不会内联)

五、函数重载

定义:在同一作用域下,函数名相同,参数列表不同

参数列表不同分为:

个数不同:

顺序不同;

类型不同;

作用:减少用户的调用复杂性

调用一个函数实现不同效果

减少函数名的数量,防止名字污染

例子;

1.个数不同void show(int a)void show(int a,int b)2.顺序不同void show(int a,double b)void show(double a,int b)3.类型不同void show(int a)void show(double a)注意:返回值类型不同,其他相同不构成重载int show(int a)void show(int a)这个不构成重载特殊重载:const int show()int show()这个构成重载

六、缺省参数

就是在定义函数的时候,给形式参数一个默认值

class person{public:int add(int a=10,int b=20){cout<<a<<b<<endl;}}int main(){add();此时,我不给函数传入实参时,系统就会用定义的时候赋的初始值,结果打印出来是10,20}

总结

有点懒不想写

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。