命名空间的问题

在ros中使用opencv进行图像的处理,有几点测试现记录如下:
1.在不声明 using namesapce cv ; 时用到很多opencv中的类/函数,如Mat / imshow(),都需要前缀命名空间作用阈cv:: ,但是标准库中的函数不用添加前缀std:: ,例如malloc(),free()等,当然添加之后也可以编译通过,但是string类确需要添加作用阈前缀std::猜想可能是string在std和cv命名空间下都有同名的定义,所以需要指定使用的是哪一个。
2.当声明using namespace cv;之后用到opencv中的类/函数前缀cv::就可以省略了,然而string类的前缀也可以不加了,并且无论是加std::还是cv::都可以编译通过,再猜想可能是cv命名空间是在std命名空间下的子空间?但是查找opencv2的头文件确并没有发现这样的定义,why?……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值