函数返回尽然能作为左值     函数参数里的二级指针  函数参数里的(数据类型引用) 经典不是优雅

#include <iostream>
#include <iomanip>
#include <stdio.h>
using namespace std;struct CAssoc
{CAssoc* pNext;void* unused;void* value;
};
CAssoc *gpGloable=NULL;void*& func(CAssoc **temp);void main()
{func(&gpGloable)="ABCDEFGHIJKLMNOPQRST";cout<<(char*)gpGloable->value<<endl;printf("%s\n\n",gpGloable->value);////unsigned int a=100;unsigned int *p=NULL;p=&a;unsigned int **q=NULL;q=&p;cout<<a<<"\t"<<*p<<"\t"<<p<<"\t"<<**(&p)<<endl;printf("%d\n\n",*p);////CAssoc ss;ss.unused=&a;ss.value="FFFFFFFF";unsigned int xx=(unsigned int)(*&(ss.unused));cout<<hex<<setw(8)<<xx<<endl;cout<<(int*)(ss.unused)<<endl;printf("%d\n\n",*&(ss.unused));printf("rrrrrrr%d\n\n",((int*)(ss.unused)));cout<<(char*)ss.value<<endl;printf("%s\n\n",ss.value);
}void*& func(CAssoc **temp)
{CAssoc *p=new CAssoc;*temp=p;return p->value;
}

函数的返回竟然能作为左值相关推荐

  1. i++为什么不能作为左值,而++i可以作为左值

    今天看书见到如下代码: int a=2; ++a++; 根据操作符的优先级和结合性知,操作符++的优先级为3,结合性为右结合,即++a++;可以理解为++(a++); 但我把代码放在vs2015上,结 ...

  2. C++知识点8——函数的返回值

    函数的返回值不能是数组或函数,但是可以是是数组和函数的指针或引用 函数返回一个值的过程和初始化完全一致,先创建一个临时变量,用返回值初始化该临时变量,然后用该临时变量去初始化另一个变量或者给另一个变量 ...

  3. 常成员函数函数和返回值为常量的函数

    常成员函数,它的形式是在成员函数后面加上const修饰,它是为了防止特定函数改变本类对象的数据成员而产生的,目的就是保护数据成员.在常成员函数中,你不能改变数据成员的值,你也不能在常成员函数中调用非常 ...

  4. Swift2.0语言教程之函数的返回值与函数类型

    Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有 ...

  5. iif函数 vfp_VFP 中 函数 IIF()返回值

    展开全部 IIF()函数,返回根据逻辑表达式的e5a48de588b662616964757a686964616f31333337623365值的两个值中的一个. 语法: IIF(lExpressio ...

  6. 《C++面向对象高效编程(第2版)》——3.16 从函数中返回引用

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第3章,第3.16节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

  7. 引用类型作为函数的返回类型

    引用类型作为函数的返回类型,那其的返回值只能是左值(相当为变量),而这个返回值有两种用法.(注意的是:一:当函数的返回类型是引用时,返回变量不能是临时变量;二:不能使用引用变量接受返回类型不是引用的函 ...

  8. 五分钟看懂python函数(同Java方法作比较)

    今天来学习python函数,对于有java基础的我来说那岂不是手到擒来 既然已经有java基础了,那么首先我想到的就是两个问题 python如何定义函数 python如何调用函数 python中如何定 ...

  9. java返回不同类型_Java,如果我想从函数中返回不同的类型怎么办?

    public WHATTOWRITEHERE test() { try { transaction.begin(); code which may trigger exception transact ...

最新文章

  1. 宜信开源|数据库审核软件Themis的规则解析与部署攻略
  2. python语言编程基础-Python语言入门详解!快速学成Python!
  3. [ 1001] 动态开辟二维数组的说明
  4. Notepad++ 搜索功能学习总结
  5. Java基础之集合归总
  6. Linux性能测试 命令大全
  7. cpu频率_新版win10修复CPU频率显示不正确的bug
  8. 信息学奥赛C++语言:语文成绩
  9. 基于京东家电商品知识图谱的自动问答系统(三) -- Java实现问答系统
  10. 当当网图书信息数据抓取V1
  11. opendrive文件结构
  12. postman并发测试_PostMan接口压力测试
  13. [译]概率论沉思录——第一章合情推理
  14. 经纬度 度分秒转换为小数
  15. python淘宝自动发货源码_发货100虚拟商品自动发货系统下载
  16. 大数元科技牵手中央财经大学 助力财税金融体制改革
  17. linux内核page结构体的PG_referenced和PG_active标志
  18. 为什么很难统一量子力学与广义相对论?
  19. SCOM2019安装监控代理
  20. 系列解读Dropout

热门文章

  1. ldconfig 和 ldd 命令用法
  2. efuse 加密文件 linux,乐鑫关于“故障注入”和 “eFuse 保护”的安全建议 (CVE-2019-17391)...
  3. php表单的提交方法有什么,php – 确定哪个表单已提交的最佳方法是什么?
  4. IAR软件中直接查看编译后代码大小
  5. 第一个SpringBoot项目——CRUD
  6. SpringBoot整合MyBatis并实现简单的查询功能
  7. 虹膜归一化:仿射——图解仿射变换的旋转矩阵推导
  8. 不学无数——适配器模式
  9. 电脑异常关闭导致dubbo启动错误问题
  10. HDOJ1012 u Calculate e