define, typedef, using (C++)

이펙티브 모던 c++ : typedef 보다는 using 사용하기 https://spikez.tistory.com/271
typedef 와 define 차이점 : https://aticleworld.com/typedef-vs-define-in-c/

 - #define 은 단순 코드 치환이라 컴파일 전후로 내용이 달라진다.
 - 단순 치환은 복제된 인자값이 프로그래머가 예상치 못한 동작을 하거나, 타입 체크가 이루어지지 않는 등, 여러 모로 문제를 발생시킬 여지가 있기 때문에 #define 보다는 const, enum, inline 함수 등을 사용하는게 좋다는 조언이 있다.(Effective c++의 내용)

 - using, typedef 는 특정 타입에 대한 또 다른 별칭을 지정해 주는 키워드. 컴파일 명령어라 문제가 있다면 컴파일 시점에서 확인 가능

 - using 과 typedef 의 경우 using 을 사용할때 읽는 입장에서 가독성이 더 좋다는 의견이 많고
 - using 은 템플릿화가 가능한 반면 typedef 는 불가능하다는 차이가 있다.(effective modern c++ 내용)

댓글

이 블로그의 인기 게시물

Unity - Dialogue 시스템을 구현할 때 유용한 무료 에셋

Unity - 메타 파일

Unity - 라이브러리 폴더