Главная страница
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.016 c
15-1202741305
БарЛог
2008-02-11 17:48
2008.03.23
Статья о передаче файлов потоком


2-1203495233
Dymok
2008-02-20 11:13
2008.03.23
Как обратиться к объекту на другой форме в нестандартном случае?


2-1204033951
AlexeyMir
2008-02-26 16:52
2008.03.23
Как обозвать компонент созданный в процессе выполнения программы


2-1203922619
Настёна
2008-02-25 09:56
2008.03.23
ОС перезагружается!


15-1202565066
vrem_
2008-02-09 16:51
2008.03.23
Фото участников форума, самые новые