프로그래밍 공부
작성일
2023. 5. 17. 20:50
작성자
WDmil
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