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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 169
#1

Объясните, пожалуйста, фрагмент кода - C++

05.07.2015, 22:49. Просмотров 230. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define NUMLINES((int)(sizeof devcaps / sizeof devcaps [0]))
struct
{
int iIndex;
char *szLabel;
char *szDesc;
} devcaps [] =
{
HORZSIZE, "HORZSIZE", "Width in millimeters:",
VERTSIZE, "VERTSIZE", "Height in millimeters:",
HORZRES, "HORZRES", "Width in pixels:",
VERTRES, "VERTRES", "Height in raster lines:",
BITSPIXEL, "BITSPIXEL", "Color bits per pixel:",
PLANES, "PLANES", "Number of color planes:",
NUMBRUSHES, "NUMBRUSHES", "Number of device brushes:",
NUMPENS, "NUMPENS", "Number of device pens:",
NUMMARKERS, "NUMMARKERS", "Number of device markers:",
NUMFONTS, "NUMFONTS", "Number of device fonts:",
NUMCOLORS, "NUMCOLORS", "Number of device colors:",
PDEVICESIZE, "PDEVICESIZE", "Size of device structure:",
ASPECTX, "ASPECTX", "Relative width of pixel:",
ASPECTY, "ASPECTY", "Relative height of pixel:",
ASPECTXY, "ASPECTXY", "Relative diagonal of pixel:",
LOGPIXELSX, "LOGPIXELSX", "Horizontal dots per inch:",
LOGPIXELSY, "LOGPIXELSY", "Vertical dots per inch:",
SIZEPALETTE, "SIZEPALETTE", "Number of palette entries:",
NUMRESERVED, "NUMRESERVED", "Reserved palette entries:",
COLORRES, "COLORRES", "Actual color resolution:"
};
Собственно вот фрагмент. Я туго соображаю уже. Буду благодарен за помощь.
Моя версия:
Препроцессор в переменную NUMLINES запихнет размер массива devcaps. Точнее количество элементов из массива. тут их 60 штук, 20 строк по 3 элемента. Этофрагмент из Пецольда 1 часть. Работа с GDI под винду.
Спасибо!

я только не пойму зачем так закручивать...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2015, 22:49     Объясните, пожалуйста, фрагмент кода
Посмотрите здесь:

Объясните фрагмент кода! - C++
Ребят помогите! нужна помощь, объясните мне вот этот фрагмент из программы! #include <iostream> #include <conio.h> #include <stdio.h>...

Объясните, что делает фрагмент кода - C++
Здрасти. Я, можно сказать, нуб в С++, но хочется научиться программировать. Начал читать учебник один. Там попался вопрос: Объясните,...

Объясните небольшой фрагмент кода (новые стандарты) - C++
template<typename Op, typename ... F> class TupleComposer { public: Op m_op; tuple<F ...> m_fs; public: TupleComposer(Op...

Объясните пожалуйста работу кода - C++
#include <iostream> struct A{ int data; int data2; }; int main(int argc, const char * argv) {

Объясните пожалуйста участок кода - C++
Узнал что это ассоциативный массив for (map<std::string,int>::iterator p = count.begin(); p != count.end(); p++) cout <<...

Объясните пожалуйста некоторые участки кода - C++
Есть код (Идеально сбалансированное дерево): // #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace...

Народ, объясните пожалуйста элементы кода (программа выводит год, месяц, день) - C++
Программа выводит год, месяц, день #include <iostream.h> #include <dos.h> #include <stdio.h> #include <conio.h> REGPACK regs; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
05.07.2015, 22:58     Объясните, пожалуйста, фрагмент кода #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ключевое слово sizeof позволяет получить количество байт, занимаемое объектом/типом.
Макрос NUMLINES позволяет получить количество элементов массива devcaps.
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
05.07.2015, 22:59     Объясните, пожалуйста, фрагмент кода #3
Цитата Сообщение от MMt Посмотреть сообщение
зачем так закручивать
Обычная практика - поручить подсчет числа элементов массива компилятору.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
05.07.2015, 22:59     Объясните, пожалуйста, фрагмент кода #4
Цитата Сообщение от MMt Посмотреть сообщение
я только не пойму зачем так закручивать...
У тебя есть вариант проще?
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 169
05.07.2015, 23:40  [ТС]     Объясните, пожалуйста, фрагмент кода #5
Спасибо.
Да есть вариант проще. Поскольку, это раздел для новичков, то мне пальцем посчитать удобнее..
Буду знать, что есть макрос для автом. подсчет кол эл..

Спасибо.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
05.07.2015, 23:56     Объясните, пожалуйста, фрагмент кода #6
Цитата Сообщение от MMt Посмотреть сообщение
Буду знать, что есть макрос для автом. подсчет кол эл..
Я не совсем правильно высказался.. Только в этом коде этот макрос будет так работать. Количество элементов считает следующая комбинации:
C++
1
sizeof( a ) / sizeof( a[0] )
Цитата Сообщение от MMt Посмотреть сообщение
Да есть вариант проще.
Покажешь?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2015, 00:32     Объясните, пожалуйста, фрагмент кода
Еще ссылки по теме:

Фрагмент кода на C++ - C++
Добрый день, уважаемые программисты . Есть одна задачка: Изучите фрагмент кода на C++: double sum, step; sum = 0; step = 0.5; ...

фрагмент кода - C++
Написать фрагмент кода, обеспечивающий перехват исключения деления на ноль с обработчиком исключения типа int.

Объяснить фрагмент кода - C++
Добрый день, господа. Есть у меня такая вот задачка - надо объяснить структуру фрагмента. По сути, погадать по единственной строчке кода....

Поясните фрагмент кода - C++
Поясните вот этот фрагмент: default: { if (b < 48) { b += 48; } val = b; ...

Поясните фрагмент кода - C++
Что это за код? template <class rdn> void rands (rdn arr){ for (int i(0); i!=3; i++){ for (int j(0); j!=3; j++){ ...


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

Или воспользуйтесь поиском по форуму:
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 169
06.07.2015, 00:32  [ТС]     Объясните, пожалуйста, фрагмент кода #7
Цитата Сообщение от MMt Посмотреть сообщение
Поскольку, это раздел для новичков, то мне пальцем посчитать удобнее..
уже)
Yandex
Объявления
06.07.2015, 00:32     Объясните, пожалуйста, фрагмент кода
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru