본문 바로가기

runtime

[C++] 형변환 (Typecasting) - const_cast, reinterpret_cast, static_cast, dynamic_cast 형변환 (Typecasting) : 그동안 명시적인 형변환을 할때는 괄호를 사용했었는데 C++에서는 이를 대체 할 수 있는 4가지 종류의 형변환 연산자가 추가 되었다. 그럼 그동안에 사용했던 명시적 형변환을 계속 쓰지 않고 새로운 형변환 종류가 추가 되었을까? 일단 기존의 C 스타일 형변환은 두가지 문제점이 있다. 첫번째는 C 스타일의 형변환(컴파일 타입 형변환)은 눈에 잘 띄지도 않고 찾아내기 힘이 든다는 점이다. 사용자가 프로그램을 짜다 보면, 형변환 말고도 괄호를 사용하는 부분이 많기 때문이다. 뭐 눈에 잘 안띈다고 단점이될까? 명시적 형변환을 수행한다는 것은 암시적인 형변환이 불가능하다는 뜻이고, 암시적인 형변환이 불가능하다는 것은 컴퓨터가 생각하기에는 문제의 소지가 있다는 뜻이다. 다음으로 C .. 더보기
[C++] 클래스에서의 멤버 변수, 멤버 함수의 상수화 (const의 사용법) 일단 const에 대해서는 이미 언급을 해 놓았죠. [C/C++] 콘스트(const)란? (←링크 참조) 그럼 C++에서 클래스라는 곳에서는 어떻게 쓰이는지 한번 알아 보도록 하겠습니다. const 멤버 변수 : 우선 예제를 먼저 보도록 하겠습니다. #include using namespace std; class Student { const int id; int age; char name[20]; char major[30]; public: Student(int _id, int _age, char* _name, char* _major) { id=_id; //에러 age=_age; strcpy(name, _name); strcpy(major, _major); } void ShowData() { cout 더보기