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

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

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

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Есть ли подобие "with"
    #32632731
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
объясняю популярно любителям всяких навороченных фенек, почему в С++ нету аналога 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
Есть ли подобие "with"
    #32632743
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня уже опередили :))
...
Рейтинг: 0 / 0
Есть ли подобие "with"
    #32632780
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;
что не требовало объявления переменной, которая была бы нужна всего в одном месте, а в остальном засоряла бы область описания переменных своим присутствием.

Однако в с++ это не нужно, поскольку переменные можно объявлять где угодно и более того, не нужно зботится об удалении объекта при выходе из области видимости переменной.
...
Рейтинг: 0 / 0
Есть ли подобие "with"
    #32632804
BuilderWithDelphi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Есть ли подобие "with"
    #32632874
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
об этом говорили выше... а если внутри блока 100 вызовов?
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Есть ли подобие "with"
    #32633016
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viperоб этом говорили выше...
Вопрос в чем???
Еще раз объясню - ЕСТЬ ЛИ АНАЛОГ "WITH"???
Это означает - как реализовать конструкцию где 100 вызовов с одним и тем же классом, например.

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

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

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


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

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

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

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

ну может 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
Есть ли подобие "with"
    #32656557
Фотография alex777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_KonstУважаемый wolverin
неужели Вам сложно объявить указатель на свой объект, выбрав покороче название и ссылаться на все атрибуты и методы объекта через этот указатель?

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

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

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


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