C++ 自由模板函数需要是静态的和内联的吗?
鉴于此代码C++ 自由模板函数需要是静态的和内联的吗?,c++,templates,C++,Templates,鉴于此代码 //在头文件中 模板 内联静态无效my_func(T var) { std::cout默认情况下,所有函数模板都是内联的,因此不需要关键字 在将my#func转换为模板之前,static关键字可能是不必要的,现在仍然是。标记一个自由函数static会给出它的名称内部链接,但因为它是在标题中声明的,在这里没有多大作用。任何翻译单元都可以简单地包含您的h在.cpp文件中,static函数更有用,它主要用于将函数标记为内部函数,并防止其他翻译单元调用它。如果需要内部链接,则仍然需要stat
//在头文件中
模板
内联静态无效my_func(T var)
{
std::cout默认情况下,所有函数模板都是内联的,因此不需要关键字
在将my#func
转换为模板之前,static
关键字可能是不必要的,现在仍然是。标记一个自由函数static
会给出它的名称内部链接,但因为它是在标题中声明的,在这里没有多大作用。任何翻译单元都可以简单地包含您的h在.cpp文件中,static
函数更有用,它主要用于将函数标记为内部函数,并防止其他翻译单元调用它。如果需要内部链接,则仍然需要static
关键字。具有static
函数头文件中的内联有点奇怪。函数模板是隐式内联的。啊,默认情况下,关于模板内联的部分是我缺少的-谢谢:)