소켓으로 작업 중이므로 TCP
라이브러리에 액세스 할 수 없습니다. 클라이언트의 연결이 끊어지면 개체의 메모리가 삭제되지만이를 수행하지는 않는 것 같습니다. NULL
어떻게 확인할 수 있습니까?C++ 삭제 된 포인터 확인
1
A
답변
0
, 삭제 된 포인터에 대해 확인할 수없는 경우
Client != NULL => true
현재 나는 충돌 다음을 보유하고 있습니다. 이런 이유로, 포인터를 삭제할 때 반쯤 괜찮은 C++ 프레임 워크가 알려줄 것입니다. 알맞은 프레임 워크는이를 위해 스마트 포인터를 사용합니다.
임의로 오브젝트를 삭제하는 코드를 발견 한 경우, 대안을 찾으려는 대신 교체하십시오. 이러한 코드로 인해 발생하는 유일한 문제는 아닙니다.
0
이것은 네트워크 프로그래밍에서 다루어야하는 전형적인 경우입니다. 다른 의견에 따르면 포인터가 삭제되었는지 여부는 감지 할 수 없습니다.
제가 개인적으로 사용하는 솔루션은 shared_ptr입니다. 연결이 닫히면 refcount가 감소하고 연결 상태가 closed로 설정됩니다.
관련 문제
- 1. 포인터 삭제 및 주소 확인
- 2. C++ 포인터 및 삭제
- 3. C++ 포인터에 대한 포인터 삭제
- 4. 유효한 주소의 C++ 삭제 포인터
- 5. C++에서 포인터 및 삭제
- 6. C++ 포인터의 포인터 문을 삭제
- 7. 포인터 오류, 삭제 [] 포인터 중단
- 8. 클래스에 전달 된 포인터 벡터 삭제
- 9. 공유 포인터 더블 삭제
- 10. C++ : 포인터 배열 삭제 중 오류
- 11. 위젯에 대한 포인터 삭제 Qt C++
- 12. C++ catch catch bad_alloc 및 포인터 삭제
- 13. 다른 공유 라이브러리에 할당 된 포인터 삭제
- 14. Qt를 삭제 포인터 방법
- 15. 데이터 삭제없이 "삭제"포인터
- 16. 포인터 삭제 동작이 정상입니까?
- 17. 포인터 삭제 시간
- 18. 매크로에서 void 포인터 크기 확인 c
- 19. 배열에서 포인터 삭제
- 20. 삭제 동적 정적 포인터
- 21. null 포인터 확인
- 22. 삭제 대 연산자 삭제 (및 무효 포인터)
- 23. C는 삭제 ++ 포인터
- 24. 소멸자 (this) 포인터 삭제
- 25. 삭제 포인터 :: 기능
- 26. 클래스 및 포인터 삭제
- 27. char 포인터 배열 삭제
- 28. 지도에서 포인터 삭제
- 29. 배열 포인터 삭제
- 30. 벡터에 대한 포인터 삭제
'0xddd ... dd'는 (디버그 모드에서) 메모리가 초기화되지 않았 음을 나타냅니다. 당신이 'NULL'로 설정하는 것을 잊어 버린 것처럼 보입니다. – CompuChip
@CompuChip 동의 함, 디버그 버전. 릴리즈가 단위로 연결된 데이터를 채우지 않습니다. –
코드/출력을 게시하십시오. – slawekwin