Форум программистов, компьютерный форум CyberForum.ru

Если в C++ аналог оператора with в Pascal? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
05.08.2010, 23:35     Если в C++ аналог оператора with в Pascal? #1
Если в C++ аналог оператора with в Pascal?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Demihalf
Унылый школьник
 Аватар для Demihalf
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
05.08.2010, 23:49     Если в C++ аналог оператора with в Pascal? #2
Нет, ничего близкого в C++ нет
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
06.08.2010, 00:02     Если в C++ аналог оператора with в Pascal? #3
Цитата Сообщение от Demihalf Посмотреть сообщение
Нет, ничего близкого в C++ нет
не всё так категорично
В С++ есть указатели, которые могут немного сократить код.

Например:
C++
1
2
TStrings *st = Memo1->Lines;
st->Add("Test");
Мне уже нет необходимости постоянно обращаться к Memo1->Lines, если на них указывает st
Demihalf
Унылый школьник
 Аватар для Demihalf
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 00:08     Если в C++ аналог оператора with в Pascal? #4
MikeSoft, не так уж это близко к with, мне кажется
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
06.08.2010, 00:11     Если в C++ аналог оператора with в Pascal? #5
Demihalf, почему? Общий тип данных.
Я в праве делать всё тоже самое с реальным объектом, на который указывает указатель, как если бы я обращался к нему напрямую.
Demihalf
Унылый школьник
 Аватар для Demihalf
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 00:19     Если в C++ аналог оператора with в Pascal? #6
MikeSoft, ну а если у нас не агрегация другого класса, а простая структура?
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
06.08.2010, 00:35     Если в C++ аналог оператора with в Pascal? #7
Demihalf, хоть классы, хоть структуры:
C++
1
2
3
4
5
6
7
8
9
10
11
struct Test1 {
  struct Test2 {
    int *TestValue;
    Test2() { TestValue = new int[1]; }
    ~Test2() { delete []TestValue; }
  } T2;
} T1;
 
int *Do = T1.T2.TestValue;
Do[0] = 2;
std::cout <<*T1.T2.TestValue;
Demihalf
Унылый школьник
 Аватар для Demihalf
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
06.08.2010, 09:19     Если в C++ аналог оператора with в Pascal? #8
MikeSoft, так здесь же у нас снова вложенная структура, та же агрегация. Вернее, композиция. А если это будет простая структура, то сократить код с помощью указателя не получится, я думаю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2010, 12:11     Если в C++ аналог оператора with в Pascal?
Еще ссылки по теме:

Аналог перегрузки оператора индексирования (operator []) C++
Аналог label языка Pascal в C++ C++
Придумайте простую программу с использованием условного оператора IF и оператора switch C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
06.08.2010, 12:11     Если в C++ аналог оператора with в Pascal? #9
Demihalf, получится только сократить имя, если это возможно...
Но я думаю, это не сильно накладно, дописать что-то вроде "а->"
Yandex
Объявления
06.08.2010, 12:11     Если в C++ аналог оператора with в Pascal?
Ответ Создать тему
Опции темы

Текущее время: 01:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru