社区
硬件/系统
帖子详情
100分 求助关于编译器如何处理static,public,private问题!
SakyaMuni
2004-09-07 08:59:56
1:编译器是如何处理static方法的?
2:编译器是如何处理static变量的?
3:public, private这样的关键字应用于类,方法,变量 编译器是如何处理的?
注:
1:能写出任何一个都可以
2:自己理解的也行
...全文
162
8
打赏
收藏
100分 求助关于编译器如何处理static,public,private问题!
1:编译器是如何处理static方法的? 2:编译器是如何处理static变量的? 3:public, private这样的关键字应用于类,方法,变量 编译器是如何处理的? 注: 1:能写出任何一个都可以 2:自己理解的也行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangshengyu
2004-09-10
打赏
举报
回复
public, private 这些不需要处理,在语法检查中通过就行了。
DentistryDoctor
2004-09-10
打赏
举报
回复
<Inside C++ Object Mode>/<深入c++对象模型>
DentistryDoctor
2004-09-10
打赏
举报
回复
强烈楼主阅读C++对象模型,这可是大师名作哟。
Pipi0714
2004-09-10
打赏
举报
回复
public:自由访问:
private:类本身以及友元函数可以访问
static:不用类的对象调用,只需类名:函数名即可
roger_ding
2004-09-10
打赏
举报
回复
注:下面的都是针对VC6编译器的
1. static方法,应用于类里面的成员函数其实等同于全局函数,即不需要对象,可以直接调用,那么编译器在遇到程序调用这类函数时,就会判断调用者有没有传入对象指针,如果没有,ok!有,就报错!编译方法就当全局函数来编译了
2. static变量,这个变量的地址是启动初就分配好的,其实它的地址处于文件内部,当文件载入内存时,static变量的地址也就确定了(如果需要,是必须重定位的!)那么不管是全局的static还是类的static,编译器的处理方法都是一样的,而且类的static必须在外面再声明一次就是这个道理!(必须在编译的时候就确定地址,而类是缥缈的)
3. public, private这样的关键字,编译器不做任何特殊处理,只是在编译的时候用来判断调用是否合法,在编译成code以后,是不存在public, private这样的分别的!
注:都是我个人理解!
roger_ding
2004-09-10
打赏
举报
回复
static方法是可以访问类的static变量的,还可以不定义类的对象,直接访问类的成员函数。
我前面讲的是编译器的动作,而不是程序逻辑,注意这是两个概念,
那么对于编译器而言,static最终是被编译成全局函数的模型!
shangjun
2004-09-10
打赏
举报
回复
static方法我理解的和roger_ding(海天一色)不一样
static方法是为了访问类的static变量的接口
allenq
2004-09-07
打赏
举报
回复
kao, 编译原理啊...
C++核心关键字
public
、
private
与
static
详解:从封装原理到工程实践
在面向对象编程中,封装是核心概念之一,它通过访问控制机制将数据与操作绑定,对外隐藏实现细节,从而提升代码的健壮性和可维护性。其原理在于明确类内外的访问边界,通过
public
、
private
等关键字实现权限管理。这一技术的核心价值在于降低模块间的耦合度,保护数据完整性,并简化外部使用复杂度。典型的应用场景包括设计稳定的API接口、实现数据隐藏的保护层,以及管理类级别的共享状态。例如,在C++工程实践中,
public
成员常作为对外的服务契约,而
private
成员则是封装的基石,结合
static
关键字可实现对象计
C++访问控制:
public
、
private
、protected的封装艺术与工程实践
本文深入解析C++中
public
、
private
、protected三种访问说明符在类封装和继承体系中的作用。重点阐述其在单类设计中的权限边界、在公有/保护/私有继承下的权限变换规则,以及虚函数、多重继承和友元等复杂场景下的行为约束。强调封装对数据完整性、低耦合和接口隔离的工程价值,并给出基于软件设计原则的最佳实践,如默认私有、优先组合、最小化公有接口等。
Java
static
关键字深度解析:从字节码到JVM内存模型
本文深入剖析Java中
static
关键字的本质,指出其核心是'类级别绑定'而非语法意义上的'静态'。从字节码层面揭示ACC_
STATIC
标志位的作用,说明
static
字段和方法在Metaspace中的存储机制;
分
析
static
方法无this指针、
static
块类加载时机等JVM底层行为;系统梳理其在工具类、单例、常量、静态内部类四大场景的应用逻辑与典型陷阱;重点解析内存泄漏、类加载死锁、序列化失效及Mock难题等实战风险,并结合面试高频题给出原理级回答。
【C++】类和对象
本文系统讲解C++中类与对象的核心机制,涵盖类的定义与两种实现方式、访问限定符(
public
/protected/
private
)及封装原理、类实例化与内存布局、this指针的本质与使用规范、六大默认成员函数(构造、析构、拷贝构造、赋值重载、取地址重载)、运算符重载规则与实现技巧、const成员函数语义、
static
成员特性、友元机制(函数与类)、内部类与匿名类等关键技术点,聚焦面向对象编程的基础与深度实践。
C++变量修饰符在机器人开发中的实战应用:const、
static
、volatile与mutable详解
本文深入解析const、
static
、volatile与mutable在机器人开发(ROS/PCL/Eigen)中的关键应用:const保障数据只读与避免拷贝;
static
需谨慎用于多线程状态管理;volatile适用于硬件寄存器但不可替代原子操作;mutable支持const函数内缓存与锁操作。结合组合用法(如const引用、
static
const)、避坑指南(生命周期、线程安全)及性能权衡(移动语义、atomic),为实时、安全、高效的机器人C++代码提供系统性实践框架。
硬件/系统
2,644
社区成员
17,229
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章