求助,关于引用的问题

向日葵De视界 2014-05-08 03:55:59
我定义一个结构体,在结构体中有一个vector字段,在调用函数的时候,参数传的是结构体的引用,我在类的成员变量中又定义了一个与结构体中一样的vector成员变量,在函数中我将传来的结构体引用中的结构赋值给类的成员变量vector,请问这个成员变量是引用类型么? 范例代码如下:
class a
{
public : vector<int> v1;

void fuc(s1& t)
{
v1 = t.v2;
}
}

struct s1
{
int a;
int b;
vector<int > v2
}


我操作v1会对结构体中的vector有影响不?
...全文
152 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2014-05-13
  • 打赏
  • 举报
回复
是元素间直接赋值的,除非你vector里面保存的是指针,这另说了!
rmaly 2014-05-13
  • 打赏
  • 举报
回复
不会有影响,v1只是v2的副本
ithiker 2014-05-11
  • 打赏
  • 举报
回复
t是引用,v1不是引用 通过t.v2对v1赋值和引用没关系,是正常的vector赋值,会调用拷贝构造 所以操作v1是自己的内存,不会改变结构体
allenltiverson 2014-05-11
  • 打赏
  • 举报
回复
引用谁,你就是在直接操作谁。 void fuc(s1& t) { v1 = t.v2; } 这里,实际上你直接修改t的变量的话必然会影响到v2.但这里是取值。如果你定义的v1是个引用,那么操作v1必然会影响到v2.但实际上虽然s1是引用,但是v1 = t.v2实际上还是对你定义的vector的一个值的复制而已,v1和t.v2根本不是同一个东西
罗博士 2014-05-08
  • 打赏
  • 举报
回复
你自己试验一下不就知道了。 不会。
赵4老师 2014-05-08
  • 打赏
  • 举报
回复
引用即别名

65,208

社区成员

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

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