Yes, with every instance of f<T> , the f() definition generated by the compiler will be created.
Depending on the compiler, f() may be optimized due to insertion, or it may just get so much space in the code segment.
However, I rarely came across such a design where you have a non-static function of a template member (without any arguments!) Inside a class without a template.
source share