除此之外,若在函数中使用引用作为参数,如下实例:将 a 当实参传给函数 func,x 为函数 func 的形参且为引用,在函数 func 中 x 被赋予了新的值 3,于是 a 的值也跟着变为 3。
#include <iostream>
using namespace std;
int func(int &x)//函数func将引用当作形参
{
x=3;
return 0;
}
int main ()
{
int a=1;//声明整型变量
func(a);////给函数func传参
cout<<"a的值为: "<<a<<endl;//输出a的值,结果为“a的值为3”
return 0;
}
int& r = i; 和 int r = i; 不同之处应该是内存的分配吧,后者会再开辟一个内存空间
#include <iostream>
using namespace std;
int main ()
{
int i;
int& r = i;
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
cout << "Addr of i: " << &i << endl;
cout << "Addr of r: " << &r << endl;
int x;
int y = x;
x = 6;
cout << "Value of x : " << x << endl;
cout << "Value of y : " << y << endl;
cout << "Addr of x: " << &x << endl;
cout << "Addr of y: " << &y << endl;
return 0;
}
输出结果:
Value of i : 5
Value of i reference : 5
Addr of i: 0x7fff59cda988
Addr of r: 0x7fff59cda988
Value of x : 6
Value of y : 32767
Addr of x: 0x7fff59cda97c
Addr of y: 0x7fff59cda978
1919C++ 日期 & 时间
以 20**-**-** **:**:** 格式输出当前日期:
输出格式类似:
1918C++ 引用
我来给大家分享一下我对引用的理解:假如你被你的同学起了绰号叫"舞法少女",那么这个绰号就相当于你名字的一个引用,在同学看来,无论叫哪个都是在叫你。
除此之外,若在函数中使用引用作为参数,如下实例:将 a 当实参传给函数 func,x 为函数 func 的形参且为引用,在函数 func 中 x 被赋予了新的值 3,于是 a 的值也跟着变为 3。
1917C++ 引用
1.引用必须在声明时将其初始化,不能先声明后赋值。
上述代码编译时会报以下错误:
错误:'rodents' 声明为引用但未初始化。
2.引用更接近const指针,必须在创建时进行初始化,一旦引用和某个变量关联起来,该引用就会一直指向该变量。
上面代码实际上是下述代码的伪装表示:
例子:
输出结果:
从结果可以看出,虽然在调用 rodent = bunnies; 后引用 rosent 的值变为 50,但是 rosent 所指向的地址空间还是指向了 rats,没有发生改变,说明 rodent = bunnies; 只是将 bunnies 的值赋值给引用 rodent 所指向的变量,没有改变引用的指向。
1916C++ 引用
int& r = i; 和 int r = i; 不同之处应该是内存的分配吧,后者会再开辟一个内存空间
输出结果:
1915C++ 指针
C++ 中允许声明指向函数的指针,被称为函数指针。
函数指针的声明类似于函数的声明,只不过将函数名变成了 (*指针名),定义方式如下:
例如:
这里就定义了一个指向函数(这个函数参数仅仅为一个 int 类型,函数返回值是 int 类型)的指针 fp。
函数指针在声明后就可以被指向符合条件的函数,例如:
在这之后,我们就可以通过函数指针来调用函数:
更多内容可参考:C++ 函数指针 & 类成员函数指针