vlinders 2017. 11. 17. 16:17

C++ 구조체와 클래스는 모든 것이 동일(상속, 멤버, 접근 지정)하지만, 디폴트 접근 지정이 다르게 세팅되어 있음

구조체는 기본으로 public 접근

클래스는 기본으로 private 접근


둘다 생성자와 소멸자 가능. & 상속도 가능


1. C 의 struct 는 생성자, 파괴자가 없지만, C++ 에서는 있습니다.

2. C 의 struct 는 상속이 안되지만, C++ 에서는 됩니다.

3. C 의 struct 는 맴버함수를 가질 수 없지만, C++ 에서는 됩니다.





인라인 함수

- 짧은 코드로 구성된 함수에 대해, 함수 호출 오버헤드로 인한 프로그램의 실행 속도 저하를 막기 위해 도입된 방법

- inline 키워드로 함수를 선언한다. (ex) inline int odd(int x) { return (x%2); }

- 코드의 길이가 늘어난다는 단점.

- 강제 명령이 아니라 요청이므로 컴파일러는 효율을 따져 inline 요청을 무시할 수도 있음



조건 컴파일문으로 헤더의 중복 include를 방지




SendMessage() : 메시지가 처리될 때 까지(리턴) 기다림(큐를 통하지 않음)

PostMessage() : 메시지 큐에 넣어두고 결과를 기다리지 않고 리턴




virtual정리 virtual선언 된 부모클래스는 재정의 된 자식클래스가 있는지 확인하고, 있으면 자식클래스의 오버라이딩 된 함수를, 없으면 자신의 함수를 호출시킴(부모 클래스형 변수에서 자식클래스 객체로 했을 때)

  V    반대로 virtual이 없으면 무조건 부모 클래스의 함수를 호출

http://blog.naver.com/beyondlegend/110032047836


순수 가상함수 virtual 함수 뒤에 = 0;으로 해놓고 자식클래스에서 무조건 재정의(오버라이딩)해야하는 것

http://blog.naver.com/dd1587/221130487110


friend    : private이나 protected로 막아놓은 것도 사용할 수 있음. 막은 쪽에서 friend로 지정할 클래스를 명시해야함 ( 부가적인 설명 많음 )

http://blog.naver.com/dd1587/221141774441


중첩 클래스 : 하나의 클래스 안에 또 하나의 클래스를 활용할 때, 자료구조에서 노드를 표현할 때 사용

http://blog.naver.com/dd1587/221140895609


동적바인딩

http://blog.naver.com/dd1587/221119668089


크리티컬 섹션 : 유저레벨의 동기화 방법 중 유일하게 커널 객체를 생성하지 않아 빠르지만, 동일 프로세스 내에서만 사용 가능(뮤텍스는 다른 프로세스에서 가능)

http://ncanis.tistory.com/376



4가지 연산

http://luyin.tistory.com/280