본문 바로가기

Study/C,C++

(2)
위치에 따른 "const"의 의미들 C++코딩중 "const"라는 단어 참 많이 보게된다. 간단하게 설명 하자면 const가 걸린 위치의 값이 변동 되지 않도록 상수화 시키는 명령어 라고 보면 될것이다. 그런데 이 const라는 명령어가 참 다양한 위치에 붙을 수 있고, 그위치마다 하는 짓이 약간씩 다 다르다는게 문제다. 그래서 이걸 좀 정리 해보고자 한다. 변수에서는 [const] [dataType] [const] [Pointer] [const] [VariableName] [const] [자료형] [const] [포인터] [const] [변수명] 멤버 함수에서는 [const] [dataType] [const] [Pointer] [const][Function([const]Parameters)] [const] {Function Codes} ..
[C/C++]형변환(Cast)의 종류와 사용법 형변환(Cast)는 변수의 타입을 명시적으로 변환하기 위해 사용된다. 물론 이러한 명시적인 변환 말고도 암묵적으로 컴파일러가 자동으로 변환을 해주는 암시적 형변환도 있다. 우선 C에서 사용하는 형변환은 다음과 같다. int num1 = 10; int num2 = 4; float avg = 0.0f; avg = (float)num1 / num2; // 명시적 형변환 num1 / num2 는 10 / 4이므로 답은 2.5가 나와야 한다. 하지만 num1과 num2는 소수점을 가지고 있지 않는 정수형 타입이기 때문에 num1/num2 자체를 정수형으로 인식하여 소수점은 버려지게 된다. 이를 막기 위해 num1을 float타입으로 명시적 형변환을 일으켜준 것이다. 이러한 C스타일의 Cast는 두 가지 단점이 있..