C++函数学习笔记
C++继承了C语言的全部语法,也包括函数的定义和使用方法。
调用其他函数的函数因为位高权重被尊称为主调函数,被其他函数调用的函数称为被调函数。
函数的返回值由return语句给出,return 表达式;
一个函数也可以不将任何值返回给主调函数,这时它的类型标识符为void,可以不写return语句,但也可以写一个不带表达式的return语句(return;)
函数的调用:一般在定义了一个函数之后就可以直接调用这个函数,但如果希望在定义一个函数前调用它,则需要在调用函数之前添加该函数的函数原型声明,不多说了看代码
#include<iostream>
using namespace std;
double power(double x,int n)
{
double val=1.0;
while(n--)
val*=x;
return val;
}
int main()
{
cout<<"5 to the power 2 is"<<power(,)<<endl;
//函数调用作为一个表达式出现在输出语句中
return ;
}
嵌套调用
函数允许嵌套调用,如果函数1调用了函数2,函数2再调用函数3,便形成了函数的嵌套调用
//这是求平方和程序的一部分
int fun2(int m){
return m*m;
}
int fun1(int x,inty){
return fun2(x)+fun2(y);
}
递归调用
函数可以直接或间接的调用自身,称为递归调用
//直接调用
void fun1(){
...
fun1();
...
}
//间接调用
void fun1(){
...
fun2();
...
}
void fun2(){
...
fun1();
...
}
函数的参数传递
值传递:函数调用时传递的是实参的值,是单向的传递过程。形参值的改变对实参不起作用。
引用传递:引用是一种特殊类型的变量,可以被认为是令一个变量的别名。用引用作形参,在函数调用时发生的参数传递,称为引用传递。
//值传递
void swap(inta,intb){}
//引用传递
void swap(int &a,int &b){}
内联函数:内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。直白一点一点表达的话就是用空间换时间,好吧,了解微机原理的孩子秒懂~
定义与普通函数的定义方式几乎一样,只需要使用关键字inline
inline 类型说明符 函数名(含类型说明的形参表)
{
语句序列
}
带默认形参值的函数
函数在定义时可以预先声明默认的形参值,说几点要注意的吧1有默认值的形参必须在形参列表的最后;2在相同的作用域内,不允许在同一个函数的多个声明中对同一个参数的默认值重复定义,即使值不同也不行,就像我们不能同时左手画方右手画圆一样。
函数重载
两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载,重载函数的形参必须不同:个数不同或者类型不同
运行栈和函数调用的执行
栈是一种容纳数据的容器其特点是~后进先出先进后出
函数先讨论到这里,欲知类与对象如何,且听下回分解~
C++函数学习笔记的更多相关文章
- C++学习基础十六-- 函数学习笔记
C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...
- contiki-main.c 中的process系列函数学习笔记 <contiki学习笔记之六>
说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ---------------------------------------------- ...
- Swift2.0 函数学习笔记
最近又有点忙,忙着找工作,忙着适应这个新环境.现在好了,上班两周周了,也适应过来了,又有时间安安静静的就行我们前面的学习了.今天这篇笔记,记录的就是函数的使用.下面这些代码基本上是理清楚了函数的额使用 ...
- MYSQL存储过程和函数学习笔记
学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆课程笔记的综合. 1. 什么是存储过程和函数 将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和 ...
- loss函数学习笔记
一直对机器学习里的loss函数不太懂,这里做点笔记. 符号表示的含义,主要根据Andrew Ng的课程来的,\(m\)个样本,第\(i\)个样本为\(\vec x^{(i)}\),对应ground t ...
- jQuery 取消事件冒泡 阻止后续内容执行 闭包函数 (学习笔记)
1.取消事件冒泡 <title>取消事件冒泡</title> <style> div { border:solid 1px black; } </style& ...
- Generator 函数学习笔记
// 使用 function* 定义一个 generator 函数 function* helloWorldGenerator() { yield 'hello'; // yield 关键字作为暂停的 ...
- async 函数学习笔记
async函数就是Generator函数的语法糖. var fs = require('fs'); var readFile = function (fileName) { return new Pr ...
- Linux—fork函数学习笔记
fork()函数 在赋值语句pid = fork();之前,只有一个进程在执行这段代码,但在这条语句之后,就变成两个进程在执行了,这两个进程的代码部分完全相同.> 两个进程中,原先就存在的那个被 ...
- zepto源码--几个判断函数--学习笔记
几个需要经常用到的类型判断: 自定义一个类似于typeof的函数,提供更多的类型判断. class2type[toString.call(obj)] 是对class2type的取值 在后面通过循环对c ...
随机推荐
- Linux下c/c++项目代码覆盖率的产生方法
最近做了一系列的单元测试相关的工作,除了各种规范及测试框架以外,讨论比较多的就是关于代码覆盖率的产生,c/c++与其他的一些高级语言或者脚本语言相比较而言,例如 Java..Net和php/pytho ...
- 对于一个网站,如何禁止直接从浏览器Web browser中访问js文件
比如有一个网站,https://testsystem.infotest.com 在这个网站的内容文件目录下面,有一个scripts文件夹,该文件夹中有一个js文件,比如lukeTest.js文件 这样 ...
- iOS应用内HTTP服务上传文件
相信很多朋友都用过AirAV.100tv这类iOS视频播放应用中通过Wifi,从PC上输入Web地址上传文件到iOS设备上,我也一直想实现这个功能,苦于知识掌握有限,后来在其他群友的指导下参照很多大神 ...
- Codeforces Round #116 (Div. 2, ACM-ICPC Rules) E. Cubes (尺取)
题目链接:http://codeforces.com/problemset/problem/180/E 给你n个数,每个数代表一种颜色,给你1到m的m种颜色.最多可以删k个数,问你最长连续相同颜色的序 ...
- Android 多点触控错误处理(java.lang.IllegalArgumentException: pointerIndex out of range)
最近做View的多点触控时,每次第一次触控事件完美运行,第二次就直接崩了,错误信息如下: 01-03 00:05:44.220 4377-4410/system_process E/AndroidRu ...
- UVA 11134 - Fabled Rooks(贪心+优先队列)
We would like to place n rooks, 1 ≤ n ≤ 5000, on a n×n board subject to the following restrict ...
- Intel® RealSense™ SDK Architecture
In this article, we highlight some of the key changes that you can expect to see in the Intel RealSe ...
- 配置文件struts2Struts2配置文件模块化包含(include)与action总结
本文是一篇关于配置文件struts2的帖子 <include>标签 当Struts配置文件比较多,需要模块化分别或分开成为多个配置文件时,这个功能比较好. 则需要使用<include ...
- Codeforces Round #278 (Div. 1) B. Strip multiset维护DP
B. Strip Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/487/problem/B De ...
- Codeforces Round #329 (Div. 2) A. 2Char 暴力
A. 2Char Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/593/problem/A De ...