Quantcast
Channel: Storing C++ template function definitions in a .CPP file - Stack Overflow
Viewing all articles
Browse latest Browse all 15

Storing C++ template function definitions in a .CPP file

$
0
0

I have some template code that I would prefer to have stored in a CPP file instead of inline in the header. I know this can be done as long as you know which template types will be used. For example:

.h file

class foo{public:    template <typename T>    void do(const T& t);};

.cpp file

template <typename T>void foo::do(const T& t){    // Do something with t}template void foo::do<int>(const int&);template void foo::do<std::string>(const std::string&);

Note the last two lines - the foo::do template function is only used with ints and std::strings, so those definitions mean the app will link.

My question is - is this a nasty hack or will this work with other compilers/linkers? I am only using this code with VS2008 at the moment but will be wanting to port to other environments.


Viewing all articles
Browse latest Browse all 15

Latest Images

Trending Articles





Latest Images