티스토리 뷰
<10/21>
1.8-8 클래스와 헤더파일
-inline 함수?
-여러파일 함께 컴파일 g++ 8-8.cc Calc.cc
2. 8-9 클래스와 const
- const로 인스턴스 생성시 member function이 const라고 생성해줘야 쓸 수 있음.
ex) int getValue() const
- const 적극 활용 권장
- defualt copy constructor
Something(const Something* st_in)
{
m_value = st_in.m_value;
}
- 클래스를 argument로 보낼때는 const Something &st 형태로 보내면 좋다.
- const가 있냐없냐로 오버로딩도 가능
3. 8-10 정적 멤버 변수
- const 가 아닌 static 멤버 변수는 initialize가 불가능 하다.
- static 멤버변수는 코드 분할시 헤더 파일말고 소스파일에 넣어둬야 에러가 안난다.
- constexpr?
- const static 멤버변수의 주소값?
== C++11에서 짜증나는 점, 외부 linkage를 보유 어딘가에서 외부적으로 정의되야함.
[C++17에선 고쳐졌다.]
4. 8-11 정적 멤버 함수
- 실수 : static member variable을 클래스 외부에서 정의해 줄 때, Something::s_value = 1; 이라고 했다.
그랬더니 's_value' in 'class Something' does not name a type이라는 에러가 나왔다. 이유는 타입을 안정해줬기때문으로 추정, int Something::s_value = 1;로 해결
- 좀 더 이해필요 (함수 포인터?)
- static member variable 은 constructor에서 초기화 불가능
== inner class로 해결
'technote > C++' 카테고리의 다른 글
따배씨 9-1 ~ 9-4 (0) | 2018.10.24 |
---|---|
따배씨 8-12 ~ 8-15 (0) | 2018.10.23 |
정적라이브러리 공유라이브러리 (0) | 2018.10.17 |
cmake를 이용해 빌드하기 (0) | 2018.10.17 |
g++ 기본 옵션 (0) | 2018.10.16 |