Форум: "Начинающим";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];
ВнизКак передать неявно созданный объект в процедуру? Найти похожие ветки
← →
Германн © (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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.01 c