※ 주의 사항 ※ 이 글의 목적은 '지식의 전달'이 아닌 '학습의 기록'입니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. auto 타입과 decltype 타입은 C++11에서 나온 타입으로 컴파일러가 자동으로 변수 타입을 추론하여 정할 때 사용합니다. 아래는 예제입니다. #include int main() { auto name = "koey"; //name 변수는 문자열을 저장하므로 const char* 타입 int foo = 0; auto bar = foo; //bar 변수는 foo 변수의 데이터 타입과 같은 타입으로 인식 decltype(foo) num; //num 변수는 foo 변수의 데이터 타입과 같은 타입으로 인식 return ..
※ 주의 사항 ※ 이 글의 목적은 '지식의 전달'이 아닌 '학습의 기록'입니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. C++17에서 신택스 슈거(syntactic sugar)와 자동화 타입 추론이 결합되어 새로운 구조체 형태의 바인딩 기능이 추가되었습니다. 신택스 슈거란 무엇이고, 자동화 타입 추론은 또 무엇인지 먼저 정리하고 넘어가도록 하겠습니다. 신택스 슈거(syntactic sugar) 신택스 슈거란 '사람이 쉽게 이해하고 쉽게 표현할 수 있도록 컴퓨터 언어를 디자인해 놓은 문맥'을 의미합니다. 사람이 사용하기 달콤하다는 것에서 유래되었고, 깔끔하고 명확하게 표현 가능하다는 특징이 있습니다. 몇몇 예시를 들면 다음과 같습니다. ..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. C++ 진영에서는 C 스타일의 형 변환 연산자를 가리켜 '오래된 C 스타일 형 변환 연산자'라고 부르기도 합니다. C 스타일의 형 변환 연산자는 C언어와의 호환성을 위해서 존재할 뿐, C++에서는 새로운 형 변환 연산자와 규칙을 제공하고 있습니다. 모기를 잡으려면 모기약을 뿌려야 하고, 바퀴벌레를 잡으려면 바퀴벌레 약을 뿌려야 합니다. 모기나 바퀴벌레를 잡자고 사람까지 잡을 수 있는 독한 약을 써서는 안 됩니다. 그런데 C++에 있어서 C언어의 형 변환 연산자는 사람까지 잡는 독한 약에 비유됩니다. 그만큼 강력해서 형 변환하지 못하..
※ 주의 사항 ※ 이 글의 목적은 '지식의 전달'이 아닌 '학습의 기록'입니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. 지금부터 다루게 될 예외 처리 문법은 프로그램의 성능을 많이 잡아먹는다고 합니다. 그런 이유로 예외 처리 문법을 사용하기보다 if문을 이용하는 게 더 좋다고 합니다. 이런 방식의 예외 처리 방법이 있다는 것 정도로만 알아두시면 좋을 것 같습니다. 예외 처리에서의 '예외'는 프로그램 실행 도중에 발생하는 '예외적인 상황'을 의미합니다. 그리고 C++는 이러한 예외적인 상황의 처리를 위한 문법을 별도로 제공하고 있습니다. 예외 C++에서 말하는 '예외'는 프로그램의 실행 도중에 발생하는 문제 상황을 의미합니다. 따라서 컴..