头⽂件中使⽤static关键字
static关键字主要修饰两种东西:变量和函数。
在头⽂件中定义static变量和static函数:
变量:众所周知,static变量只能在定义它的⽂件中使⽤。这⾥的⽂件指的是cpp源⽂件。如果在头⽂件中定义了static变量,那么,所有包含这个头⽂件的源⽂件都会定义⾃⼰的static变量,⽽不是使⽤该头⽂件中的static变量。所以也就造成了,在头⽂件定义static变量,其他包含头⽂件的源⽂件也能使⽤该变量的假象。
函数:与static变量相同,源⽂件中的static函数只供源⽂件使⽤,⽽头⽂件中的static函数则会供所有包含它的源⽂件使⽤。
总结:只有在源⽂件中使⽤static关键字,其修饰的变量或函数被其他⽂件调⽤时才会出现未声明的状况。⼀定要避免在头⽂件中使⽤static。
static限定函数的时候,和普通函数没有很⼤的区别的。这⾥说的函数不是成员函数,⽽且定义在头⽂件中!
唯⼀的区别就是,在调⽤该函数的时候,static函数在内存中只维持⼀份,⽽普通函数每次调⽤都会维持⼀份拷贝。
当然这个静态函数也可以在其他⽂件中调⽤了!只是要包含它所在的头⽂件了。
经测试是正确的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论