弄清楚ROS和opencv里面为什么可以直接写::
有点像 std::cin std::cout
这样也没创建对象直接用了。
双冒号 :: 是作用域运算符,没错,就是专门用来表示作用域的,要和成员运算符区分开。
之前在学C++时,这样的用法一般是静态成员函数,莫非他们都是静态的么?
http://m.biancheng.net/view/2228.html
https://ask.csdn.net/questions/717080
==================================================================
刚刚看书清楚了那是命名空间,标定作用域的,不是静态成员函数。
CV ROS应该也是命名空间。
这个双冒号就三种作用,这是截图自《C++ primer》
说明std:: cv:: 应该都是命名空间作用域的意思。
还是好好看书比较重要。谭浩强的面向对象的C++的书有讲,后面讲命名空间的地方。
果然我现在用百度搜opencv 命名空间一下子就搜到结果了,怪不得你之前搜说明标准库 什么Opencv为什么不用创建对象根本搜不出结果出来。
https://blog.csdn.net/qq_36747941/article/details/90728902