상수의 사용에 궁금점이 있는데요..
글쓴이: 착한아이 / 작성시간: 금, 2011/10/07 - 4:52오전
어떤 컴파일러의 상수Instance의 주소지정 크기가 일반 숫자상수 크기보다 작다고 가정하고,
어떰 함수내 숫자상수 0 이 100개가 쓰였을 경우,
이 0 을 상수Instance 전환하면 유리한 점이 있을까요?
예를 들면
// 숫자상수를 사용한 경우.
function f (sl:TStrings);
var a:integer;
begin//---------------------------
a:= 0; sl[0]:=a;
// 이외 0 이 무수히 많이 쓰였다고 가정하고요.
end; //===========================
// 상수인스턴스를 사용한 경우.-------
function f (sl:TStrings);
const c0=0;
var a:integer;
begin//---------------------------
a:=c0; sl[c0]:=a;
// 무수히 많은 그0 대신 c0 로 표기되어있어요.
end; //===========================
Forums:
그 숫자를 0에서 1로 고친다고 가정하고, 변수로
그 숫자를 0에서 1로 고친다고 가정하고, 변수로 되어 있으면 편집기의 도움없이 한번에 고칠 수 있음.
왜 니가 아쉬워서 질문 글 올릴때는 니 특유의 이상한
왜 니가 아쉬워서 질문 글 올릴때는 니 특유의 이상한 말투 안써요?
그리고 이것도 또 니가 KLDP 사람들 창의력 수준 재볼라고 올리는 낚시인가요?
또 이딴거 올려놓고 반응이 시원찮으면 "KLDP 수준이 낮은거 같아요"라고 비아냥 거리거나
아니면 니 입맛에 안맞는 답변만 올라온다고 "XXX 경진대회 두둥! :P" 이러면서
몇달씩 질질 끌면서 행패 부릴 건가요?
그리고 KLDP 님들 제발 한번 낚인 미끼는 다시 물지좀 맙시다.
그런 코드의 예를 들어주시면 이해하기 쉽겠는데요
그런 코드의 예를 들어주시면 이해하기 쉽겠는데요
피할 수 있을때 즐겨라! http://melotopia.net/b
메모리 참조가 추가되지만 성능상으로는 별 차이 없을
메모리 참조가 추가되지만 성능상으로는 별 차이 없을 듯 합니다.
const 를 쓰는 것이 타입 체크나 디버깅 시에 편리할 수는 있죠.
ps. 위 예제에서 0을 모두 C0 로 바꾸는 것은 바람직하지 않아 보이는데요.
상수들의 타입이 다를 수도 있고, 일반 상수와 인덱스를 섞어 표현하는 것도 좋은 코드는 아닌듯.