Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли подобие "with" / 25 сообщений из 25, страница 1 из 1
03.08.2004, 08:24
    #32632367
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Есть ли подобие WITH из Delphi в C++???
заранее спасибо
...
Рейтинг: 0 / 0
03.08.2004, 09:07
    #32632408
--
--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
какое щастье, что такого там НЕТ!
...
Рейтинг: 0 / 0
03.08.2004, 09:10
    #32632409
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
и что каждый раз писать: Класс.Объект и т.п.???
Идиотизм какой-то!!!
...
Рейтинг: 0 / 0
03.08.2004, 09:45
    #32632465
Gasanov2003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Такой моразм в элегантнейшем C++ не нужен
...
Рейтинг: 0 / 0
03.08.2004, 09:53
    #32632485
Man With No Name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Всё дело в привычке.
...
Рейтинг: 0 / 0
03.08.2004, 09:53
    #32632486
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Gasanov2003Такой моразм в элегантнейшем C++ не нужен
Просто писец. И че так всем мудохаться приходится???
Всегда считал, что чем легче код исходника читать, тем легче его отлаживать.
...
Рейтинг: 0 / 0
03.08.2004, 10:28
    #32632587
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
wolverin Gasanov2003Такой моразм в элегантнейшем C++ не нужен
Просто писец. И че так всем мудохаться приходится???
Всегда считал, что чем легче код исходника читать, тем легче его отлаживать.

Именно поэтому этот маразм и не нужен !
...
Рейтинг: 0 / 0
03.08.2004, 10:46
    #32632613
BuilderWithDelphi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Gasanov2003Такой моразм в элегантнейшем C++ не нужен
Во первых научись слово "моразм" с буквой "а" писать, а потом уже об элегантности рассуждай. А когда сорок раз напишешь одно и то же имя объекта, чтобы до свойств достучаться, подумай нужен такой маразм или нет.
...
Рейтинг: 0 / 0
03.08.2004, 11:09
    #32632673
viper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Ну ну, как там в делфи было не знаю, а на VB были мастера что умудрялись написать
With Object1
.............
...............
With Object2
..............
...............
With Object3
...........
........
End With
End With
End With

Ну блин и сиди отлаживай...
Ну и уж к слову раз за столько лет ни в одном С-подобном языке сего улутшения не появилось значит на это были причины...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
03.08.2004, 11:12
    #32632690
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
а я больното и в Делфях этим не пользовался :)

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
03.08.2004, 11:26
    #32632731
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
объясняю популярно любителям всяких навороченных фенек, почему в С++ нету аналога with.

1. Любой класс должен содержать ТОЛЬКО необходимую информацию, и не загружаться лишним. Поэтому нетрудно нескольким строкам вписать имя объекта класса.

2. Любой класс имеет конструктор и, если надо ИНИЦИАЛИЗАТОР для переменных класса. В этом инициализаторе не нужно писать имя объекта, так как там есть скрытый указатель this.

3. Класс может иметь ДЕФОЛТНЫЙ конструктор, который забивает некоторое_множество/все_из своих переменных значениями по умолчанию.

4. Конструктор обычно зовёт конструктор родителя, который делает свою часть работы по инициализации.

Этого, я думаю, хватит. Лично мне никогда в голову не приходила мысль "а почему в С++ нету with".

авторВсегда считал, что чем легче код исходника читать, тем легче его отлаживать.

правильно.

если это инициализация, то всё делается в одном месте и разницы между "читабельностью" С++ и Дельфи тут не будет почти.

Код: plaintext
1.
2.
3.
4.
whit some
{
 .m_a =  10 ;
 .m_b =  20 ;
}

и

Код: plaintext
1.
some.m_a =  10 ;
some.m_b =  20 ;

а в конструкторе вообще

Код: plaintext
1.
2.
3.
4.
MyClass::MyClass()
{
m_a =  10 ;
m_b =  20 ;
}

по-моему, в С++ лучше, и нет трёх лишних строчек ;)

а если это работа с объектом, то

Код: plaintext
1.
2.
3.
4.
5.
6.
with some
{
....  100  строчек кода
.m_member = m_member+ 1 ;
....  190  cтрочек кода
.m_another = m_another- 2 ;
}
и я должен ради "строчного удовольствия" лазить по коду и искать этот with? :)
Нет уж.... привыкайте к хорошему коду ;)

Как говориться, раз это в С++ не придумали, значит оно тут нафиг не надо.
...
Рейтинг: 0 / 0
03.08.2004, 11:28
    #32632743
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Меня уже опередили :))
...
Рейтинг: 0 / 0
03.08.2004, 11:40
    #32632780
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
в принципе - согласен, with конструкция - лишняя.
однако в delphi я любил пользоваться такой конструкцие:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with TFIBQuery.create(self) do
 begin
  database:=someDB;
  transaction:=someTRN;
  sql.text:=someSQLtext;
  open;
   //some works if need 
   // 
  free;
 end;
что не требовало объявления переменной, которая была бы нужна всего в одном месте, а в остальном засоряла бы область описания переменных своим присутствием.

Однако в с++ это не нужно, поскольку переменные можно объявлять где угодно и более того, не нужно зботится об удалении объекта при выходе из области видимости переменной.
...
Рейтинг: 0 / 0
03.08.2004, 11:50
    #32632804
BuilderWithDelphi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
alex_kв принципе - согласен, with конструкция - лишняя.
однако в delphi я любил пользоваться такой конструкцие:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with TFIBQuery.create(self) do
 begin
  database:=someDB;
  transaction:=someTRN;
  sql.text:=someSQLtext;
  open;
   //some works if need 
   // 
  free;
 end;
что не требовало объявления переменной, которая была бы нужна всего в одном месте, а в остальном засоряла бы область описания переменных своим присутствием.

