Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12

Почему в С++ используются сложные имена для структур?

04.02.2016, 11:02. Показов 1852. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Их читать сложно.

BITMAPFILEHEADER
LPBITMAPFILEHEADER
PBITMAPFILEHEADER

FONTSIGNATURE
PFONTSIGNATURE
LPFONTSIGNATURE

LOCALESIGNATURE
PLOCALESIGNATURE
LPLOCALESIGNATURE

NEWTEXTMETRICA
PNEWTEXTMETRICA
NPNEWTEXTMETRICA
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2016, 11:02
Ответы с готовыми решениями:

Почему в Си имена структур и типов находятся в разных пространствах имён?
Зачем? Кто-нибудь в реальных проектах использует структуры и типдефы с одинаковыми именами в одном модуле?

Почему не используются переменные
подскажите:cry: //есть какой-то метод { try { //есть данные из таблиц ...

Почему используются команды, а не события
Меня волнует один большой вопрос. Почему команды используются, а не события. Ведь нету команды типа Window_Closed или что-то типа того. ...

27
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
04.02.2016, 11:04
что сложного?как вообще такую тему создать можно?
0
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12
04.02.2016, 11:06  [ТС]
Ну вот например BITMAPFILEHEADER состоит из 3 простых слов BITMAP, FILE и HEADER.
Лучше было бы разделить их как то. Чтобы легче читать.
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
04.02.2016, 11:08
разделите
0
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12
04.02.2016, 11:09  [ТС]
хотя бы так BITMAP_FILE_HEADER
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
04.02.2016, 11:09
Цитата Сообщение от Vlad3 Посмотреть сообщение
Ну вот например BITMAPFILEHEADER состоит из 3 простых слов BITMAP, FILE и HEADER.
Это не повсеместно. Это вопрос к разработчикам, но не Си, а того по, к которому относятся эти слова.
И эта тенденция не только в Си просматривается. В любом языке если разработчик захочет написать длинно будут такие имена.
0
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12
04.02.2016, 11:13  [ТС]
Тогда по другому спрошу. Почему разработчики придумали такие имена для структур?
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
04.02.2016, 11:18
Цитата Сообщение от Vlad3 Посмотреть сообщение
Почему разработчики придумали такие имена для структур?
Потому что никто не заставил их в своё время прочитать книгу Стива Макконнелла. Или что-нибудь аналогичное.
1
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
04.02.2016, 11:19
как по кайфу было им так и сделали,какие то тупые вопросы у вас
0
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12
04.02.2016, 11:25  [ТС]
Почему тупые вопросы? Можно сравнить два названия
BITMAPFILEHEADER и
BITMAP_FILE_HEADER
Второе намного лучше читается, чем первое.

Добавлено через 2 минуты
А разработчики выбрали сложный вариант.
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
04.02.2016, 11:26
зачем вы это тут пишите?разработчикам это напишите
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
04.02.2016, 11:34
Цитата Сообщение от Vlad3 Посмотреть сообщение
Второе намного лучше читается, чем первое.
Если побудете несколько лет разработчиком Windows, вам станет без разницы (а набирать без подчерков быстрее).
0
 Аватар для Storm Screamer
4845 / 1412 / 115
Регистрация: 21.04.2013
Сообщений: 8,578
04.02.2016, 11:41
Да причем тут С++... ну захотели так и написали.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
04.02.2016, 11:42
Цитата Сообщение от Vlad3 Посмотреть сообщение
Почему в С++ используются сложные имена для структур? Их читать сложно.
А при чем тут С++? Билл Гейтс вообще затейник. Одна его венгерская нотация чего стоит!
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
04.02.2016, 11:44
Цитата Сообщение от zer0mail Посмотреть сообщение
а набирать без подчерков быстрее
было, лет 50 назад. Сегодня IDE за тебя все подставит одним хоткеем (студия не в счет, студия не IDE).
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.02.2016, 12:13
WinAPI разработан под C, не C++, отсюда и все чисто сишные "рудименты" -
длинные имена структур, дефайны, работа с "сырыми" буферами, хэндлами и т.д.
Будь WinAPI написан на C++, можно было использовать namespace, например.
Какой-нибудь Graphics::Bitmap::InfoHeader. Написал using и юзай себе коротко.
4
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12
04.02.2016, 14:11  [ТС]
И ошибиться без подчерков тоже быстрее

Добавлено через 2 минуты
Ну и что, что WinAPI разработан под С? Ведь и под С можно придумать нормальные имена.

Добавлено через 1 минуту
А не как это непонятно что NPNEWTEXTMETRICA
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
04.02.2016, 14:50
Лучший ответ Сообщение было отмечено Vlad3 как решение

Решение

Цитата Сообщение от Vlad3 Посмотреть сообщение
Ну и что, что WinAPI разработан под С? Ведь и под С можно придумать нормальные имена.
Мне вот интересно: а какого рода ответ ты хочешь получить? Всё что есть в WinAPI это уже состоявшийся факт, т.е. часть истории. В современном мире ситуация скорее всего была бы иная.
Отсутствие символа подчеркивания м/у словами вполне может быть обусловлено ограничениями на длину идентификаторов в древних компиляторах. Но это так, догадка.
1
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
04.02.2016, 14:52
Цитата Сообщение от Vlad3 Посмотреть сообщение
Тогда по другому спрошу. Почему разработчики придумали такие имена для структур?
Все завит от препаратов которые разработчик принимает))
0
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 12
04.02.2016, 15:17  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Отсутствие символа подчеркивания м/у словами вполне может быть обусловлено ограничениями на длину идентификаторов в древних компиляторах.
Скорее всего так есть.
В названиях некоторых структур нет символа подчеркивания, а в других он присутствует.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2016, 15:17
Помогаю со студенческими работами здесь

Почему во всех примерах используются регистры R16 и выше?
Почему во всех примерах используются регистры R16 и выше? Ну R1..R0 еще ладно, в них результаты умножений записываются. А R2...R15? с...

Почему в цикле используются квадратные скобки при присвоении словаря?
>>> dict = {} >>> list = >>> for x in range(0,100): ... dict = x ... list.append(dict) ... >>> print...

Вывести на консоль имена сотрудников, возраст которых превышает заданный (поиск в массиве структур)
Ввести в компьютер информацию о сотрудниках отдела: фамилия, имя, возраст. Напечатать имена сотрудников, возраст которых превышает 28...

Почему в режиме предпросмотра, редактора TinyMCE, не работают стили, которые используются при редактировании?
Здравствуйте, возник небольшой вопрос по редактору TinyMCE. Почему в режиме предпросмотр редактора TinyMCE, не работают стили, которые...

Почему в сортировке указателей на объекты в вызове функции используются адреса объектов, а не указателей?
Доброго времени суток! Рассматриваю пример (из Лафоре) сортировки массива указателей на объекты, для чего используются указатели на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru