Point& PntAdder(const Point &p1,const Point &p2)
{
Point *p=new Point;
p->xpos=p1.xpos+p2.xpos;
p->ypos=p1.ypos+p2.ypos;
return *p;
}
void main()
{
Point*p1=new Point;
Point*p2=new Point;
p1->xpos=1,p1->ypos=2;
p2->xpos=3,p2->ypos=4;
Point &p3 =PntAdder(*p1,*p2);
---
Point& PntAdder(const Point &p1,const Point &p2)에서 참조자로 받는 이유가 있음??
그냥 Point& PntAdder(const Point p1,const Point p2)로 하는거랑 성능차이가 있음?
class, struct를 통째로 복사하는 두 번째 방식은 첫 번째 방식인 참조 변수로 받는 것보다 확연한 오버헤드가 생기게 되죠. 특히 이 복제 과정에서 shallow copy만 할 수 있으니 위험하기도 하고요
ㄴ 위에 말정답. 근데 궁금한게 인트 하나 값복사랑 레퍼런스랑 차이가 있을까?? 값복사 0ㅏㄹ려면 인트하나 할당해주고 복사하는거랑. 레퍼런스는 포인터처럼 작동한다는 이야기를 들었었는데 가물가물하녀
답변 ㄳㄳ
어떤 변태가 키워드 타입을 파라미터로 쓰는데 참조자로 넘깁니까? 수정할 것도 아닐텐데요.