아래 기능에서 reinterpret_cast가 필요한지 궁금합니다. ITER_T는 char *, unsigned char *, std :: vector < 부호없는 char > iterator 또는 이와 비슷한 것일 수 있습니다. 지금까지 해를 끼치 지 않는 것 같지만, 캐스팅은 바이트가 전혀 복사되는 방식에 영향을 미칩니 까?unsigned char *와 char *와의 캐스팅을 다시 해석하십시오.
template<class ITER_T>
char *copy_binary(
unsigned char length,
const ITER_T& begin)
{
// alloc_storage() returns a char*
unsigned char* stg = reinterpret_cast<unsigned char*>(alloc_storage(length));
std::copy(begin, begin + length, stg);
return reinterpret_cast<char*>(stg);
}
alloc_storage 함수가 반환하는 유형은 무엇입니까? – zdan