technote/C++
따배씨 8-12 ~ 8-15
HTS3
2018. 10. 23. 18:14
<10/21>
1. 8-12 친구 함수와 클래스 friend
- 연산자 오버로딩에서 가장 많이 사용함
- 전방 선언(foward declaration) class B;
class A 내부에서 class B에관한 내용이 있는데 B가 늦게 선언되어 있으면 A앞에 전방선언을 해준다.
<10/22>
2. 8-13 익명개체 (anonymous)
- lvalue, rvalue?
== lvalue : 단일 식을 넘어 지속되는 개체를 참조. 모든변수
rvalue : rvalue를 사용하는 식 외에서는 유지되지 않는 임시 값.
https://msdn.microsoft.com/ko-kr/library/f90831hc.aspx
- class A 의 메서드 print()가 있다고 했을 때 A(1).print()처럼 바로 사용가능. 이때 A는 rvalue와 비슷
== 소속된 코드가 지나가면 destructor호출
- operator overloading 할 때 이해하기위한 개념
[8-10 에서의 문제 해결]
- 정적 멤버 변수의 경우 클래스 밖에서 재정의 해줘야 쓸 수 있다.
3. 8-14 클래스 안에 포함된 자료형 nested type
- 특정 클래스만 사용하는 데이터 타입일 경우 클래스 내부에 정의하면 된다.
- enum을 클래스로 넣었을 때 다른 곳에서 쓰려면 namespace 지정을 해줘야 한다
ex) Fruit::APPLE
4. 8-15 실행시간 측정하기