C/C++笔记:函数返回指针和引用

typedef struct Role {
	char* Name;
	int   Hp;
	int   MaxHp;
	int   Mp;
	int   maxMp;
	int   lv;
}*PROLE,ROLE;
1. 返回结构体
  • 性能折损很大
Role CreateMonster(const char* name, int hp, int mp) {
   Role re {name, hp, hp, mp, mp};
   return rt;
}
2. 返回指针
  • 不能返回局部变量的指针
PROLE CreateMonster(const char* name, int hp, int mp) {
  // 不能返回局部变量的指针
  // Role re {name, hp, hp, mp, mp};
  // return rt;
  PROLE re = new Role {name, hp, hp, mp, mp};
  return rt;
}
3. 返回引用
Role& CreateMonster(const char* name, int hp, int mp) {
    PROLE re = new ROLE{ cstr(str),Hp,Hp,Mp,Mp,1 };
	return *re;
}

ROLE& role = CreatMonster("aoteman", 1500, 1500);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值