예전에 ㅅㅅㅅ 한테 배운 것.
사실 난 세세한 문법들 신경안쓰며 짜던 버릇이 있었는데, ㅅㅅㅅ 덕에 폼을 좀 고쳤다.
생각날 때 마다 처음 공부하는 친구들에게 도움이 되도록 들려주마.
sizeof 는 연산자다. 함수처럼 괄호 안에 인자를 받지만 연산자라는 것.
그리고 컴파일 타임에 결정되기 때문에, 그 결과는 단순히 상수 형태로 프로그램에 내장된다.
즉, sizeof 많이 쓴다고 프로그램이 느려지지 않는다.
코드의 의도가 특정되지 않는 크기 요소의 상수들을 구체화하기 위해 적극적으로 써 주자.
숫자는 일반적이다. 예를 들어 2 라는 숫자는 우주의 크기만큼이나 많은 의미를 가질 수 있다.
즉 다형적 모호성에 빠진 다는 것. 반면 사과 두 개 이런건 구체적이어서 명확하다는 소리.
다른예를 들자면, 친구랑 식당에 갔을때, 뭐 먹을래? 그랬더니
빙그레 웃으면서 손가락 두 개를 펴더라. 그건 2번 세트를 먹겠다는건지,
니가 시킬것 두 개를 따라가겠다는건지, 2분 뒤에 시키겠다는건지 알 수가 없다.
좋은 프로그램은 주석 없이도 코드의 의도를 충분히 특정할 수 있게 해 주는 것이다.
당신도 몇 년 뒤에 당신의 코드를 보면 잠시 이해 안갈 수 있다.
난 sizeof( 타입이나 인스턴스 ) 와 같은 방법으로 크기를 구했었다.
ㅅㅅㅅ 가 그러더라. 타입이면 괄호가 필요하지만, 인스턴스면 괄호가 필요 없다고.
어 정말? 하고 해보니 되더라. ( 책 안읽고 코딩부터 해대는 내 버릇 )
type 은 instance ( 변수명 ) 에 비해 일반적이다. 따라서 모호하다.
이름은 쉽게 변하지 않거나 변하더라도 본래의 의미를 유지하지만, 타입은 변할 가능성이 크다.
즉
unsigned short life = 10; // 남은 생명 10
였던 타입의 크기를 계산하기 위해 sizeof( unsigned short ) 를 했던 경우,
int life = 100000;
로 바뀌는 경우엔 life 의 타입만 int 로 바꾸는 실수를 할 수 있다.
따라서 sizeof life 를 사용하는게 현명하다.
오늘은 안녕~
원본 : http://gall.dcinside.com/board/view/?id=programming&no=745070&page=1&exception_mode=recommend
이 글의 원 저자이신가요?
아니요 퍼온거에요
Congratulations @nerdyoon! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!