C++ 学习笔记
来源:互联网 发布:淘宝网怎么刷单挣钱 编辑:程序博客网 时间:2024/05/10 10:23
C++
引用传递实参不能是常数,必须是变量
void function (int & n) { n ++; } int main () { int x; function (x); // ok function (2); // 不允许 }
如果像让引用传递不改变实参的值可以用常量解决这件事
void function (const int & ref) {
// 这样就可以不让引用的值发生改变但是不能进行赋值
//
int a;
ref = a; // 不允许
}- 函数体结束以后函数所占用的空间会被释放,注意如果将函数体内一个变量的地址返回出去,这样会出现野指针。
过载函数 具有相同的函数名,而具有不同的参数表 (参数个数、参数类型、参数顺序)的函数叫做过载函数,然而只有返回值不同是不可以的 (因为解析这个函数的时候只看参数表而不是返回值)。
比如
void p (int x) {
cout << x + 1 << endl;
}void p (double x) {
cout << x << endl;
}
// 这两个函数就可以是过载函数
过载函数解析的时候注意类型的匹配方式 匹配的只是参数表与函数的返回值无关- 精确匹配 (先进行)
- 提升匹配 (可以进行类型转化的)
如果函数的过载参数有两个及以上时 如果转化的方式有多种切不存在精准匹配,这样的话会出现错误
void f (double x,double y);
void f (int x,int y);
f (1.0,2) // error
f (1,1) // ok
f (1.0,1.0) // ok- 参数传递的规则和函数返回值的规则都与变量 / 常量的初始化的规则一直, 关键还是看类型 (int -> double int -> long long )
- 定义函数的目的之一是在不同场合多次使用它,如果一个函数的参数太多,那么表示这个函数的功能太复杂,下决心把它分成多个函数。
阅读全文
0 0
- C++/C学习笔记
- 【C/C++】STL学习笔记
- C/C学习笔记/导言
- C/C学习笔记/结构
- 【c/c++】学习笔记1
- C学习笔记1
- TPC-C学习笔记
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- 学习笔记之c
- C#-学习笔记
- Objective-C学习笔记
- C++PRIMER学习笔记
- C学习笔记
- C 学习笔记
- C/C++学习笔记
- 1.C学习笔记
- 【斜率优化】BZOJ3675(Apio2014)[序列分割]题解
- Java语言概述
- 互联网产品经理的必读书目有哪些
- canvas中save()和restore()方法的使用
- Java 基本语法----关键字、标识符
- C++ 学习笔记
- Target runtime Apache Tomcat v6.0 is not defined 解决
- Java 基本语法----变量
- Java 基本语法----进制、运算符
- Linux环境下MySQL-python安装过程
- 用Jquery控制文本框只能输入数字和字母
- Java 基本语法----流程控制
- 移动APP崩溃测试用例设计
- rocketmq的单机版的安装部署以及简单的hell word