@FreeCam

Std::vector В Pascal?

Какой есть аналог std::vector в Pascal.
Каким образом будет выглядеть подобная строка в Pascal:
vector [Name] NameName; ?
[] потому что тут <> почему-то не получается вставить
  • Вопрос задан
  • 607 просмотров
Пригласить эксперта
Ответы на вопрос 3
HemulGM
@HemulGM
Delphi Developer, сис. админ
array of Name
array[10] of Name

В современном Delphi:
TArray<Name>
Ответ написан
Комментировать
@miksmiks
В PascalABC.NET это List < integer > :
var a := new List < integer > ;
a.Add(2);
a.Add(3);
Ответ написан
@raTaHoa
в Lazarus (FreePascal) есть модуль gvector, подключаешь его к проекту и создаешь специализацию от TVector. Если по каким-то причинам стандартные TList и TCollection вас не устраивают.

Пример:
uses gvector;
type myVector = specialize TVector<LongInt>;
var vec: myVector;
begin
  vec := myVector.create;
  vec.PushBack( 5 );
  vec.PushBack( -5 );
  vec.PushBack( 123 );

  writeln(vec[0], ' ', vec[1], ' ', vec[2]);
  readln;
end;


Еще один из вариантов, это модуль fgl:
uses fgl;
type MyClass = class 
   i: int64; 
  constructor Create(setI: int64);
end;
myVector = specialize TFPGList<MyClass>;

constructor MyClass.Create(setI: int64);
begin
 i := setI;
end;

var vec: myVector;
begin
  vec := myVector.create;
  vec.add( MyClass.Create(5) );
  vec.add( MyClass.Create(-5) );
  vec.add( MyClass.Create(123) );

  writeln(vec[0].i, ' ', vec[1].i, ' ', vec[2].i);
  readln;
end;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы