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

Подскажите использование char** на примере - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
26.01.2013, 13:52     Подскажите использование char** на примере #1
Подскажите использование char** на примере
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
31.01.2013, 18:21     Подскажите использование char** на примере #21
silent_1991, он не понимает, о чём ты говоришь. Ты говоришь о точке вызова функции (и чтобы при этом в точку описания функции вообще не смотреть), а он говорит о точке её описания
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.01.2013, 18:23     Подскажите использование char** на примере #22
Вообще то понимаю...

Но что мешает смотреть еще и в точку вызова ? Что мешает комментировать в точке вызова ?
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
31.01.2013, 18:25     Подскажите использование char** на примере #23
Цитата Сообщение от Avazart Посмотреть сообщение
Но что мешает смотреть еще и в точку вызова ?
Мешает время (а точнее, его отсутсвтие). Когда у тебя проект в несколько миллионов строк кода, то чем меньше ты будешь отвлекаться на каждый чих, тем быстрее пойдёт дело
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.01.2013, 18:33     Подскажите использование char** на примере #24
C учетом возможностей современных IDE "возвратится" не проблема...
А что бы не возвращаться нужно по любому знать свой код, а главное разбивать его так что бы и так было понятно в дальнейшем...
Опять же комментарии...

Добавлено через 5 минут
Если ты не помнишь что делает ф-ция, то толку от значка & все равно за подробностями придется лезть в код этой ф-ции.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 18:43     Подскажите использование char** на примере #25
Цитата Сообщение от Avazart Посмотреть сообщение
Если ты не помнишь что делает ф-ция, то толку от значка & все равно за подробностями придется лезть в код этой ф-ции.
Становиться понятно, что значение в функции будет меняться.
В случае же с ссылкой из синтаксиса вызова ничего не понятно и приходится лезть в прототипы.
Цитата Сообщение от Avazart Посмотреть сообщение
Но что мешает смотреть еще и в точку вызова ? Что мешает комментировать в точке вызова ?
Прать по коду как ... или захламливать код, комментариями вида?
C++
1
//Вызов функции foo, которая в последствии меняет значение аргумента
увольте, но что-то такая перспектива меня не устраивает.
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.01.2013, 18:50     Подскажите использование char** на примере #26
Где тут захламление ?
C++
1
foo(var); // foo(int & value);
Это конечно сильно абстрактно...
К примеру
C++
1
change_dir(Dir);
Тут и коменты не нужны...

Добавлено через 3 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
Становиться понятно, что значение в функции будет меняться.
И что это даст, если ф-ция делает еще что-то... а пять же придется лезть в код ф-ции
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
31.01.2013, 18:52     Подскажите использование char** на примере #27
Цитата Сообщение от Avazart Посмотреть сообщение
Где тут захламление ?
Комментарий, которго можно было бы избежать, заменив ссылку на указатель. А когда таких мест становится много, то текст программы начинает превращаться в помойку. Одно из программерских искусств - это писать программу понятно, чтобы и без лишних комментариев было всё очевидно
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.01.2013, 18:54     Подскажите использование char** на примере #28
А где тут лишние ?
Цитата Сообщение от Evg Посмотреть сообщение
Комментарий, которго можно было бы избежать, заменив ссылку на указатель.
Ну нельзя избежать, если вы дали ф-ции неадекватное имя, и свалили на нее несколько разных действий вместо одной.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 19:00     Подскажите использование char** на примере #29
Цитата Сообщение от Avazart Посмотреть сообщение
К примеру
Код C++
1
change_dir(Dir);
Тут и коменты не нужны...
А что будет внутри меняться? Сам Dir или значение, которое в нем хранится?
Тогда, как передача двойного указателя в эту функцию будет говорить, что изменятся будет сам указатель, а не то содержимое(но оно тоже может) которое он содержит.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
А где тут лишние ?
Это лишний комментарий. Как написал уже Evg при их большом количестве код превратиться в помойку, а разгрибать этот мусор потом другому человеку, который проклянет того, кто это написал.
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.01.2013, 19:19     Подскажите использование char** на примере #30
Цитата Сообщение от Croessmah Посмотреть сообщение
А что будет внутри меняться? Сам Dir или значение, которое в нем хранится?
Тогда, как передача двойного указателя в эту функцию будет говорить, что изменятся будет сам указатель, а не то содержимое(но оно тоже может) которое он содержит.
А тут уже от логики зависит всей программы ... ясно что читающий должен быть смотреть в контексте программы а не так обобщенно как в этом примере.

Цитата Сообщение от Croessmah Посмотреть сообщение
Это лишний комментарий. Как написал уже Evg при их большом количестве код превратиться в помойку, а разгрибать этот мусор потом другому человеку, который проклянет того, кто это написал.
Не вижу проблем в тех же stl -хедерах тоже есть комментарии что тут плохого?
Тем более когда нужно объяснить что делает ф-ция одним & явно не обойтись.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 20:20     Подскажите использование char** на примере
Еще ссылки по теме:

C++ Подскажите простой способ копирования с string в char
Объясните использование "double" в данном примере C++
C++ Использование функций Getch(), putch(char)

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
31.01.2013, 20:20     Подскажите использование char** на примере #31
По ходу ты не совсем понимаешь, о чём речь идёт. Проблема вовсе не в том, что сложно разобраться в программе, а в том, чтобы процесс разбора сократить до минимума. В больших проектах людям часто приходится смотреть фрагменты чужих кодов. И в таких случаях было бы желательно, чтобы человек смотрел только то, что ему реально нужно понять, не отвлекаясь на просмотр ненужных функций и цепочек функций

Если договориться о том, что ссылочные параметры используются только в виде const, а там, где нужна запись в параметр, будет использоваться явный указатель, то меньше тратится времени на просмотр кода. Например, тебе нужно в коде отследить значение переменной x, по возможности не тратя времени на то, чтобы вникать в остальной код, не относящийся к этому. Если написано

C
1
2
3
4
5
6
7
8
9
x = ....
...
f1 (x);
...
f2 (x);
...
f3 (&x);
...
f4 (x);
то достаточно только посмотреть функцию f3, и вообще не вникать в функции f1, f2 и f4
Yandex
Объявления
31.01.2013, 20:20     Подскажите использование char** на примере
Ответ Создать тему
Опции темы

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