Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1204022473
Andrewtitoff
2008-02-26 13:41
2008.03.23
Как правильно работать с базами Access ?


2-1203610540
NiGGa
2008-02-21 19:15
2008.03.23
Порядок следования модулей в секции uses проекта


15-1202554369
Kostafey
2008-02-09 13:52
2008.03.23
Реализация связей между таблицами 1:1 в MS SQL Server 2005


2-1203691244
San1
2008-02-22 17:40
2008.03.23
наследование свойства OnMouseMove


2-1202308435
dusha
2008-02-06 17:33
2008.03.23
Динамическая вставка фрейма в форму?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский