我現在明白為什麼靜态類不建立對象也可以用了,因為你不管建立不建立,它的值都是定的。
也讓我想起java老師講到抽象類和執行個體無關,是以不需要執行個體化。
這裡也應該是,這裡這個量的值就是定的,和對象無關,不管建立不建立對象這個值都是定的。靜态類就是不能被改變的嘛。
是以現在明白為什麼靜态類不需要建立對象直接用類名調用類成員了!!!!!!清楚了這個本質就了解了,不用死記了!!!!!清楚這個本質之後就可以靈活使用了。
确實跟具體執行個體沒什麼關系是以不需要執行個體化,
而有些類是需要執行個體化的,比如類裡面的變量是名字,學号,這種就肯定得執行個體化對不對,執行個體化的時候給它賦上具體的值,是以需要構造函數啊!!!!!這個時候很多東西一下子就明白了!!!!!!!
而且這種不建立對象用類名引用的時候就是用的雙冒号。
我推測一下,是不是類裡面常量的引用都可以這麼做。
這也是ROS裡面的msg檔案裡面的量都已經指派好了給我的啟發。(後來确定那是編譯後自動變為枚舉類型,類裡面的枚舉類型就是靜态成員變量)
那些建立對象才用的消息類型裡面的變量應該是沒有指派的!!!!!!!!!!!!
或者就是,用裡面已經指派的量,可以直接用不用建立對象,用裡面沒有指派的量需要建立對象!!!!!!就可以回答我下面這個問題,類裡面的變量為什麼不需要建立對象再去引用呢。
https://blog.csdn.net/sinat_16643223/article/details/114503233
比如這個
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
https://blog.csdn.net/weixin_40539125/article/details/84112472
https://blog.csdn.net/a1809032425/article/details/101644762
拍自《C++ primer》
opencv裡面這三個方法是靜态方法現在應該好了解啊,因為它确實跟具體對象沒有關系。人家設定靜态方法這樣的規則是有道理的。
https://blog.csdn.net/sinat_16643223/article/details/107660715
。