博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
普通函数加上static的作用
阅读量:5052 次
发布时间:2019-06-12

本文共 547 字,大约阅读时间需要 1 分钟。

static加到一个非类成员函数的函数(有点绕口,就是普通函数。因为类成员函数的static版本有其他的用途)前面,相当于匿名空间的作用——信息隐藏。翻译成白话版就是,只有在当前编译单元中可以被看到,而在别的编译单元中看不到。(什么是编译单元?就是一个展开了包含了头文件的cpp文件)

看下面的两段代码:

function.cpp:

static void function(int &a){    a++;}

main.cpp:

#include
extern void function(int&);int main(){ int a=0; function(a); std::cout<
<

编译器报错:main.obj : error LNK2019: 无法解析的外部符号 "void __cdecl function(int &)"

题外话:extern void function(int) 和extern void function(int &)不是同一个函数声明!这里一定要注意

 

转载于:https://www.cnblogs.com/wangpei0522/p/3821145.html

你可能感兴趣的文章
[leedcode 34] Search for a Range
查看>>
使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
查看>>
xamarin android 实现二维码带logo生成效果
查看>>
[物理学与PDEs]书中一些对数学研究有用的引理
查看>>
上海交通大学2007年数学分析考研试题
查看>>
[Everyday Mathematics]20150129
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]4.4.10
查看>>
陕西省第九次大学生高等数学竞赛复赛试题
查看>>
MyBATIS插件原理第一篇——技术基础(反射和JDK动态代理)(转)
查看>>
剑指Offer面试题:5.重建二叉树
查看>>
C - Woodcutters
查看>>
CF-845C
查看>>
Buffer I/O error on device sr0
查看>>
螺旋输出N*N矩阵
查看>>
02WAB入门-介绍
查看>>
git操作
查看>>
js 事件冒泡
查看>>
JSP使用过滤器防止SQL注入
查看>>
WCF初探-16:WCF数据协定之基础知识
查看>>
requirejs amd module load example
查看>>