일부 상황에서 값 또는 참조 의미를 선택할지 여부에 대한 느낌 (아직, 희망합니다)이 없습니다. 적용 할 수있는 어림짐작 규칙이 있습니까?이 상황에서의 값 또는 참조 의미는 무엇입니까?
나는 일반적으로 내장 데이터 유형 (char, int, bool, double 등) 이외의 모든 것에 대한 참조를 선택합니다. 그러나 때때로 함수에서 참조를 반환 할 수 없기 때문에 포인터를 사용해야합니다. 다음 함수는이의 예입니다
Foo bar()
{
Foo f;
f.do_stuff();
return f;
}
내가 푸 개체를 저장하는 부스트 :: shared_ptr의를 사용하는 거라고하지만, 그것은 아주 추한 객체로 작업합니다. 저는 현재 10 개 이상의 요소를 거의 가지고 있지 않을 deque를 반환하는 함수를 찾고 있습니다 (이것이 내가 가정 한 것입니다. 나는 확신 할 방법이 없습니다). 이것을 가치로 돌려 보내는 것이 좋을까요? 내 고려 사항이 조숙 한 최적화의 경우입니까?
중복 가능성 (http://stackoverflow.com/questions/2139224/how-to-pass-objects-to-functions-in-c) – fredoverflow