C++语法2--函数过程
2017-03-29 11:01
162 查看
1.限于计算机的硬件资源和性能因素,递归调用的嵌套深度实在有限,所以逼近的速度应该比较现实。
2.函数重载
1)C++编译器能够根据函数参数的类型、数量和排列顺序的差异,来区分同名函数,其技术成为重载。同名函数应该具有相同功能,这样可简化编程和增强程序可读性。
2)重载只匹配参数个数,顺序,类型,不区分返回类型
3)C++按三个步骤匹配调用函数
①寻找一个严格匹配的,如果找到,就调用
②通过相容类型的隐式转换寻求一个匹配,如果找到,就调用
③通过用户定义的转换寻求一个匹配,若能找到唯一的,就调用 点击(此处)折叠或打开
void print(double);
void print(int);
void func(){
print(1); //匹配void print(int);
print(1.0); //匹配void print(double);
print('a'); //匹配void print(int);
print(3.14159f);//匹配void print(double);
}
当同时声明void
print(float);void print(double)
调用时显示声明print(long(a)),或者print(double(a));
4)重载技术是用名称压轧技术来改变函数名而实现的。
3.默认参数:在给函数声明中使用默认参数,在调用时,对应的实参可以省略。其效果类似函数重载,但本质上是两回事。
4.效率就是如何在合理的空间占用下获得最有效的运行性能。
5.内敛函数:
1)对函数的内敛声明必须在调用之前
2)适用场合
①函数体较小。
②程序中特别是循环中反复执行该函数。
③程序并不多出出现该函数调用。
6.程序员首选的方法是STL中,选择容器来存储数据,只有在很特别或很专业的情况下,才自己定义或派生容器数据类型。
7.
1)全局变量,一次定义,多出声明。
2)全局常量,在一个文件只能定义一次,但可以在多个文件重复定义。
3)new申请的内存空间开始,一直到人为delet前,空间实体都有效,并且有效的堆空间实体可以被夸函数访问。
8.名空间
1)程序是跨文件的,名空间也是跨文件的;程序描述世界,名空间也对应整个世界。
2)局部名空间默认 点击(此处)折叠或打开
#include <iostream>
using std::cout;
using std::endl;
int abs(int a){
return a>0?a:-a;
}
int main(){
int a = abs(-5);
int b = std::abs(-5);
cout<<a<<endl<<b<<endl;
}
9.
1)由于头文件可以嵌套,为了避免有些内容重复定义,最好使用#ifndef…#define…#endif
2)头文件卫视 点击(此处)折叠或打开
#ifndef DATE
#define DATE
Struct Data{
Int year,month,day;
}
#endif
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1045) | 评论(0) | 转发(2) |
0
上一篇:C++语法1
下一篇:详解 ARM Linux启动过程分析
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
什么是shell
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
2.函数重载
1)C++编译器能够根据函数参数的类型、数量和排列顺序的差异,来区分同名函数,其技术成为重载。同名函数应该具有相同功能,这样可简化编程和增强程序可读性。
2)重载只匹配参数个数,顺序,类型,不区分返回类型
3)C++按三个步骤匹配调用函数
①寻找一个严格匹配的,如果找到,就调用
②通过相容类型的隐式转换寻求一个匹配,如果找到,就调用
③通过用户定义的转换寻求一个匹配,若能找到唯一的,就调用 点击(此处)折叠或打开
void print(double);
void print(int);
void func(){
print(1); //匹配void print(int);
print(1.0); //匹配void print(double);
print('a'); //匹配void print(int);
print(3.14159f);//匹配void print(double);
}
当同时声明void
print(float);void print(double)
调用时显示声明print(long(a)),或者print(double(a));
4)重载技术是用名称压轧技术来改变函数名而实现的。
3.默认参数:在给函数声明中使用默认参数,在调用时,对应的实参可以省略。其效果类似函数重载,但本质上是两回事。
4.效率就是如何在合理的空间占用下获得最有效的运行性能。
5.内敛函数:
1)对函数的内敛声明必须在调用之前
2)适用场合
①函数体较小。
②程序中特别是循环中反复执行该函数。
③程序并不多出出现该函数调用。
6.程序员首选的方法是STL中,选择容器来存储数据,只有在很特别或很专业的情况下,才自己定义或派生容器数据类型。
7.
1)全局变量,一次定义,多出声明。
2)全局常量,在一个文件只能定义一次,但可以在多个文件重复定义。
3)new申请的内存空间开始,一直到人为delet前,空间实体都有效,并且有效的堆空间实体可以被夸函数访问。
8.名空间
1)程序是跨文件的,名空间也是跨文件的;程序描述世界,名空间也对应整个世界。
2)局部名空间默认 点击(此处)折叠或打开
#include <iostream>
using std::cout;
using std::endl;
int abs(int a){
return a>0?a:-a;
}
int main(){
int a = abs(-5);
int b = std::abs(-5);
cout<<a<<endl<<b<<endl;
}
9.
1)由于头文件可以嵌套,为了避免有些内容重复定义,最好使用#ifndef…#define…#endif
2)头文件卫视 点击(此处)折叠或打开
#ifndef DATE
#define DATE
Struct Data{
Int year,month,day;
}
#endif
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1045) | 评论(0) | 转发(2) |
0
上一篇:C++语法1
下一篇:详解 ARM Linux启动过程分析
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
什么是shell
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 在FORTRAN的过程和函数中调用C++函数的方法
- 过程抽象----函数(C++)
- plsql 语法、过程、函数、包、触发器
- Delphi共享c++的函数过程使用心得..
- c++和java在socket通信过程中发送和接收函数的问题
- 一次C++语法调试的过程(很悲哀,我的C++原来还有这么大的差距!)
- C++语法基础--函数对象,函数对象的函数适配器(绑定器,求反器)
- C++带有虚函数的单继承类的构造过程探索,msvc和gcc编译器
- 存储过程基本语法与常用函数
- MySQL 储存过程-原理、语法、函数详细说明
- mysql存储过程基本语法和函数
- mysql存储过程基本语法和函数
- C/C++的函数(Function)与过程(Procedure)
- C++ 中static变量在函数被调用的过程中维持其值不变
- oracle过程与函数的基本语法
- VB6:编写一个分析sqlserver存储过程执行语句"execute procedurename par1,par2,......."语法是否正确的函数
- C++中函数调用中构造函数、析构函数、赋值过程
- oracle 最简单的学习笔记,增删改查,PLSQL基本语法,游标,函数,存储过程的实现
- 浅谈android系统java调用C++函数传参过程
- C++语法基础--泛型算法(generic algorithm)--插入迭代器back_inserter(),front_insertor(),inserter()以及next()函数简介