Однако в с++ это не нужно, поскольку переменные можно объявлять где угодно и более того, не нужно зботится об удалении объекта при выходе из области видимости переменной.
Ко всему сказанному хочу добавить, что такая конструкция могла бы пригодиться при вызове нескольких методов объекта, в случае, если их количество больше 3-х
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
with TOracleQuery do
 begin
  close;
  sql.clear;
  deletevariables;
  declarevaiable('id',otInteger);
  sql.add('select * from ... where id=:id');
  open;
 end;
...
Рейтинг: 0 / 0
03.08.2004, 12:08
    #32632874
viper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
об этом говорили выше... а если внутри блока 100 вызовов?
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
03.08.2004, 12:38
    #32633016
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
viperоб этом говорили выше...
Вопрос в чем???
Еще раз объясню - ЕСТЬ ЛИ АНАЛОГ "WITH"???
Это означает - как реализовать конструкцию где 100 вызовов с одним и тем же классом, например.

CEMbя должен ради "строчного удовольствия"
Ну если вы страдаете амнезией, тут врядли "язык" виноват.

CEMbКак говориться, раз это в С++ не придумали, значит оно тут нафиг не надо.
Если ИМЕННО этого не появилось, это не означает, что оно не реализовано по ДРУГОМУ!!!

viperа если внутри блока 100 вызовов
Имено потому что 100 вызов, ПОТОМУ и нужно.
...
Рейтинг: 0 / 0
03.08.2004, 12:46
    #32633051
viper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Блин, ну уж если начать копать в высокие материи, то with вредный оператор, и пример с 100 вызовами я приводил для того что б показать что with капитально снижает читабельность кода... А на счет памяти... вот когда будете писать вместе с хотя бы 3-мя разработчиками, то посмотрю как вы будете помнить что кто куда втулил...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
03.08.2004, 12:48
    #32633061
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
wolverin
Еще раз объясню - ЕСТЬ ЛИ АНАЛОГ "WITH"???


Нет и небудет !
...
Рейтинг: 0 / 0
03.08.2004, 13:06
    #32633120
_Konst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
Уважаемый wolverin
неужели Вам сложно объявить указатель на свой объект, выбрав покороче название и ссылаться на все атрибуты и методы объекта через этот указатель?

CSomeClass* p = &object1.object2.objectOfSomeClass;
p->someMethod1();
...
p->someMethod100();
...
Рейтинг: 0 / 0
03.08.2004, 14:22
    #32633410
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
_Konstнеужели Вам сложно объявить указатель
Спасибо большое, все проблемы снимает!!!
...
Рейтинг: 0 / 0
03.08.2004, 14:26
    #32633417
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
да и вообще ctrl-c ctrl-v наиболее эффективный инструмент программирования :-)
...
Рейтинг: 0 / 0
03.08.2004, 16:25
    #32633766
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
авторНу если вы страдаете амнезией, тут врядли "язык" виноват.
Я не страдаю амнезией, я пишу большие и сложные программы, с большим количеством разных объектов, у которых зовётся большое количество методов.
Редкий человек, сев через месяц, вспомнит, какой объект он имел ввиду в таком-то месте, если объект явно не указан.*

Для того и винт, чтоб на нём программы хранить, а не в голове всё держать ;)

авторЕсли ИМЕННО этого не появилось, это не означает, что оно не реализовано по ДРУГОМУ!!!

ну может namespace спасёт отца русской демакратии? :)
но вообще, with не реализовано. И вообще в С++ мало ключевых слов. Так что тут можно 100% быть уверенным.

MSDN
C/C++ Keywords
The following are keywords in Microsoft C and C++. Names with leading underscores are Microsoft extensions.

__asm else main struct
__assume enum __multiple_inheritance switch
auto __except __single_inheritance template
__based explicit __virtual_inheritance this
bool extern mutable thread
break false naked throw
case __fastcall namespace true
catch __finally new try
__cdecl float noreturn __try
char for operator typedef
class friend private typeid
const goto protected typename
const_cast if public union
continue inline register unsigned
__declspec __inline reinterpret_cast using declaration,
using directive
default int return uuid
delete __int8 short __uuidof
dllexport __int16 signed virtual
dllimport __int32 sizeof void
do __int64 static volatile
double __leave static_cast wmain
dynamic_cast long __stdcall while
вот... найдёте тут аналог with - признаю, что я не знаю С++ :)

там ещё слово MS подчёркнуто мной - это множество кейвордов - расширенный стандарт.

PS. *Исключение составляют программы написанные на LabVIEW, могу прям сщас сесть и за 5 минут всмпомнить, что у меня где в проге, которую писал лет пять назад в течении года, к примеру :)
Даже круче: могу даже не садиться! И так помню на память! =)
Так что с амнезией у меня проблемы
...
Рейтинг: 0 / 0
19.08.2004, 12:49
    #32656557
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
_KonstУважаемый wolverin
неужели Вам сложно объявить указатель на свой объект, выбрав покороче название и ссылаться на все атрибуты и методы объекта через этот указатель?

CSomeClass* p = &object1.object2.objectOfSomeClass;
p->someMethod1();
...
p->someMethod100();
...
Рейтинг: 0 / 0
19.08.2004, 12:49
    #32656562
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
разъяните поподробней хотел сказать
;))

Alex_M
...
Рейтинг: 0 / 0
19.08.2004, 15:21
    #32657106
avlih
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли подобие "with"
alex777разъяните поподробней хотел сказать
;))

Alex_M
Что бы не писать длинные названия объявляем указатель, с коротким именем и с ним работаем.
Извращение, адназначно(с) ввж. Я имею ввиду боязнь написать лишнии буквы. IntelliКакЕгоТам на что.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли подобие "with" / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]