◆const
▷const는 상수처럼 변수를 변하지 못하게 만든다.
▷define은 프로그램에 박히지만 const로 변수를 만들었을때 프로그램에 박혀버린것이 아닌 공간이 존재하는것이다.
◆클래스에서의 const
▷const로 선언된 클래스 내부 멤버 변수는 선언과 동시에 초기화를 하거나, 클래스 생성자에서 초기화를 해주어야 한다.
class Person {
public:
const int age;
Person(int n) : age(n){
}
};
◆static
▷static은 클래스 내부에서 사용되었을경우 클래스에 종속되며 독립적으로 사용할 수 있습니다.
▷static 멤버함수는 멤버변수를 사용하지 못한다.
▷헤더에 있는 static 변수를 여러 cpp 파일에서 전처리하면, 각각의 cpp파일에 하나씩 정의 된다. (obj 각각에 종속되는 변수로 선언된다)
▷static 멤버변수는 cpp파일에 미리 정의해야 한다
//Header.h 파일
class MyClass {
public:
static int grade;
}
//Sorce.cpp 파일
#include "Header.h"
int MyClass::grade = 1;
◆extern
▷extern 프로그램 전체에서의 전역변수로 사용한다.
▷extern으로 선언하고 같은 이름의 변수를 찾아 LNK한다.
'C++ > C++' 카테고리의 다른 글
[C++] STL 자료구조 (0) | 2023.02.16 |
---|---|
[C++] STL 핵심, Generic (0) | 2023.02.16 |
[C++] 문자열, 네임스페이스, 레퍼런스 타입 (0) | 2023.02.13 |
[C++] Bitwise와 순수 가상함수 (0) | 2023.02.13 |
[C++] LNK (0) | 2023.02.13 |