C++ &引用类型的参数传递能不能理解为变量=全局变量的意思

vloso 2018-04-01 04:14:42
初学,,,,
SimpleCat::SimpleCat(SimpleCat&)



之前学的引用符 & 是在前面的,请问这个在前面跟后面的意思跟意义是什么能给小弟说说吗?
...全文
553 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 版主 2018-04-01
  • 打赏
  • 举报
回复
引用 5 楼 vloso的回复:
[quote=引用 4 楼 paschen 的回复:] SimpleCat&表示的是SimpleCat类型的引用,实际实现相当于是传递地址,从来没有放前面(&SimpleCat)的用法
意思是只要是 参数传递地址 &都是写在后面的是规格问题,, 因为我之前学的都是 int &a=b; 这样他在前面,所以不是很明白!如果是固定的传递方式就没有必要纠结为什么了[/quote] int &a=b也是在后面啊(int后面),这里说的后面是指类型后面,至于空格只是分隔,你可以在前加,也可以在后加,也可以都加,还可以加任意多个。。。
vloso 2018-04-01
  • 打赏
  • 举报
回复
引用 4 楼 paschen 的回复:
SimpleCat&表示的是SimpleCat类型的引用,实际实现相当于是传递地址,从来没有放前面(&SimpleCat)的用法
意思是只要是 参数传递地址 &都是写在后面的是规格问题,, 因为我之前学的都是 int &a=b; 这样他在前面,所以不是很明白!如果是固定的传递方式就没有必要纠结为什么了
paschen 版主 2018-04-01
  • 打赏
  • 举报
回复
SimpleCat&表示的是SimpleCat类型的引用,实际实现相当于是传递地址,从来没有放前面(&SimpleCat)的用法
vloso 2018-04-01
  • 打赏
  • 举报
回复
引用 1 楼 hdt 的回复:
不能,传引用类似于传递指针.
我测试过了 将引用符放在前面报错,,现在的问题是 不理解&这个符号在后面的意义请懂的朋友帮忙一下!!
#include<iostream>

class SimpleCat
{
public:
  SimpleCat();
  SimpleCat(SimpleCat&);
  ~SimpleCat();
};
SimpleCat::SimpleCat()
{
    std::cout<<"1\n";
}
SimpleCat::SimpleCat(SimpleCat&)
{
    std::cout<<"2\n";
}
SimpleCat::~SimpleCat()
{
    std::cout<<"结束..\n";
}
SimpleCat FunctionOne(SimpleCat theCat);
SimpleCat *FunctionTwo(SimpleCat *theCat);

int main()
{
  std::cout<<"开始:\n";
  SimpleCat a;
  std::cout<<"3\n";
  FunctionOne(a);
 std::cout<<"4\n";
 FunctionTwo(&a);
   return 0;
}
SimpleCat FunctionOne(SimpleCat theCat)
{
     std::cout<<"5\n";
     return theCat;
}
SimpleCat *FunctionTwo(SimpleCat *theCat)
{
     std::cout<<"6\n";
       return theCat;
}
vloso 2018-04-01
  • 打赏
  • 举报
回复
引用 1 楼 hdt 的回复:
不能,传引用类似于传递指针.
都是书本的例子,不明白 引用在前面后面的意思,所以才上论坛问问,兄弟还是没说明白啊
真相重于对错 2018-04-01
  • 打赏
  • 举报
回复
不能,传引用类似于传递指针.

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