[c++] 구조체와 클래스의 상수 멤버
구조체와 클래스는 상수 멤버를 가질 수 있습니다. 이러한 상수 멤버는 객체의 상태를 나타내는 데 사용될 수 있으며, 객체가 상태를 변경하지 않고 읽기만 하는 용도로 사용됩니다.
구조체에서의 상수 멤버
struct Point {
const int x = 0; // 상수 멤버 변수
const int y = 0; // 상수 멤버 변수
};
위의 코드에서 x
와 y
는 구조체 Point
의 상수 멤버로 선언되어 있습니다. 이러한 선언은 구조체가 초기화될 때 상수 멤버의 값을 지정하므로 객체가 생성된 후에는 변경할 수 없습니다.
클래스에서의 상수 멤버
class Circle {
public:
const double pi = 3.14; // 상수 멤버 변수
const double radius; // 상수 멤버 변수
Circle(double r) : radius(r) { } // 생성자에서 상수 멤버 변수 초기화
};
위의 코드에서 pi
와 radius
는 클래스 Circle
의 상수 멤버로 선언되어 있습니다. pi
는 선언과 동시에 초기화되고, radius
는 생성자에서 초기화됩니다. 이러한 상수 멤버는 객체가 생성된 후에는 변경할 수 없습니다.
상수 멤버의 활용
구조체와 클래스의 상수 멤버는 객체의 상태를 나타내는 데 사용될 수 있으며, 상태를 변경하지 않는 용도로 사용됩니다.
상수 멤버는 객체의 데이터 불변성을 유지하고, 프로그램의 안정성을 높이는 데 도움을 줄 수 있습니다.
참고 문헌:
- https://en.cppreference.com/w/cpp/language/constexpr