파일을 std::Vector
파일을 std::Vector
이러한 방법 중 하나는 std::istreambuf_iterator 클래스의 반복자를 활용하는 것입니다. 이 접근 방식을 사용하면 불필요한 복사본을 제거하고 파일 내용에 직접 액세스할 수 있습니다. 이 접근 방식의 표준 형식은 다음과 같습니다.
#include<iterator> // ... std::ifstream testFile("testfile", std::ios::binary); std::vector<char> fileContents((std::istreambuf_iterator<char>(testFile)), std::istreambuf_iterator<char>());
재할당을 방지하려면 사전에 벡터에 공간을 확보하는 것이 좋습니다.
#include<iterator> // ... std::ifstream testFile("testfile", std::ios::binary); std::vector<char> fileContents; fileContents.reserve(fileSize); fileContents.assign(std::istreambuf_iterator<char>(testFile), std::istreambuf_iterator<char>());
위 내용은 불필요한 오버헤드 없이 파일을 std::Vector로 효율적으로 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!