목차
-
함수의 매개변수에 const
-
함수의 반환값에 const
-
함수명 뒤에 const
1. 함수의 매개변수에 const
class CMyClass
{
public:
CMyClass();
~CMyClass();
private:
int m_iPosX;
int m_iPosY;
public:
void SetPos(const int iPosX, const int iPosY)
{
//iPosX = -1; // 오류 발생
m_iPosX = iPosX;
m_iPosY = iPosY;
}
};
함수의 매개변수에 const를 붙이면 매개변수의 값을 변경할 수 없다. 즉, const 예약어가 가지는 기능을 매개변수에 적용시키는 것이다. 매개변수가 변경되면 안되는 경우에 사용된다.
2. 함수의 반환값에 const
const int Func()
{
...
}
함수의 앞에 const가 붙으면 반환값을 const 기능을 가지는 값으로 반환한다는 뜻이다. 반환된 값은 변경하지 못하도록 하기 위해서 사용된다.
3. 함수명 뒤에 const
class CMyClass
{
public:
CMyClass();
~CMyClass();
private:
int m_iPosX;
int m_iPosY;
public:
void SetPos(const int iPosX, const int iPosY)
{
m_iPosX = iPosX;
m_iPosY = iPosY;
}
int GetPosX() const
{
return m_iPosX;
}
int GetPosY() const
{
return m_iPosY;
}
};
함수의 뒤에 const가 붙으면, 해당함수 내에서 멤버변수의 변경을 못하도록 막는다.
예를 들어, 위 Get~()함수 내에서는 m_iPosX,Y 함수의 값을 변경할 수 없게 된다.
'Dev > C\C++' 카테고리의 다른 글
[C/C++] 10진법 -> N진법 변환 (0) | 2020.01.30 |
---|---|
[C/C++] free (0) | 2019.11.07 |
[C/C++] malloc (0) | 2019.11.07 |
[C/C++] memcmp (0) | 2019.11.02 |
[C/C++] memset (0) | 2019.11.01 |