(C++ : Template) (참고) template의 주소

Posted by : at

Category : Cpp


  • 우선 template은 선언과 구현부를 h/cpp로 나눠서는 안된다
#include <iostream>
using namespace std;

template<typename T> T square(T a)
{
  return a * a;
}

int main()
{
  printf("%p\n", &square);    // 이렇게 하면 주소가 나올까?
  // 아직은 주소가 없기에 출력이 안된다.
  
  printf("%p\n", &square<int>); // 주소가 출력이 된다.
  
  // 함수 포인터를 뽑을 수도 있다
  printf("%p\n", static_cast<int(*)(int)>(&square));    // ok
}

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links