Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- algorithm
- 2294
- Unreal Engine5
- softeer
- 1563
- winapi
- 팰린드롬 만들기
- Programmers
- RootMotion
- baekjoon
- NRVO
- directx
- IFileDialog
- const
- UnrealEngine4
- Frustum
- RVO
- UE5
- DeferredRendering
- 언리얼엔진5
- UnrealEngine5
- 오블완
- 티스토리챌린지
- C++
- 줄 세우기
- GeeksForGeeks
- 백준
- 프로그래머스
- DirectX11
- C
Archives
- Today
- Total
Game Develop
[C++] 크기가 큰 멤버변수를 읽어들일 때 참조자 활용도 고려 본문
특정 클래스에서 크기가 큰 멤버변수를 Get하고 싶을 때, 위 코드처럼 참조자를 활용하는것도 고려할 방법 중 하나이다.
A클래스가 정말 크기가 큰 데이터라 가정했을 때, 참조자말고 그냥 리턴시키면 값복사하는데 꽤나 비용이 들 것이다.
하지만 저렇게 참조자로 하면 복사할 필요 없으니 굿...
다만 const 키워드를 꼭 붙이도록 하자. 참조자를 리턴시키기 때문에 캡슐화가 깨질 수 있기 때문이다.
해당 참조자로 밖에서 임의로 값을 변경하는걸 막아야 한다.
위 코드는 그냥 예시용 코드긴 한데, A클래스의 print에 const가 붙어있는 이유는, GetA()는 결국 const 객체의 참조자를 리턴하는 것이기 때문이다. const객체는 const 멤버함수만 호출할 수 있기 때문에, print함수에 const키워드가 반드시 붙어있어야 한다.
'C++ > C++' 카테고리의 다른 글
[C++] Tail Call Optimization, Tail Recursive Elimination (0) | 2022.12.27 |
---|---|
[C++] std::sort에 관하여 (0) | 2022.12.27 |
[C++] const객체는 마음대로 멤버함수를 호출할 수 없다. (1) | 2022.11.29 |
[C++] vector사용 시, reserve를 해주자. (0) | 2022.11.23 |
[C++] 프로세스 메모리 세그먼트들 (0) | 2022.11.19 |