方便檢驗型別的小技巧
編譯期印出
template<typename T>
void print_type();
int main() {
print_type<int>();
return 0;
}
輸出
undefined reference to `void print_type<int>()'
執行期印出
template<typename T>
void print_type() {
cout << __PRETTY_FUNCTION__ << endl; // GCC & clang extension
}
輸出
void print_type() [with T = int]
MSVC 的話用 __FUNCSIG__ 取代 __PRETTY_FUNCTION__。
Written with StackEdit.
留言
張貼留言