동적 배열 연산자
동적 배열 연산자
동적 배열 연산자는 딱 하나, 바로 +예요. 이 연산자는 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');
b와 c는 byte 배열인데 a는 integer 배열이라 타입이 안 맞아요. 이 코드를 컴파일하면 컴파일러가 오류를 내줘요.