티스토리 뷰

technote/C++

따배씨 8-8 ~ 8-11

HTS3 2018. 10. 21. 18:42

<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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함