歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C++11中的std::bind與Socket中的bind函數沖突問題

C++11中的std::bind與Socket中的bind函數沖突問題

日期:2017/3/1 9:40:27   编辑:Linux編程

最近在使用封裝一個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函數(匿名函數) http://www.linuxidc.com/Linux/2013-12/93367p2.htm

C++ Primer Plus 第6版 中文版 清晰有書簽PDF+源代碼 http://www.linuxidc.com/Linux/2014-05/101227.htm

讀C++ Primer 之構造函數陷阱 http://www.linuxidc.com/Linux/2011-08/40176.htm

讀C++ Primer 之智能指針 http://www.linuxidc.com/Linux/2011-08/40177.htm

讀C++ Primer 之句柄類 http://www.linuxidc.com/Linux/2011-08/40175.htm

C++11 獲取系統時間庫函數 time since epoch http://www.linuxidc.com/Linux/2014-03/97446.htm

C++11中正則表達式測試 http://www.linuxidc.com/Linux/2012-08/69086.htm

Copyright © Linux教程網 All Rights Reserved