|
Заблокирован
|
|
Как грамотней писать объявление указателя?24.09.2014, 13:11. Показов 7217. Ответов 55
Метки нет (Все метки)
0
|
|
| 24.09.2014, 13:11 | |
|
Ответы с готовыми решениями:
55
Как грамотней писать код? Как обратиться к полям структуры через указатель и объявление указателя на структуру
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 25.09.2014, 09:59 | |
|
0
|
|
|
Заблокирован
|
|||
| 25.09.2014, 10:29 [ТС] | |||
|
Писать в столбик аргументы - вронг вей. ![]() Как тут кто - то предлагал объявлять переменные так: int *a, b;, тогда получается так что ли: int * a, * b; ![]() Явно не по фен шую, хотя одной строкой я никогда несколько переменных не объявляю. Объявление через два пробела типа: int * a; на мой взгляд смахивает на умножение, собственно я так всегда и пишу: int a = b * c;
0
|
|||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 25.09.2014, 10:36 | |
|
Я бы резюмировал следующим образом:
i) Придерживайтесь соглашений о кодировании в проекте, если они есть. Это может быть и корпоративный стандарт, и прямые договорённости с командой разработчиков. ii) Если Вы исправляете чужой код, придерживайтесь той структуры, которая уже существует. Не нужно запутывать код своими тараканами, там и чужих достаточно. iii) Соблюдайте собственные "стандарты". Если для себя Вы определились, как писать код (как расставлять скобки, куда прижимать звёздочку, где расположить блок private), то придерживайтесь выбранного пути, не будьте шизофрениками. ---------------------------- О звёздочках. С++ i) Сводите работу с указателями к минимуму! С++ позволяет работать на низком уровне, но именно позволяет. Прежде, чем начать работу на низком уровне, проработайте варианты высокого уровня. ii) Используйте умные указатели прежде всего. Тогда ничего никуда прижимать не нужно. iii) Ограничивайте связи других модулей с той областью кода, где используете низкоуровненвые возможности. В идеале вся низкоуровневая программа должна оставаться внутренней деталью вашей реализации. При написании бинарносовместимой библиотеки с C-интерфейсом, строго ограничивайте низкоуровневый код рамками интерфейса библиотеки. Не позволяйте низкоуровневому коду проникать в модули высокого уровня ---------------------------- Если Вы работаете с указателями: i) Прижимайте, куда нравится, но соблюдайте правила соглашений (см. выше). ii) Не используйте typedef для придания конструкции T* квалификации типа. Именно * модифицирует переменную. iii) Если Вы, всё же, решили "определить тип" T*, сразу определите тип T const *. Тоже самое относится и к ссылкам. Держите подобные определения строго внутри вашего ресурса (читай класса/структуры), не пишите глобальных определений.
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 25.09.2014, 10:47 | ||
|
0
|
||
|
Заблокирован
|
|||||
| 25.09.2014, 10:59 [ТС] | |||||
|
Используя всякие умные указатели можно иногда получить пинок в зад от ума этих указателей и софт наткнётся на нульпоинтер или еще чего. Я всегда работаю с памятью напрямую и указатели на неё так же регулирую сам, ведь в этом то и есть суть гибкости С++. low - level - это assembler во всех вариациях. С++ - это как раз таки относительно высокий уровень. Точнее это тот уровень, выше которого я считаю не разумным подниматься из - за потери контроля над возможностями (иначе я б торчал на ветке C# или на Java )
0
|
|||||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 25.09.2014, 11:07 | |
|
Mr.X, для ссылки пользуйтесь первыми тремя пунктами.
Ссылка объект иной, нежели указатель. Добавлено через 5 минут Scrooge McDuck, всё потому, что на С++ Вы не программировали.
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 25.09.2014, 11:15 | ||
|
1
|
||
|
2410 / 1947 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
|||||||||||
| 25.09.2014, 11:32 | |||||||||||
|
Я посерединке ставлю с пробелами:
0
|
|||||||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 25.09.2014, 11:43 | |
|
0
|
|
|
2410 / 1947 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
|||||||
| 25.09.2014, 11:49 | |||||||
0
|
|||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 25.09.2014, 12:42 | |
|
0
|
|
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 25.09.2014, 15:54 | ||
|
Но параметры в столбик то мы тоже пишем - так можно дать комментарий по каждому из них. Вот только эти ацкие пробелы... Добавлено через 1 минуту С ними держать код с ограничительной чертов в 80 или хотя бы 100 символов - напряжно.
0
|
||
|
Модератор
|
||
| 25.09.2014, 17:42 | ||
|
А обсуждение разного стиля оформления кода можно продолжить в более подходящем для таких обсуждений разделе и более адекватной, на мой взгляд, теме.
0
|
||
|
Заблокирован
|
|||
| 25.09.2014, 18:08 [ТС] | |||
|
С чего ты взял, что вопросы про звёздочку как - то говорят о моей репутации ? Интересно же, как другие кодят, всегда можно что - то для себя подчеркнуть. Да и вообще форум и сделан для общения или ты думаешь, что руководитель разработки топовой компании не имеет права на форуме вопросы нубские задавать ? ![]()
0
|
|||
|
1 / 1 / 0
Регистрация: 29.02.2016
Сообщений: 3
|
|||||||||||||||||||||
| 05.05.2019, 10:36 | |||||||||||||||||||||
|
Еще взгляд на "звездочку" в объявлении указателя:
нечитаемый текст:
1
|
|||||||||||||||||||||
| 05.05.2019, 10:36 | |
|
Объявление указателя на структуру в объявлении структуры Объясните объявление указателя на объект класса
Как наиболее красиво писать объявление функций? Объявление глобального указателя всего проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|