C++11中的std::bind与Socket中的bind函数冲突问题

最近在使用封装一个Socket类时遇到函数冲突的问题,情况是这样的,Socket中有一个bind函数, 原型如下 :

// socket.h
int bind(int, const struct sockaddr *, socklen_t)

该函数是绑定Socket, 而在C++11中增加了std::bind(_Fp &&__f, _BoundArgs &&__bound_args...) 函数, 可以用该函数绑定函数指针, 当在C++类中添加了using namespace std;之后,如果你想调用socket.h中的bind方法则会出现问题, 使得bind函数调用不是你想要的行为。

解决方案是在使用socket.h的bind函数的类中不要使用using namespace std。

C++11新特性:Lambda函数(匿名函数) 

C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码

读C++ Primer 之构造函数陷阱

读C++ Primer 之智能指针

读C++ Primer 之句柄类

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8747f98938072476bf4118da0f7b28fa.html