弄清楚ROS和opencv里面为什么可以直接写::(双冒号) 不用创建对象(似乎一般是命名空间)

2023-05-16

弄清楚ROS和opencv里面为什么可以直接写::

 

有点像 std::cin  std::cout

这样也没创建对象直接用了。

 

 

 

双冒号  :: 是作用域运算符,没错,就是专门用来表示作用域的,要和成员运算符区分开。

 

 

之前在学C++时,这样的用法一般是静态成员函数,莫非他们都是静态的么?

 

http://m.biancheng.net/view/2228.html

 

https://blog.csdn.net/weixin_40539125/article/details/84112472?utm_medium=distribute.pc_relevant_ask_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-blog-baidujs-1.nonecase

 

https://ask.csdn.net/questions/717080

 

 

 

==================================================================

刚刚看书清楚了那是命名空间,标定作用域的,不是静态成员函数。

CV  ROS应该也是命名空间。

这个双冒号就三种作用,这是截图自《C++ primer》

说明std::   cv::    应该都是命名空间作用域的意思。

还是好好看书比较重要。谭浩强的面向对象的C++的书有讲,后面讲命名空间的地方。

 

 

果然我现在用百度搜opencv  命名空间一下子就搜到结果了,怪不得你之前搜说明标准库 什么Opencv为什么不用创建对象根本搜不出结果出来。

https://blog.csdn.net/qq_36747941/article/details/90728902

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

弄清楚ROS和opencv里面为什么可以直接写::(双冒号) 不用创建对象(似乎一般是命名空间) 的相关文章

随机推荐