c++代码中“引用”的使用
这些上机实验在Qt5.9上完成的,具体步骤

- 结构体引用
#include <iostream>
#include<stdlib.h>
using namespace std;
struct mycoach
{
string name;
int age;
}; void *addcoachinfo(mycoach * &cpc,string name,int age)
{
cpc=(mycoach*)malloc(sizeof(mycoach));
cpc->name=name;
cpc->age=age;
cout<<"大家好我是"<<cpc->name<<"今年芳龄"<<cpc->age<<endl;
free(cpc);
cpc=NULL;
} int main()
{
mycoach *cpc=NULL;
addcoachinfo(cpc,"陈培昌",);
return ;
}

- 引用分为普通引用和常引用
int main()
{
int a=;
int &aa =a;
aa=;
printf("%d\n",aa);
return ;
}
常引用的目的往往是不希望被修改


引用实际上是内存的别名,由于字面量没有地址,因此第9行的代码有误
正确的做法是第10行
函数中常引用,目的是让实际参数只拥有只读属性
- 对指针的引用
#include <iostream> using namespace std; struct mycoach
{
string name;
int age;
}; int main()
{
mycoach *cpc = (mycoach*)malloc(sizeof(mycoach));
cpc->name="陈培昌";
mycoach * &wr=cpc;
wr->name="魏锐";
cout <<cpc->name<< endl;
return ;
}

- 对比:常量引用
#include <iostream> using namespace std; struct mycoach
{
string name;
int age;
}; void showinfo(const mycoach &cpc)
{
//cpc.name="中国队长";如果去掉注释就报错,常量不可修改
cout<<"hello! I'm"<<cpc.name<<endl;
} int main()
{
mycoach *cpc = (mycoach*)malloc(sizeof(mycoach));
cpc->name="陈培昌";
const mycoach &wr=*cpc;//常量引用只能引用字面量
showinfo(wr);
return ;
}

c++代码中“引用”的使用的更多相关文章
- Windows Store App 全球化:在后台代码中引用字符串资源
上文提到了引用字符串资源具有两种方式,分别是在XAML元素中和在后台代码中引用资源文件中的字符串资源.在第一小节已经介绍了如何在XAML元素中引用字符串资源,本小节将讲解在后台代码中引用字符串资源的相 ...
- 代码中引用res里的颜色、图片
1.imageButton userImgButton 在代码中设置图片,使用res/Drawable 里的图片 Resources res = getResources(); Bitmap inDr ...
- 在java代码中,用xslt处理xml文件
http://blog.csdn.net/zhou_lei/article/details/2661735 ********************************************** ...
- 如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码?
https://www.cnblogs.com/upliver/p/5138160.html 如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码? 随着苹果公司对Swift的 ...
- SpriteBuilder代码中弱引用(weak)需要注意的地方
比如在GameScene类中有一个弹出菜单层实例的引用,我们有: @implementation GameScene{ //other ivars __weak GameMenuLayer *_pop ...
- VS中,添加完Web引用(WebServer引用/Web服务引用),写代码时引用不到
VS中,添加完Web引用(WebServer引用/Web服务引用),写代码时引用不到 添加完之后要等一会儿 等一会儿 等一会儿 就有了
- C++中引用编译过的C代码为什么要用“extern c”
函数经过编译系统的翻译成汇编,函数名对应着汇编标号. 因为C编译函数名与得到的汇编代号基本一样,如:fun()=>_fun, main=>_main 但是C++中函数名与得到的汇编代号 ...
- How do I duplicate a resource reference in code behind in WPF?如何在WPF后台代码中中复制引用的资源?
原文 https://stackoverflow.com/questions/28240528/how-do-i-duplicate-a-resource-reference-in-code-behi ...
- arrays.xml中使用integer-array引用drawable图片资源,代码中如何将这些图片资源赋值到ImageView控件中
当我们在arrays.xml文件中声明一些图片资源数组的时候: <?xml version="1.0" encoding="utf-8"?> < ...
随机推荐
- [转帖]1A2C多口充 紫米USB充电器65W桌面快充版评测
1A2C多口充 紫米USB充电器65W桌面快充版评测 2019年10月04日 07:48 1786 次阅读 稿源:充电头网 1 条评论 https://www.cnbeta.com/articles/ ...
- [官网]Postgresql 的客户端应用 pg_config
pg_config Name pg_config -- 检索已安装版本的 PostgreSQL 的信息 Synopsis pg_config {--bindir | --includedir | -- ...
- C++Primer 5th Chap7 Classes
this关键字: 在成员函数内部可以直接调用函数的对象的成员(类成员的直接访问看做是对this隐式引用,默认this指向非常量) 例如:string isbn() const{return this- ...
- ThinkPHP读取配置信息
use think\Config; dump(Config::get()); // 或者 dump(config());示例:dump(Config::get('database.database') ...
- Spring Cloud 中注册中心Eureka客户端配置
注册中心配置客户端(注册一个虚拟的商品服务) 一.新建项目: 1.创建一个SpirngBoot应用,增加服务注册和发现依赖 2.模拟商品信息,存储在内存中 3.开发商品列表接口 ...
- 待续:s5p6818移植 uboot 2014.07 移植
前言: 之前半年一直在嵌入式Linux移植中挣扎,不知道该从哪个方面开始入手,也失败了很多次,苦思了很久最终决定先从uboot开始. uboot版本的不同会导致添加板子的时候的配置方法会不一样.由于手 ...
- mybatis相关知识积累
mybatis Statement Statement对象用于将 SQL 语句发送到数据库中. 实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器: Stateme ...
- static的用法详解
一.静态类 [1] 仅包含静态成员. [2] 静态类的本质,是一个抽象的密封类,所以不能被继承,也不能被实例化.也就是说,不能使用 new 关键字创建静态类类型的变量. [4] 不能包含实例构造函数. ...
- bin文件夹下的某个dll总是自动刷新为不同版本的dll的解决方法
如上图所示,一般这种问题都是dll版本和配置文件中的dll版本对应不上才引起的,可以通过替换对应版本的dll或者修改配置文件中的版本号即可. 然而我的情况是:修复后,还是不定时出现这样的问题,我以为是 ...
- .netcore项目中使用log4net
log4net配置文件 引入log4net包,创建一个config目录,专门用来放配置文件,添加log4net.config文件. 编写配置文件. <?xml version="1.0 ...