C++学习(3)
来源:互联网 发布:mac终端目录 编辑:程序博客网 时间:2024/06/03 10:32
1、引用
引用是已定义变量的别名(另一个名称)
通过将引用变量作为参数,函数将使用原始数据,而不是其拷贝。从而可以修改原始数据。
int &指的是指向int的引用。
引用必须在定义时马上被初始化,如:int &ra = a;
而不能这样:
int a;
int &ra;
ra = a;
2、函数重载
函数的重载是以形参类型和个数来区分的,而不是以形参名和返回值来区分
int add(int x, int y);
int add(int a, int b);
不以形参名来区分
int add(int x, int y);
void add(int x, int y);
不以函数返回类型来区分
3、函数模板
template <class T>
void Swap(T &a, T &b)
{
T temp;
temp = a;
a = b;
b = temp;
}
式中T代表任意数据类型。
具体化模板:template <>void Swap<T>(T &, T &);
优先级:
非模板版本>显式具体化>模板版本
3、数据存储
堆区:由程序员分配和释放,是动态分配的存储空间,如new和malloc
栈区:由编译器自动分配和释放,对刚函数的参数,局部变量,临时变量和数组等
全局数据区:存放全局变量和静态变量
volatile是防止因编译器的优化而改变或省略某些变量。加上volatile则会每次从它最原始的位置读取数据。
0 0
- 一起学习C,C++__boost--智能指针(3)
- c++/c学习笔记-基础(3)
- c语言库函数学习3(memory)
- c#.net 多线程编程学习(3)
- C语言学习笔记(3)
- C程序设计语言学习笔记(3)
- C++Primer学习笔记(3)
- 学习笔记:C程序基础(3)
- C++STL学习(3)容器list
- c学习笔记(3)
- c语言学习3
- C 语言学习 3
- c语言学习(3)
- C语言学习3
- c学习笔记3
- [C学习]函数(?)
- C#(WINFORM)学习
- C学习(2)
- 解决eclipse乱码问题
- Android内存分析和调优
- VC ++ Socket传输文件
- 存储过程的写法 要查询存在于表A而不在表B的所有数据 也就是要查询A表中所有不与B交集的数据
- jQuery学习笔记之三
- C++学习(3)
- 霍夫曼编码及实现
- mac安装hadoop伪分布式
- eclipse c +jre开发环境的建立(嵌入式linux,64位ubuntu,32位arm板)
- Google工程师:复杂是软件的死敌
- 最好的团队
- 【codevs 3995】最长严格上升子序列(加强版)
- Druid是一个JDBC组件 数据库语句监控
- [分享]Setup Was Unable to Create a DCOM User Account