1:编译器是如何处理static方法的?
2:编译器是如何处理static变量的?
3:public, private这样的关键字应用于类,方法,变量 编译器是如何处理的?
注:
1:能写出任何一个都可以
2:自己理解的也行
2:编译器是如何处理static变量的?
3:public, private这样的关键字应用于类,方法,变量 编译器是如何处理的?
注:
1:能写出任何一个都可以
2:自己理解的也行
解决方案 »
- vc 数据库 问题
- ComboBox如何响应WM_KEYDOWN、WM_KEYUP消息?
- [求证]附代码,是否对一个结构体进行send时,系统会对结构进行压缩?
- 在支持视图的MDI中,怎样让每个新建的CView都在一个新的线程中?
- 如何监听一个被绑定的端口?
- This file has been modified outside of the source editor.Do you want to reload it?什么东东?
- HOOK API时的奇怪问题...
- 怎么设置颜色?
- 友情链接,我的网站http://fullstrong.myetang.com/
- 怎么做帮助文件(请帮主保留一天)
- SDK程序中,如何获得客户区中一个字符串的长度。
- 窗口覆盖问题
2. static变量,这个变量的地址是启动初就分配好的,其实它的地址处于文件内部,当文件载入内存时,static变量的地址也就确定了(如果需要,是必须重定位的!)那么不管是全局的static还是类的static,编译器的处理方法都是一样的,而且类的static必须在外面再声明一次就是这个道理!(必须在编译的时候就确定地址,而类是缥缈的)
3. public, private这样的关键字,编译器不做任何特殊处理,只是在编译的时候用来判断调用是否合法,在编译成code以后,是不存在public, private这样的分别的!注:都是我个人理解!
private:类本身以及友元函数可以访问
static:不用类的对象调用,只需类名:函数名即可
static方法是为了访问类的static变量的接口
我前面讲的是编译器的动作,而不是程序逻辑,注意这是两个概念,
那么对于编译器而言,static最终是被编译成全局函数的模型!