programing150 std::tuple - std::pair을 확장한 자료형 - 가변인자 템플릿 > C++ TR1부터 사용이 가능, TR1은 최대 10개 까지 저장 > C++ 11부터는 가변인자 템플릿 덕에 제한이 없음 - 구조체는 해당 구조체를 정의해야 사용가능 하지만 tuple은 그럴 필요 없음 - 변수 타입 : std::tuple > auto로 사용 가능 - std::make_tuple() : tuple 변수에 값을 넣을 때 사용 - std::tuple_size::value : 변수의 갯수 - decltype( tuple변수 ) : 변수의 타입 유추 - std::get( tuple변수 ) : index의 값을 가져옴 - std::tuple_element를 사용해서 특정 위치의 타입을 가져올 수 있음 - std::tie :.. 2016. 10. 12. extern과 static - 보통 변수는 선언시 값을 넣어주지 않아도 자동으로 쓰레기값이 들어가면서 정의 되어서 한번 더 같은 변수의 이름을 써서 선언한다면 곧 재정의가 됨 - static도 변수와 마찬가지로 한번 더 쓰게 되면 재정의가 되고Include로 각각 다른 헤더에서 같은 이름을 써도 에러 - extern은 값을 넣어주지 않으면 선언이 된다. 그래서 따로 정의를 해주지 않고 사용하면 오류가 난다cf. class안에 static 변수도 값을 넣어주지 않으면 선언이 돼버린다. - extern은 Include로 각 다른 헤더에서 선언해서 불러와도 같은 변수이므로 주의 해야 함 - extern은 정의 하지 않으면 컴파일이 안됨 - static은 지역일 때와 전역일 때 전혀 다른 속성으로 쓰이게 된다.전역일 경우는 그 파일 내에.. 2016. 10. 9. UDP client에서 bind() - bind() : 소켓에 주소와 포트를 연결 시킴=> 외부에서 패킷이 들어왔을때 이 패킷을 어디로 보내야할지 정함 - 패킷이 어플리케이션에 전달되는 과정 랜카드를 통해 패킷 수신-> 랜카드 드라이버가 운영체제에 패킷 전달-> 운영체제는 소켓 리스트에서 패킷의 목적지 주소와 포트 번호가 일치하게 bind된 소켓을 찾음-> 찾았을 경우 해당 어플리케이션에 전달-> 어플리케이션은 recvfrom을 통해서 읽음 - 즉 bind는 운영체제가 패킷을 어떻게 전달할지 모르는 경우에 해줘야함- recvfrom()을 먼저 호출하는 서버의 대부분의 경우 bind() 사용 - bind()를 안해도 되는 경우 : sendto()를 먼저 호출하는 경우- sendto()를 호출할 때는 인자로 주어지는 상대방 주소 정보를 참조하.. 2016. 9. 29. [펌] Peer-to-Peer Communication Across Network Address Translators Peer-to-Peer Communication Across Network Address TranslatorsBryan FordMassachusetts Institute of Technologybaford (at) mit.eduPyda SrisureshCaymas Systems, Inc.srisuresh (at) yahoo.comDan Kegeldank (at) kegel.comJ'fais des trous, des petits troustoujours des petits trous - S. Gainsbourg P2P관련된 기술 중 하나인 홀 펀칭에 대한 아주 좋은 논문을 번역해 봤습니다. 다행히 원작자인 Bryan Ford님이 번역본의 게재를 허락해주셨습니다. 하지만 제 번역을 너무 믿지 마시고 원문과.. 2016. 9. 21. 이전 1 ··· 16 17 18 19 20 21 22 ··· 38 다음