![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос о синтаксисе.
Демонов Е.В. © (2002-10-10 14:25:00)Вот такой вопрос. Есть:
type
PType=^TType
TType=record
FType:SomeType
..........
..........
..........
end;
procedure hihi;
var s:PType
begin
new(s);
s.Ftype:=SomeTypeVariable
s^.Ftype:=SomeTypeVariable
Результат одинаковый и даже addr(s.Ftype)=addr(s^.Ftype);
Что это значит или компилятор прочто понимает что хотели ?
still (2002-10-10 15:04:00) [1]
> SVM (Perm) (10.10.02 14:59)
а begin end не надоело писать из-за глупого синтаксиса?
В C например {} - и всего делов-то.
Внук (2002-10-10 14:59:00) [2]Не спорю. Просто есть желаемое, есть действительное. Паскаль, imho, уже перебарщивает с желанием упростить жизнь начинающим, наоборот, еще более все запутывая. Например, те же операции со строками... Но это уже другая тема :)
SVM (Perm) (2002-10-10 14:59:00) [3]Наоборот,это круто! А то надоедает писать Ptr^.Method!
А в CBuilder"е так сделано из-за стандартов и глупого
синтаксиса!
still (2002-10-10 14:55:00) [4]
> Внук © (10.10.02 14:38)
я был бы не против. Почему в том же CBuilder"е так сделано (Object->Method)? На мой взгляд, если я использую указатель, то и обращаться должен как к указателю.
А таких неявных фишек, пусть даже и описанных в документации на КОНКРЕТНЫЙ КОМПИЛЯТОР (а не на язык), на мой взгляд, должно быть поменьше.
Внук (2002-10-10 14:49:00) [5]ZrenBy © (10.10.02 14:45)
"То, что я хочу" делает только старик Хоттабыч...
Программы работают согласно документации (компиляторы, в том числе).
ZrenBy (2002-10-10 14:45:00) [6]>Внук © (10.10.02 14:38)
А мне такой подход по умолчанию не нравится.
Я предпочитаю, чтобы компилятор делал то,
что я хочу, а не то, что он предполагает.
Хотя бы Warning выдавал, как другие.
Внук (2002-10-10 14:38:00) [7]still © (10.10.02 14:30)
Тогда, уважаемый, Вам бы пришлось при каждом t=MyClass.Create; писать t^.MyFunction; :))
still (2002-10-10 14:30:00) [8]здесь судя по всему действительно компилятор типа умный такой.
хотя все эти неявные и подразумеваемые операции - такая мутная вода, что лучше бы уж он глупым оставался.
Внук (2002-10-10 14:27:00) [9]С некоторых пор (как только появились переменные типа class)разыменование производится компилятором автоматически, если того требует ситуация.