Size: a a a

2021 January 25

IP

Ivan Polyacov in Delphi & Lazarus
Dmitry Belkevich
high то вместе с массивом передается. а новый предел - нет
ну так у подмассива  же и high другой
источник

DB

Dmitry Belkevich in Delphi & Lazarus
я понял что хочется, но так увы нельзя. или я сходу не представляю как
источник

IP

Ivan Polyacov in Delphi & Lazarus
Sergey Bodrov
Так можно додуматься до динамически создаваемых в рантайме типов с произвольным размером. Извращенцы. =)
тут наверно просто нужен какой-то другой тип, какой-нибудь класс, в котором спрятан указатель и размер.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
к слову говоря, можно вместо двух параметров передавать структуру
источник

DB

Dmitry Belkevich in Delphi & Lazarus
о! :)
класс или запись
источник

IP

Ivan Polyacov in Delphi & Lazarus
кстати да!
источник

IP

Ivan Polyacov in Delphi & Lazarus
запись даже лучше :)
источник

IP

Ivan Polyacov in Delphi & Lazarus
Нету чего-нить такого стандартного? 😉
источник

SB

Sergey Bodrov in Delphi & Lazarus
Что-то вроде энумератора?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
может еще что-то скажут. не скажу так
источник

IP

Ivan Polyacov in Delphi & Lazarus
Ага, ну в целом понятно, спасибо за помощь!
источник

ea

eugene afx in Delphi & Lazarus
нужна помощь вселенского разума

 TNode = class
   public
   somedata:string;
   parent:TNode;
   childs:Tlist;
end;

var node:TNode;

создаю дерево, в childs вставляю адреса новых нод. и так далее. безразмерное дерево.
вопрос - если я сделаю node.free, то все ноды, занесенные в childs тоже освободятся или нужно всех по очереди очищать по одной, начиная с самой дальней?
источник

AK

Andy Korg in Delphi & Lazarus
eugene afx
нужна помощь вселенского разума

 TNode = class
   public
   somedata:string;
   parent:TNode;
   childs:Tlist;
end;

var node:TNode;

создаю дерево, в childs вставляю адреса новых нод. и так далее. безразмерное дерево.
вопрос - если я сделаю node.free, то все ноды, занесенные в childs тоже освободятся или нужно всех по очереди очищать по одной, начиная с самой дальней?
источник

GB

George Bakhtadze in Delphi & Lazarus
eugene afx
нужна помощь вселенского разума

 TNode = class
   public
   somedata:string;
   parent:TNode;
   childs:Tlist;
end;

var node:TNode;

создаю дерево, в childs вставляю адреса новых нод. и так далее. безразмерное дерево.
вопрос - если я сделаю node.free, то все ноды, занесенные в childs тоже освободятся или нужно всех по очереди очищать по одной, начиная с самой дальней?
если node.free пробегается по дочерним нодам и освобождает их, то тоже освободятся, да
источник

GB

George Bakhtadze in Delphi & Lazarus
Ivan Polyacov
Вопрос спецам :) Вот представьте, что пишу я функцию, которая что-то делает с массивом байт - например считает хэш. Я могу передавать ей указатель на данные и кол-во байт, а могу передавать сам массив (получается изящнее). Но вот задача: что делать, если мне понадобится передать только часть уже существующего массива? С указателем это легко, а с массивом надо либо копировать (что затратно), либо вводить дополнительные параметры для указания subrange. А как бы вы сделали?
я б сделал универсальную функцию, принимающую указатель и размер, которая, собсно, делает что надо. и вдобавок к ней функции с нужными интерфейсами - с массивом, TList'ом и т.п. Которые ессно будут вызывать первую
источник

ea

eugene afx in Delphi & Lazarus
George Bakhtadze
если node.free пробегается по дочерним нодам и освобождает их, то тоже освободятся, да
ну вот я не делал, чтоб пробегалось. убиваю родительскую ноду, но в ней есть childs, которые хранят адреса дочерних нод
получается, что адреса убиваются, а сами эти ноды остаются замороженными и сжирают память?
источник

AM

Artur Mustafin in Delphi & Lazarus
eugene afx
ну вот я не делал, чтоб пробегалось. убиваю родительскую ноду, но в ней есть childs, которые хранят адреса дочерних нод
получается, что адреса убиваются, а сами эти ноды остаются замороженными и сжирают память?
yep
источник

AM

Artur Mustafin in Delphi & Lazarus
делай как иван грозный
источник

ea

eugene afx in Delphi & Lazarus
всех на кол?
источник

AM

Artur Mustafin in Delphi & Lazarus
eugene afx
всех на кол?
нет, я тебя породил я тебя и убью. детей убить. щас ЕНЩИКИ набегут, завалят спамом :)
источник