[C++] 정리 (1)
1. cast / dispatch
Dynamic cast / Dynamic dispatch
Static cast / Static dispatch
제대로 정리하자.
cast 는 형변환이고 dispatch는 함수 호출이다.
static은 컴파일 시간이고 dynamic은 런타임 시간이다.
위의 부분을 제대로 짚고 다시 공부하자.
2. 함수, 메서드, 프로시저
셋 다 프로그램의 일부비슷한 의미라서.. 혼용해서 사용해도 괜찮다.
맥락에 따라 다르게 사용하기도 한다.
클래스 안에 있으면 메서드, 호출하는건 함수로 부른다.
함수와 프로시저는 같이 사용하는 편이다.
3. 스택 메모리
if-else / while / for 문을 사용할 시 스택에 메모리가 올라간다고 생각하면 된다.
(완전히 같지는 않지만 유사하다)
if-else 문 내부에서 작성된 변수는 if-else 바깥에서는 사용할 수 없다.
4. static_cast
항상 컴파일 에러를 발생시키지는 않는다.
캐스팅 되는 경우를 고려하면 런타임 에러도 발생 할 수 있다.
5. naming convention
언어 마다 다르다.
자바 / C++ / python... 각각 다른 규칙을 사용한다.
6. C++ 에서의 객체 비교
자바에서는 equals 메서드를 오버라이드해서 사용한다.
C++에서도 비슷하다. equals 메서드를 작성해서 사용한다.
단, 자바에서는 모든걸 객체로 판단하니 Object의 equals 메서드를 오버라이드해서 사용하지만, C++은 그렇지 않다는것.
7. null과 nullptr
null은 0 / nullptr은 객체지만 읽을 때 0으로 읽는다. (어떻게 0으로 읽는지는 모름)
8. copy constructor
&는 생성자를 호출하지 않는다.
&가 없으면 생성자를 호출함.
직접 확인해 보자.
'Programming Language > C++' 카테고리의 다른 글
[C++] STL (0) | 2022.12.15 |
---|---|
[C++] Design Pattern (0) | 2022.11.24 |
[C++] OOP (5) Dynamic dispatch / Multiple Inheritance (0) | 2022.11.22 |
[C++] OOP (4) Type Casting (0) | 2022.10.19 |
[C++] OOP (3) Inheritance / 연산자 오버로딩 (1) | 2022.10.12 |
댓글
이 글 공유하기
다른 글
-
[C++] STL
[C++] STL
2022.12.15 -
[C++] Design Pattern
[C++] Design Pattern
2022.11.24 -
[C++] OOP (5) Dynamic dispatch / Multiple Inheritance
[C++] OOP (5) Dynamic dispatch / Multiple Inheritance
2022.11.22 -
[C++] OOP (4) Type Casting
[C++] OOP (4) Type Casting
2022.10.19