2015-01-08 2 views
0

은 내가 윈속 자습서를 읽고있다, 나는 다음 코드 줄주의 사항 :이 C++ 코드는 무엇을합니까?

bind(listener, (SOCKADDR*)(&clientinfo), sizeof(clientinfo)) 

청취자가이 SOCKET 객체, 클라이언트 정보가 SOCKADDR_IN 목적입니다.

나는 &이 "주소의"연산자이며, *은 그 결과를 나타내는 연산자임을 알고 있습니다. C#에서 캐스팅하는 것과 비슷하게 보입니다.

무엇이 있습니까? (SOCKADDR*)(&clientinfo)은 그 기능의 맥락에서 무엇을 의미합니까?

답변

2

(&clientinfo) 내가 static_cast<SOCKADDR*>(&clientinfo)

당신은 static_cast here에 대한 자세한 내용을보실 수 있습니다 사용하는 것을 선호, C++에서 SOCKADDR

에 포인터 clientinfo(SOCKADDR*)typecasts이의 주소를합니다.

1

캐스트입니다. SOCKADDR_IN에 대한 포인터를 SOCKADDR에 대한 포인터로 캐스트합니다. 이 두 유형은 호환 가능합니다.

기본적으로 C에서 다형성이 어떻게 이루어지며 bind은 C API입니다.

관련 문제