728x90
const는 상수를 선언할 때 사용된다. C에서는 #define 구문을 사용했었는데 C++에서는 const를 사용하는 것이 바람직하다. #define의 경우 전처리기가 처리하여 코드를 메타 수준으로 처리하여 언어의 구문과 의미를 신경 쓰지 않고 단순히 텍스트 매칭 작업을 수행한다. 반면 const의 경우 컴파일러가 처리하여 코드 문맥에 따라 처리할 수 있다는 장점이 있다.
const int myNum = 1;
const string myString = "Hello! Whales";
이처럼 변수에 const 키워드를 붙여서 정의하면 컴파일러가 해당 변수의 값이 변경되지 않도록 보장한다.
-const 매개변수
non-const 변수를 const변수로 캐스팅 할 수 있는데 이를 이용하여 함수에 매개변수를 보낼 때 const로 캐스팅하고 보낼 수 있다. 이를 통해서 해당 매개변수가 함수 안에서 변경되지 않는 것을 보장할 수 있다.
#include <iostream>
using namespace std;
void myFunc(const string* anyString)
{
*myString = "Hello! Wolf"; // 에러 발생
}
int main()
{
string myString = "Hello! Whales";
myFunc(&myString);
return 0;
}
이러한 사용은 공동 작업시 동료가 작성한 함수를 호출할 때 매개변수가 변하지 않는 것을 원할 때 사용할 수 있다.
728x90
'C++' 카테고리의 다른 글
| c - socket 프로그래밍 (0) | 2023.04.04 |
|---|---|
| C++ - 레퍼런스 (0) | 2023.01.30 |
| C++ - 스마트 포인터 (0) | 2023.01.28 |
| C++ - 포인터와 배열 (0) | 2023.01.27 |
| C++ - pointer (0) | 2023.01.23 |