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

With в C++ - C++

Восстановить пароль Регистрация
 
KSTU
9 / 10 / 3
Регистрация: 25.04.2011
Сообщений: 47
21.10.2011, 11:22     With в C++ #1
Нужно заполнить структуру, не хочу писать постоянно имя структуры при этом, как поступить, если нет аналога with из паскаля?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
21.10.2011, 11:31     With в C++ #2
Если в C++ аналог оператора with в Pascal?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
21.10.2011, 11:38     With в C++ #3
И даже с сильно вложенными конструкциями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
myWindow.InnerFrame.Contents.Document.Paragraph.Font.Size = 10;
myWindow.InnerFrame.Contents.Document.Paragraph.Font.Family = "Arial";
myWindow.InnerFrame.Contents.Document.Paragraph.Font.Color = COLOR_BLUE;
// ... и дальше еще стопитцот таких же строк для каждой мелочи в Font ...
 
// конструируем одной строкой ссылку:
Window.InnerFrame.Contents.Document.Paragraph.Font& r = myWindow.InnerFrame.Contents.Document.Paragraph.Font;
 
r.Size = 10;
r.Family = "Arial";
r.Color = COLOR_BLUE;
// ... и дальше пишем легко и непринужденно просто для r ...
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.10.2011, 12:14     With в C++ #4
Может не в тему, но вот еще про заполнение структур. Пусть дана структура:
C
1
2
3
4
5
6
struct foo
{
   int i;
   double j;
   char c;
};
В C/C++ объект этой структуры можно заполнить так:
C
1
struct foo f1 = {3, 4., '9'};
В C99:
C
1
struct foo f2 = {.i = 3, .c = '9', .j = 4.};
В C++11 введен новый объект - initializer list - который может использоваться для инициализации произвольных объектов (с добавление логики, если существует конструктор, принимающий этот объект).
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
21.10.2011, 13:07     With в C++ #5
Цитата Сообщение от KSTU Посмотреть сообщение
не хочу писать постоянно имя структуры
Ctrl+C, Ctrl+V
Yandex
Объявления
21.10.2011, 13:07     With в C++
Ответ Создать тему
Опции темы

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