int 및 double 대신 short 및 long을 사용하면 이점이 있습니까? int와 double이 더 많은 스토리지를 차지하는 것 외에는? 교수님은 설명없이 int와 double을 사용하는 코드를 처벌합니다. 내가 사용하는 몇 권의 교과서에서 그에 대한 좋은 이유를 찾지 못했습니다. 어디에서 더 유용 할 수 있습니까? 예를 들어, 내 코드의 많은 함수 중 하나는
void randDir(int& x, int& y){
do{
x = rand() % 4 - 1;
y = rand() % 4 - 1;
if(x == 2) x=0;
if(y == 2) y=0;
}while(x == 0 && y == 0);
}
이것이 제 교수님이 원했던 것입니다
void randDir(short& x, short& y){
do{
x = rand() % 4 - 1;
y = rand() % 4 - 1;
if(x == 2) x=0;
if(y == 2) y=0;
}while(x == 0 && y == 0);
}
사용의 유일한 장점은 short
공간을 덜 차지한다는 것입니다. 매우 메모리가 부족한 환경을 위해 프로그래밍하거나 숫자 배열이 많거나 데이터가 프로그램의 주소 공간을 벗어나는 경우 ( 예 : 디스크에 저장하거나 네트워크를 통해 전송) 이것은 중요 할 수 있습니다. . 다른 경우에는 int
불필요하게 다른 유형을 사용 하면 프로세서 아키텍처가 설계된 방식으로 인해 실제로 프로그램 속도 가 느려질 수 있습니다 . 예를 들어 :
당신이 생각하는 크기와 정확히 일치하는 유형이 필요한 경우 short
, 비트 패턴이나 이와 유사한 것을 저장하기 위해 std::int16_t
, not 과 같은 정확한 너비 유형 중 하나를 사용해야합니다 short
. 따라서 일반적으로 short
.
C ++ 강사가 오래 전에 모든 바이트가 중요한 환경에서 코딩을 배웠을 가능성이 있으며 오늘날에도 여전히 그렇다고 잘못 생각할 수 있습니다. 안타깝게도 이러한 선입견은 매우 일반적입니다. (다른 증상으로는 예외 금지 및 표준 라이브러리 컨테이너 사용 금지가 있습니다.) 그러한 경우 일반적으로 똑똑한 사람들이 종종 어리석은 말을 할 수 있다는 사실을 인식해야합니다. Stack Overflow는 여기에 나열된 책과 같이 현재 모범 사례에 대한 정보를 얻을 수있는 좋은 장소입니다. The Definitive C ++ Book Guide and List
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다