Ada_Ru форум

Обсуждение языка Ада

Re: [ada_ru]Высвобождениепамяти.

Оставить новое сообщение

Сообщения

sve
Re: [ada_ru]Высвобождениепамяти.
2007-07-13 14:16:06

там написано, что *можно было бы* сделать 'procedure Assign(Target : in out Controlled; Source : in out Controlled);' или даже что нибудь типа 'procedure ":="(Target : in out Controlled; Source : in out Controlled);' и было бы круто, однако это бы *не работало* с unconstrained discriminated величинами т.к. дискриминант невозможно изменить дискриминант индивидуально.

 

собственно поэтому видимо и не сделали...

 

 

----- Original Message -----

From: Ivan Levashew

To: [email protected]

Sent: Friday, July 13, 2007 4:00 PM

Subject: Re: [ada_ru]Высвобождениепамяти.

 

 

sve <pyfqrf <at> hotmail.com> writes:

 

http://www.adaic.com/standards/05aarm/html/AA-7-6.html

 

> Reason: An alternative design for user-defined assignment

> might involve an Assign operation instead of Adjust:

> 17.b

> procedure Assign(Target : in out Controlled; Source : in out Controlled); > 17.c

> Or perhaps even a syntax like this:

> 17.d

> procedure ":="(Target : in out Controlled; Source : in out Controlled);

Не проверял, реализовано в gnat или нет.

 

 

 

On Fri, 13 Jul 2007 18:16:06 +0400, you wrote:

 

там написано, что *можно было бы* сделать 'procedure Assign(Target : in out Controlled; Source : in out Controlled);' или даже что нибудь типа 'procedure ":="(Target : in out Controlled; Source : in out Controlled);' и было бы круто, однако это бы *не работало* с unconstrained discriminated величинами т.к. дискриминант невозможно изменить дискриминант индивидуально.

 

Можно конечно, но не просто так как в "proposal". Нужно расщепить присваивание на большее количество частей. В частности, для вычисления из правой части, дискриминантов и других ограничений левой части, до размещения в памяти.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти