引用和const引用(笔记)
2014-02-19 08:15
183 查看
1.引用
2.const引用
3.引用作为参数传递
#include <iostream>
using namespace std;
//引用作为参数传递
void swap(int& x, int& y)
{
int temp = x;
x =y;
y = temp;
}
int main(void)
{
int a = 5;
int b = 6;
swap(a, b); //在函数调用时,引用被初始化x = a, y = b;
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}4.引用作为函数返回值
#include<iostream> using namespace std; //引用不是变量 //引用仅仅是变量的别名 //引用没有自己独立的空间 //引用要与它锁引用的变量共享空间 //对引用所做的改变实际上是对它所引用变量的改变 //引用在定义的时候要进行初始化 //引用已经初始化,不能重新指向其它变量 int main(void) { int val = 100; // int& refval; error C2530: “refval”: 必须初始化引用 int& refval = val; refval = 200; cout<<"val="<<val<<endl; //输出200 int val2 = 500; refval = val2; //不代表将refval引用至val2这个变量 //仅仅只是代表将val2赋值给refval cout<<"val="<<val<<endl; }
2.const引用
#include<iostream> using namespace std; //const引用是指向const对象的引用 int main(void) { const int val = 1024; const int& refval = val; // int& ref2 = val; //Error,“初始化”: 无法从“const int”转换为“int &” // refval = 200; //Error,refval是一个常量 int val2 = 1024; const int& ref3 = val2; //const 引用指向非const对象 double val3 = 3.14; const int& ref4 = val3; //会丢失精度 //等价于int temp = val3 //const int& ref4 = temp; cout<<"ref4="<<ref4<<endl; cout<<"val3="<<val3<<endl; // int& ref5 = val3; // error C2440: “初始化”: 无法从“double”转换为“int &” return 0; }
3.引用作为参数传递
#include <iostream>
using namespace std;
//引用作为参数传递
void swap(int& x, int& y)
{
int temp = x;
x =y;
y = temp;
}
int main(void)
{
int a = 5;
int b = 6;
swap(a, b); //在函数调用时,引用被初始化x = a, y = b;
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}4.引用作为函数返回值
#include <iostream> using namespace std; //引用作为函数返回值 //注意:不能返回对局部变量的引用 int a[] = {0,1,2,3,4}; int& index(int i) { return a[i]; } int main(void) { index(3) = 100; //引用作为函数返回值,使得函数可以放在赋值运算符左边 //函数返回引用,引用在函数返回的时候初始化 //index(3)在函数返回的时候被初始化a[3] cout<<"a[3]="<<a[3]<<endl; return 0; }
相关文章推荐
- C++ Primer 笔记五 引用(const)1
- VS2010 C++ 学习笔记(六) this指针 const 指针 引用
- C++ 学习笔记(2)变量和基本类型(复合类型:引用、指针)、const、constexpr、typedef(using)、auto、decltype
- 函数传递const和非const非引用参数的笔记 - 20150905
- c++学习笔记-------const限定修饰符和引用
- (笔记)关于函数形参中使用const引用和非const引用间的区别
- C++基础学习笔记----第六课(const和引用的扩展、重载函数和C方式编译的深入)
- C++学习笔记(一)——内存、引用、const
- 【从C到C++学习笔记】引用/const引用/引用传递/引用作为函数返回值/引用和指针的区别
- C++学习笔记1-const引用
- Effective C++ (E3 20、21)笔记之以传const引用代替传值、谨慎指定返回类型
- C++笔记(一)const与define,指针,引用,函数,类成员
- C++ Primer 笔记五 引用(const)1
- C++学习笔记--再谈const和引用
- const 引用——c++ primer 学习笔记
- C/C++中关于地址、指针和引用变量的学习笔记(六) : const和void
- 学习C++笔记(引用、const、iterator)
- [C++学习笔记]const引用
- Lua程序设计 第17章 弱引用笔记
- C语言学习笔记 (002) - C++中引用和指针的区别(转载)