我现在明白为什么静态类不创建对象也可以用了,因为你不管创建不创建,它的值都是定的。

161 篇文章 13 订阅
3 篇文章 0 订阅

我现在明白为什么静态类不创建对象也可以用了,因为你不管创建不创建,它的值都是定的。

也让我想起java老师讲到抽象类和实例无关,所以不需要实例化。

这里也应该是,这里这个量的值就是定的,和对象无关,不管创建不创建对象这个值都是定的。静态类就是不能被改变的嘛。

所以现在明白为什么静态类不需要创建对象直接用类名调用类成员了!!!!!!清楚了这个本质就理解了,不用死记了!!!!!清楚这个本质之后就可以灵活使用了。

确实跟具体实例没什么关系所以不需要实例化,

而有些类是需要实例化的,比如类里面的变量是名字,学号,这种就肯定得实例化对不对,实例化的时候给它赋上具体的值,所以需要构造函数啊!!!!!这个时候很多东西一下子就明白了!!!!!!!

而且这种不创建对象用类名引用的时候就是用的双冒号。

我推测一下,是不是类里面常量的引用都可以这么做。

这也是ROS里面的msg文件里面的量都已经赋值好了给我的启发。(后来确定那是编译后自动变为枚举类型,类里面的枚举类型就是静态成员变量)

那些创建对象才用的消息类型里面的变量应该是没有赋值的!!!!!!!!!!!!

或者就是,用里面已经赋值的量,可以直接用不用创建对象,用里面没有赋值的量需要创建对象!!!!!!就可以回答我下面这个问题,类里面的变量为什么不需要创建对象再去引用呢。

**这些普罗米修斯C++代码里面的双冒号::到底代表着什么,有必要真正弄清楚了(基本是命名空间)很多彻底弄清楚了!_c++中的两个冒号是什么-CSDN博客

比如这个

https://gitee.com/maxibooksiyi/Prometheus/blob/master/Modules/control/src/px4_sender.cpp

其实下面这种我创建对象引用应该也没什么问题,只是可能多此一举。因为它确实跟具体实例没什么关系,所以不需要实例化。

https://gitee.com/maxibooksiyi/Prometheus/blob/master/Modules/common/msgs/msg/DroneState.msg

https://gitee.com/maxibooksiyi/Prometheus/blob/master/Modules/common/msgs/msg/ControlCommand.msg

这个通过对象调用的armed确实就是一个没有赋值的量

https://gitee.com/maxibooksiyi/Prometheus/blob/master/Modules/control/src/px4_sender.cpp

可以在不建立对象的情况下调用类成员吗?可以不建立对象的情况下调用类方法吗?_没有对象就没有非静态成员变量-CSDN博客

C++ static静态成员变量用法_c++定义一个私有静态变量-CSDN博客

拍自《C++ primer》

opencv里面这三个方法是静态方法现在应该好理解啊,因为它确实跟具体对象没有关系。人家设定静态方法这样的规则是有道理的。

opencv的Mat类的静态方法-CSDN博客

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值