동적 배열 연산자

동적 배열 연산자

동적 배열 연산자는 딱 하나, 바로 +예요. 이 연산자는 Delphi 모드에서는 사용할 수 있고, objfpc 모드에서는 arrayoperators 모드 스위치로 명시적으로 켜야 해요.

출처: 문서

본문

{$mode objfpc}
 {$modeswitch arrayoperators}

켜고 나면 동작은 문자열 연결과 비슷해요. 두 배열의 내용을 서로 이어 붙여요. 이때 두 배열의 요소 타입은 반드시 같아야 해요. 즉 다음 코드는 동작해요.

{$mode objfpc}
 {$modeswitch arrayoperators}
 var
   a,b, c : array of byte;
 begin
   a:=[0,1,2];
   b:=[3,4,5];
   c:=a+b;
   writeln('C has ',length(c),' elements');

하지만 다음 코드는 동작하지 않아요.

{$mode objfpc}
 {$modeswitch arrayoperators}
 var
   b, c : array of byte;
   a : array of integer;
 begin
   a:=[0,1,2];
   b:=[3,4,5];
   c:=a+b;
   writeln('C has ',length(c),' elements');

bcbyte 배열인데 ainteger 배열이라 타입이 안 맞아요. 이 코드를 컴파일하면 컴파일러가 오류를 내줘요.

더 알아보기