Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.23;
Скачать: CL | DM;

Вниз

Как передать неявно созданный объект в процедуру?   Найти похожие ветки 

 
Германн ©   (2008-02-25 01:35) [40]


> Leonid Troyanovsky ©   (24.02.08 20:23) [37]
>
>
> > Loginov Dmitry ©   (24.02.08 20:17) [36]
>
> > Видно, что ради простейшей проверки приходится объявлять
> > переменную. WITH тут не катит. Это что, bad design?
>
> То, что это BD - очевидно.
>
> Некто объявляет класс, планируя использовать его в конструкции
> with. Однако, выясняется, что класс к этому не приспособлен.
>
>

А. Ну да. При разработке класса не подумали о костылях, которые вдруг могут понадобиться.
:-)


 
guav ©   (2008-02-25 02:29) [41]

> [8] Плохиш ©   (23.02.08 02:19)

Согласен. Более того экономия тоже неочевидна. Компилятор может выделить паять для неявой with переменной на стеке, может поместить в регистр локальныю var-переменную.

Думаю в with привлекает больше не само "присоединение класса к пространству имён", а возможность создать-и-инициализировать переменную в месте где она нужна, С++ way, в обход обычного синтаксиса паскаля (вот в C++ и C# with нет и ни разу он там не нужен). При этом неявность переменной приносит неудобства - нельзя использовать её как хочет автор темы, и создаётся путаница между членами класса в with и не членами класса в with. IMHO не стоит привязываться к with в подобных случаях, и писать with в сложных случаях, а вместо этого таки объявить переменную в var.


 
Германн ©   (2008-02-25 02:36) [42]


> Германн ©   (25.02.08 01:35) [40]
>
>

Поясню свою мысль
На этапе компиляции компилятор умеет обращаться к относительному адресу вновь созданного объекта. Так кто же запрещает использовать сей относительный адрес?
Почему для "дважды-два" нужно использовать "экспоненту от логарифма"?


 
Германн ©   (2008-02-25 02:57) [43]


> IMHO не стоит привязываться к with в подобных случаях, и
> писать with в сложных случаях, а вместо этого таки объявить
> переменную в var.
>

Это не наш путь.
В "сложных случаях" with очень вреден. А почему и что есть "сложные случаи"?
А и приходится "объявлять переменную в var".


 
Германн ©   (2008-02-25 03:15) [44]


> Leonid Troyanovsky ©   (24.02.08 20:23) [37]

Кстати о бритве!
:)



Страницы: 1 2 вся ветка

Текущий архив: 2008.03.23;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.013 c
8-1177567835
givigudze
2007-04-26 10:10
2008.03.23
Звук м,е,


15-1202729706
{RASkov}
2008-02-11 14:35
2008.03.23
Запомнить параметры для каждой папки


15-1202892081
Ega23
2008-02-13 11:41
2008.03.23
Просьба типа вчерашней


10-1144060743
Vir
2006-04-03 14:39
2008.03.23
TWebBrowser root


2-1204014968
Andr
2008-02-26 11:36
2008.03.23
Сохранение параметров шрифта в ini- файле