函数名前加 & 符号的深入理解 C++
#include <iostream> using namespace std; int& test_str()
{
int a = ; return a; //通过返回 a 的地址来进行 值的返回(即 a的地址中所储存的值)
} int ff(int t) //返回的就是个数 a 的值,a属于局部变量,函数调用完后内存自动释放,地址也就不存在
//所以运行 &ff(b) 会报错 :“&”要求左值 ,即没有地址可以取
{
static int a = ;
return a;
} int& fun(int &a)
{
cout <<"aa "<< &a << endl;
return a;
}
int main()
{
/*int *p= &test_str(); cout << *p << endl;
cout << *p << endl;*/ int b ; cout <<"b: "<< &b << endl;
b = ;
cout << "fun :" << &fun(b) << endl; int a; cout <<"a:"<< &a << endl; a= fun(b); //把 fun(b) 地址中储存的值 赋值 给 a ,因此 a 的地址没有发生改变
cout <<"a :"<< &a << endl; /*int b = 1;
cout << "b :" << &b << endl; int *p = new int; *p = ff(b);*/ //cout << "ff :" << &ff(b) << endl; return ;
}
函数名前加 & 符号的深入理解 C++的更多相关文章
- php function 定义时函数名前加&符号的意义
看了很多帖子,但是都不能理解,又去看了很多资料,终于名白了.记下备忘. 问题:php在声明函数时,函数名前面的&符号有什么用? 一直想不通.很多帖子说类似于变量的$a=&$b,但是$b ...
- 某些情况下调用函数为什么要在函数名前加“(void)”
我们知道,在定义函数时,加在函数名前的"void"表示该函数没有返回值.但在调用时,在函数名前加"(void)"的作用又是什么呢? 最明显的一点就是表示程序并不 ...
- MFC中函数名前加 :: 原因
在开发MFC之前,开发的是以AFx(Application Frameworks,x是没有什么意义的)开头的一些函数.但是那个时候开发的函数并没有进行封装,但是有很多很有用的函数.最后AFx开发失败, ...
- php中函数前加&符号的作用分解
这篇文章主要介绍了php中的函数前加&符号的作用分解,其作用叫做引用返回,有点抽象,详细解释请看本文内容,需要的朋友可以参考下 (转载) php变量前面加&符号是什么意思就不用多说了 ...
- JS 中函数名后面加与不加括号的区别
a.onmouseover = fn1; a.onmouseout = fn2; function fn1(){ div.className = "erweima show"; } ...
- php 变量名前加一个下划线含义
https://segmentfault.com/q/1010000006467833 一个下划线是私有变量以及私有方法两个下划线是PHP内置变量. 以下划线开头,表示为类的私有成员. 这只是个不成文 ...
- 回调函数: 一定要在函数名前加上 CALLBACK,否则有可能引起内存崩溃!
今天又遇到一个莫名其妙的内存崩溃问题,问题代码 EnumChildWindows(...): EnumChildWindows(hwnd_panel_text_watermark, (WNDENUMP ...
- c函数声明前加typedef是什么情况
刚才看到APUE(高级UNIX环境编程)里面的apue.h中有一行 typedef void Sigfunc(int); 没搞懂什么意思 其实就是定义一个函数指针类型,等价于 typedef void ...
- 函数名后加const
通过把类成员函数声明为const 以表明它们不修改类对象. 任何不会修改数据成员的函数都应该声明为const类型.如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员 ...
随机推荐
- 什么是PDM?
PDM的含义 PDM的中文名称为产品数据管理(Product Data Management). PDM是一门用来管理所有与产品相关信息(包括零件信息.配置.文档.CAD文件.结构.权限信息等)和所有 ...
- flask factory
https://gist.github.com/zaccrites/c5bcf96ed90907d92042 import jinja2 from flask import Flask, render ...
- HDU2054:A == B ?
A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- day2 数据结构和一些基础知识
请查看我的云笔记链接: http://note.youdao.com/noteshare?id=4171342601326695ec87866e1cc3e410&sub=20CFB149543 ...
- March 1 2017 Week 9 Wednesday
If you are serious giving up something, giving up is not serious at all. 如果你慎重地决定要放弃,那么放弃本身就没什么大不了的. ...
- python入门15 函数
函数的主要作用是实现代码复用 1 python内置函数 2 匿名函数lambda 3 自定义函数 def functionname(arg):... #coding:utf-8 #/usr/bin/p ...
- 20165322 实验三 敏捷开发与XP实践
实验三 敏捷开发与XP实践 安装alibaba 插件,解决代码中的规范问题 根据老师的教程:打开Settings ->Plugins -> Browse repositories...在搜 ...
- kiwi installation
Mainly the installstion methods follow the url: https://github.com/emolch/kiwi/wiki/Installation the ...
- 【转】同步的HttpClient使用详解
http://blog.csdn.net/angjunqiang/article/details/54340398 背景 服务端以及客户端在开发过程中不可避免的会使用到网络请求,网络请求可以使用Jav ...
- C# File流操作
#region 文件读出 private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenF ...