这些上机实验在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++代码中“引用”的使用的更多相关文章

  1. Windows Store App 全球化:在后台代码中引用字符串资源

    上文提到了引用字符串资源具有两种方式,分别是在XAML元素中和在后台代码中引用资源文件中的字符串资源.在第一小节已经介绍了如何在XAML元素中引用字符串资源,本小节将讲解在后台代码中引用字符串资源的相 ...

  2. 代码中引用res里的颜色、图片

    1.imageButton userImgButton 在代码中设置图片,使用res/Drawable 里的图片 Resources res = getResources(); Bitmap inDr ...

  3. 在java代码中,用xslt处理xml文件

    http://blog.csdn.net/zhou_lei/article/details/2661735 ********************************************** ...

  4. 如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码?

    https://www.cnblogs.com/upliver/p/5138160.html 如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码? 随着苹果公司对Swift的 ...

  5. SpriteBuilder代码中弱引用(weak)需要注意的地方

    比如在GameScene类中有一个弹出菜单层实例的引用,我们有: @implementation GameScene{ //other ivars __weak GameMenuLayer *_pop ...

  6. VS中,添加完Web引用(WebServer引用/Web服务引用),写代码时引用不到

    VS中,添加完Web引用(WebServer引用/Web服务引用),写代码时引用不到 添加完之后要等一会儿 等一会儿 等一会儿 就有了

  7. C++中引用编译过的C代码为什么要用“extern c”

    函数经过编译系统的翻译成汇编,函数名对应着汇编标号.  因为C编译函数名与得到的汇编代号基本一样,如:fun()=>_fun, main=>_main  但是C++中函数名与得到的汇编代号 ...

  8. 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 ...

  9. arrays.xml中使用integer-array引用drawable图片资源,代码中如何将这些图片资源赋值到ImageView控件中

    当我们在arrays.xml文件中声明一些图片资源数组的时候: <?xml version="1.0" encoding="utf-8"?> < ...

随机推荐

  1. v-if v-else-if v-else 条件渲染案例

    <body><!--修饰符--><div id="app"> <span v-if="isuser"> < ...

  2. [转帖]Postgresql的csv日志设置

    Postgresql的csv日志设置 2012年06月16日 09:27:00 weixin_34406796 阅读数 24   原文链接:https://my.oschina.net/Kenyon/ ...

  3. PO,VO,DAO,BO,POJO之间的区别与解释

    VO value object:值对象 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象 对应数据库中表的字段. VO和PO,都是属性加上 ...

  4. GBK字符集

    GBK字库 编辑 同义词 GBK一般指GBK字库 GBK全称<汉字内码扩展规范>(GBK即“国标”.“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Sp ...

  5. JS 定时器/延时器

    定时器 创建定时器    window.setInterval(方法类型,间隔时间(1000=1秒)) var timer=window.setInterval(func,2000); var i=0 ...

  6. Java中自增(++)和赋值(=)运算效率比较

    前言   将一个int型数组x[]从初值0变成1.有两种做法: // 只考虑后自增 int length = x.length; for (int i = 0; i < length; i++) ...

  7. asp.net core-1.在控制台创建ASP.NET Core应用程序

    创建asp.net core应用程序,需要先把环境安装好,我这边选的是vs2017 第一步先执行dotnet 我执行dotnet --help可以把所有的命令全部列出来: 红框内就是我们可以用来初始化 ...

  8. 关于arm 的字节对齐

    一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这 ...

  9. Tomcat安装及其目录结构介绍

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat的安装版本有绿色解压 ...

  10. hdu 6180贪心

    题意:有m个工程,一台机器在同一时间只能运行一个工程,告诉你每个工程的起始时间和结束时间,求出最少要多少个机器以及最小的机器总运行时间(机器开始了就不能停了,直到用完该台机器才停止). 题解:由于这里 ...