|
Заблокирован
|
|
Как грамотней писать объявление указателя?24.09.2014, 13:11. Показов 6986. Ответов 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 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
|
|||||||||||
| 25.09.2014, 11:32 | |||||||||||
|
Я посерединке ставлю с пробелами:
0
|
|||||||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 25.09.2014, 11:43 | |
|
0
|
|
|
2410 / 1942 / 764
Регистрация: 27.07.2012
Сообщений: 5,578
|
|||||||
| 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 | |
|
Объявление указателя на структуру в объявлении структуры Объясните объявление указателя на объект класса
Как наиболее красиво писать объявление функций? Объявление глобального указателя всего проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|