728x90

Application/C++ 5

[C++] 캐스트 이해하기 (1) - static_cast

1. 들어가기C++로 개발하다 보면 가장 자주 보는 캐스트가 static_cast다그런데 막상 “언제 정확히 써야 하는지”를 설명해 보라고 하면대충 “타입 맞을 때 쓰는 거” 정도로 흐리게 넘어갈 때가 많다이 글에서는static_cast가 정확히 어떤 캐스트인지C 스타일 캐스트와 뭐가 다른지실무 코드에서 자주 쓰는 패턴을 정리해 본다2. static_cast가 하는 일한 줄로 요약하면컴파일러가 타당하다고 판단할 수 있는 범위 안에서타입 변환을 수행하는 캐스트 주로 이런 상황에서 사용된다정수 ↔ 실수 변환int → double, double → int상속 관계에서 업캐스트Derived* → Base*void* → 구체적인 포인터 타입enum ↔ 정수형 변환static_cast는 논리적으로 말이 되는 변환만..

Application/C++ 2025.12.08

[C++] enum 중복 값 쓰기

아래와 같이 코드를 작성하면 다른 enum의 변수값인데도 같은 변수명이라는 이유로 컴파일에서 에러를 발생시킨다 #include enum Index { _111, _222, _333, _444, MAX }; enum Index1 { _111, _222, _333, _444, MAX }; int main(int argc, char **argv) { return 0; } 이런 에러를 우회하는 방법으로는 namespace를 쓰는 방법이 있다 #include namespace Type_A { enum Index { _111, _222, _333, _444, MAX }; } namespace Type_B { enum Index { _111, _222, _333, _444, MAX }; } int main(int a..

Application/C++ 2022.12.22

[C++] 정렬 되는 연결 리스트(링크드 리스트) 만들기

학번과 성적을 입력받으면 학번에 따라서 자동 정렬되는 연결 리스트 (링크드 리스트) 예제 코드 #include #include #include #define LEN sizeof(struct Student) struct Student { int num; float score; struct Student *next; }; int n = 0; void print(struct Student * head); struct Student * insert(struct Student * head, struct Student * stud) { if(head == NULL) { head = stud; } else { struct Student *temp; if(head->num > stud->num) { temp = hea..

Application/C++ 2022.12.15
728x90
반응형