빈 큐나 빈 벡터 등은 몇 바이트를 취합니까?빈 큐에 몇 바이트가 걸립니까?
답변
구현 세부 사항입니다. 표준에서는 그것에 대해 많이 언급하지 않습니다.
vector
에는 데이터 자체에 대한 포인터, 실제 크기 및 용량이 있습니다 (최소). 그래서 적어도 정수의 3 배 크기. 분명히 크기와 포인터는 64 비트 일 수 있으며,이 경우 3 비트 64 비트 = 24 바이트입니다. 그러나 실제 구현을 보지 않고 크기가 64 비트인지 64 비트인지 여부는 알 수 없습니다.
queue
은 아마도 유사 할 것입니다.
물론 sizeof(vector<int>)
을 수행하고 직접 볼 수 있습니다. 그러나 다른 아키텍처에서 동일한 것은 보장되지 않습니다.
똑같은 추론이'std :: string'에 대해 유지되어야한다고 생각해보십시오. 확실히 데이터 자체, 크기 및 용량이 있습니다. 그러나 Windows에서 g ++ 4.7.2를 사용하면'std :: string'은 단일 포인터의 크기 인 4 바이트입니다. 보유하고있는 포인터가 0이 아니기 때문에 실제로 사용하는 저장소가 실제로는 최소값 이상이지만, 빈 포인터 인 경우에는 내부 포인터가 nullpointer가 될 수 있습니다.이 경우 인스턴스는 단일 포인터. –
이 질문에 대한 일반적인 대답은 없습니다. 이것은 전적으로 구현에 의존합니다.
일반적으로 일반적인 구현은 배열 또는 링크 된 목록을 기반으로합니다. 이 경우 큐의 시작과 길이 (또는 끝의 포인터)에 대한 포인터가 필요합니다. 이는 다시 sizeof (void *) * 2 바이트를 사용한다는 것을 의미합니다. x86_64에서는 16 바이트가됩니다. 연결된 목록에는 두 개의 포인터도 있습니다. 그러나 구현에 따라 다소 차이가있을 수 있습니다. 예를 들어, 24 비트 기본 주소와 8 비트를 사용하여 크기를 저장할 수 있기 때문에 4 바이트의 부기 만 사용할 수 있습니다.
- 1. 몇 바이트가 사용됩니까?
- 2. clFinish가 빈 큐에 걸려있다.
- 3. 문자열에 몇 바이트가 들어 있습니까?
- 4. 메모리 주소에 몇 바이트가 저장됩니까?
- 5. 정적 int 변수에는 몇 바이트가 필요합니까?
- 6. 정확한 MIME 유형 검색에는 몇 바이트가 필요합니까?
- 7. 오이 기능 테스트에는 몇 분이 걸립니까?
- 8. 파일에 몇 개의 읽지 않은 바이트가 남아 있습니까?
- 9. 다음 프로그램이 완료되면 ourOutput.txt 파일에 몇 바이트가 기록됩니까?
- 10. 새로운 메르 센 소수를 정수로 나타내려면 몇 바이트가 필요합니까?
- 11. 소켓 수신 대기열에 몇 개의 패킷 또는 바이트가 있습니까?
- 12. NSUserDefault가 전달한 값을 등록하는 데 몇 초가 걸립니까?
- 13. NIO 바이트 버퍼에 읽을 준비가되었을 때 빈 바이트가 있음
- 14. 왜 빈 텍스트 파일에 3 바이트가 들어 있습니까?
- 15. Phirehose가 걸립니까?
- 16. 플라스크 블록에 과부하가 걸립니까?
- 17. 순환 큐에 제거하고 삽입
- 18. RouteValueDictionary 내가 몇 빈 경로 값이
- 19. Android ftp 바이트가 전송되었습니다.
- 20. 바이트가 작동하지 않는 개체
- 21. Perl에서 바이트가 0xFF인지 확인하십시오.
- 22. 바이트가 직렬 통신으로 정렬됩니다
- 23. bss의 추가 바이트가
- 24. 어떤 바이트가 비트입니까?
- 25. EVP_DecryptFinal에서 8 바이트가 누락되었습니다.
- 26. 문자열 생성자에 바이트가 느림
- 27. builtins.TypeError : 바이트가 아닌 str이어야합니다.
- 28. 파일의 마지막 바이트가 누락되었습니다.
- 29. 파이썬 큐에 삽입하지 않기
- 30. Dotfuscator를 사용하면 시간이 오래 걸립니까?
구현에 따라 다릅니다. –
구현이 정의되었습니다. –
그리고 프로세서 아키텍처에 따라 다릅니다. –