728x90
const
Const는 상수를 선언하기 위해 사용하는 한정자이다.
const를 사용하여 변수를 선언하면, 해당 변수의 값은 const선언한. 초기화 이후에 변경할 수 없게된다.
이를통해 프로그램의 의도적인 수정을 방지하고, 코드의 안정성과 가독성을 향상시킬 수 있다.
const는 다음과 같이 사용할 수 있다.
읽을 때, 좌측에 있는것 을 상수화한다. 라고 읽으면 된다.
// 변수 선언시 변수 상수화
const int MAX_VALUE1 = 100;
int const Max_VALUE2 = 100;
// 함수의 매개변수를 상수화
int Printvalue(const int value) { return value; }
int Printvalue(int const value) { return value; }
// 함수의 반환값을 상수화
const int Printvalue(int value) { return value; }
int const Printvalue(int value) { return value; }
// L_value 에 대한 상수화
const int& Printvalue(int value) { return value; }
int& const Printvalue(int value) { return value; }
// 다 끼얹어보기
const int& Printvalue (const int value) { return value; }
static
static은 함수, 메인문, 클래스 등 의 변수나 함수를 전역선언해주는것 을 의미한다.
메인문 밖에서 변수를 선언해주지 않아도 변수를 static선언해주는것 으로 전역변수 처럼 사용할 수 있다.
전역변수를 선언하게되면, 전에 선언된 것과 다르게 전에 선언된 변수를 따르게 됨으로 변수의 값이 이어지는 효과가 나타난다.
static의 코드사용은 다음과 같다.
// 지역에서 전역변수 선언하기
static int coutner = 0;
// 함수에서 전역변수 선언하기
void def() {
static int count = 0;
count++
// 이렇게 하면 def선언 할 때 마다 count가 1씩 증가한다.
}
// 정적 멤버 변수
class MyClass{
private:
static int count;
public:
void countUP() { this->count++; }
// 선언될 떄 마다count가 1씩 증가한다.
}
// 정적 멤버 함수
class MyClass {
static int count;
int count1;
public:
static void contUP() { this->count++; }
void countUP() { this->count1++; }
// 선언될 때 마다 count가 1씩 증가한다. 그러나, static함수는 static변수만 사용할 수 있다.
// 또한 static함수는 선언 전에도 class이름을 타고 사용이 가능하다.
// myClass::countUP(); 이런식으로
}
728x90