public:이랑 같은 파란색인거보면클래스도아니고함수도아닌거같던데사용은함수처럼하고가장 이상한건 ()안에 타입을 넣을수있다는거파라미터는 메모리위치와 그걸 사용할타입 을 넘겨주고타입만넘겨주려면 템플릿을 쓰면된다 라고생각햇는데()로 타입만 넘겨줄수있으니 혼동이옴......
int a; typeid(a) == "int"
타입인포를 반환하는 함수처럼쓰이는데 파라미터로 데이터타입만 넘겨줘도 되니 함수는아닌거같아서....
연산자임
아 () 이연산자구나
근데 연산자가 데이터타입만 받을수도있는거엿음? 오버로딩 쫌더검색해볼까
sizeof도 연산잔데 연산자랑 함수랑 생긴걸로 비교하는게 아니라 함수는 컴파일후 코드로 변환되지만 연상자는 컴파일러시 미리 지정한 결과로 치환이됨 매크로와 비슷함 사용방식과는 상관없음
아 디파인이라고생각하니 바로이해갔음
RTTI
무슨이유로 ()로 타입만 넘길수가있는지가 궁금해서...
보통 연산자 하면 +, -, =, < 이런걸 생각하겠지만 sizeof(), typeid(), static_cast<>() 같은것도 다 연산자임. 그리고 cpp를 좀 더 깊게 공부하게 되면 알게되겠지만 함수나 연산자나 똑같음
나중에 기본 문법 다 떼고 effective cpp, more effective cpp 읽어보면 나옴
모어 이펙티브 ㅋㅋ... 갈길이머내