标头中的静态函数定义
static function definition in header
在标头xxx.h
中:
static int yyy();
int yyy()
{
return 0;
}
如果我将 xxx.h 包含在 cpp 文件中,yyy() 仍然是静态函数吗?
是的,仍然是静态的。每个编译单元(.cpp文件)都有自己的yyy
版本。
编译器不会"看到"头文件。它们在预处理阶段消失了,每个#include
都被替换为该#include
的文件内容的文本,编译器只会看到一个很长的字符流。
相关文章:
- (2 问题)"类"类型重新定义(即使 #pragma 一次),以及静态函数内的静态成员对象初始化?
- 为什么静态成员函数定义不能有关键字"static"?
- boost::bind 无法绑定到纯虚拟基类中定义的非静态函数模板成员类型
- Cmake,Android:调用在预构建库中定义的静态函数
- 如何定义从虚拟函数继承的静态函数
- C++:静态成员不能在声明时定义,但静态函数变量可以?
- 从库中定义的进程调用静态函数
- 有没有一种方法可以对静态函数进行类型定义
- 类外静态函数的声明不是定义
- 一个定义规则是否强制创建一个静态函数变量
- 将函数定义为静态成员和自由成员之间有什么区别
- 在C++中声明但未定义的静态函数
- 标头中的静态函数定义
- 取消定义静态函数的引用错误
- 使用 GMOCK 模拟在 .cpp 中声明和定义的静态函数,而无需类文件
- 对静态函数的未定义引用
- 我的静态函数header和.cpp是怎么回事?仅在标头中定义时运行
- 引用静态函数作为类定义的一部分是否有任何开销?
- 在匿名命名空间内部和外部定义静态函数有什么区别吗?
- c++ typedef静态函数指针:未定义符号