弄清楚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(使用前将#替换为@)