make nullptr / NULL vs nullptr : 변환의 활용

보물창고·2023년 1월 25일
0

nullptr 과 NULL의 차이

  • c++에서는 nullptr은 주소값을 0x00000으로 하는 것이고,
    NULL은 그냥 정수 0이다.

nullptr을 만들자.

  • c++에서는 변환연산자를 통해 암시적 형변환을 하려고 한다!!

    • 그림을 보면, 컴파일러가 인자를 어떻게 해서든 암시적 형변환을 하려는 시도를 하고 있음.
      : 1번 foo를 주석한 이유는 모호성 문제 처리하기 위함.
  • 변환 연산자를 포인터를 반환하는 방식으로 하면, foo가 호출됨.

  • 그러면 goo 함수도 출력한다고 한다면, char*로의 변환연산자를 만들면 됨.

-> 이렇게 되면, 모든 타입 처리할 때마다 작성을 해야 한다는 것인데,
template을 작성하면, 처리가 가능함.

신기한 점.

: 그간 템플릿 코드는 템플릿 인자를 보냈지만,
지금의 예제 코드는 함수의 인자를 보고,인자에 맞는 함수가 호출되는 것을 확인할 수 있음.

profile
🔥🔥🔥

0개의 댓글