Здравствуйте, Centaur, Вы писали:
C>Здравствуйте, DestinyChild, Вы писали:
DC>>нахрена в данной ситуации вы даже просто позволили себе подумать[…]?
C>Потому что можем.
можем что? просто написать кучу кода, который компилируется и не падает?
а нафига? это важный вопрос — а на него походу никто ответа не знает)))
в данном случае ничего не надо делать. просто подать пустые переменные,
да не используются, да, место занимают, но:
1. короче чем 3 доп. строки общей длиной в символов 15 вы так и не дали решения.
тока увеличили раз в 10.
2. понимания с первого прочтения новый "расширенный" код не дает. Тока путает.
Кому от этого в этом случае станет легче? никому.
3. к 100% идентично-верному решению не подошел ни один из участников топика,
что означает, что доподлинно никто не знает верного решения, а решение, которое
вы формируете тут на ходу — все в подводных камнях и проблемах. В то время как
решение с доп.переменными 100% рабочее и верное.
Здравствуйте, PlusMyTwitterFace, Вы писали:
PMT>Можно ли каким-то образом "избавиться" от "лишних" аргументов функции?
1.Для User-defined, часто используемых и требующих громоздкой инициализации,
сделать производные типы, создающие объекты по умолчанию.
2.Разобраться в логике этих функций и сделать адаптеры для сокращения кода.
Больше никаким образом, и это не связано со спецификой языка.
Здравствуйте, DestinyChild, Вы писали:
DC>Здравствуйте, Centaur, Вы писали:
C>>Здравствуйте, DestinyChild, Вы писали:
DC>>>нахрена в данной ситуации вы даже просто позволили себе подумать[…]?
DC>можем что? просто написать кучу кода, который компилируется и не падает? DC>а нафига? это важный вопрос — а на него походу никто ответа не знает))) DC>в данном случае ничего не надо делать. просто подать пустые переменные,
Вы очень эмоционально здесь так о всем сразу (эмоции видны по выражениях-усилителей: нахрена, кучу, 100% и т.д.). Просто бы написали, что на ваш взгляд ничего страшного в использовании "dummy" переменных — нет. И, например, я, с этой точкой зрения согласен. Но я не согласен с остальными вашими рассуждениями.
DC>1. короче чем 3 доп. строки общей длиной в символов 15 вы так и не дали решения. DC>тока увеличили раз в 10.
В худшем случаи, на каждое применение функции foo требуется 3 дополнительных строчки кода. То есть, для 100 применений будет требоваться уже 300 строчек кода.
По этому на мой взгляд — это не аргумент.
DC>2. понимания с первого прочтения новый "расширенный" код не дает. Тока путает. DC>Кому от этого в этом случае станет легче? никому.
Действительно, то что здесь предлагали используя С++ — глупости. Но не потому что много непонятного кода (это абсолютно неважно, так как его можно скрыть), а потому что решают не ту задачу! Проблема не в том как бы упростить подстановку "dummy" переменной, а в том что функция foo не позволяет "игнорировать" свои параметры.
DC>3. к 100% идентично-верному решению не подошел ни один из участников топика, DC>что означает, что доподлинно никто не знает верного решения, а решение, которое DC>вы формируете тут на ходу — все в подводных камнях и проблемах. В то время как DC>решение с доп.переменными 100% рабочее и верное.
На мой взгляд, другое правильное решение (кроме того что вы предложили) — это передавать в foo NULL или если это невозможно — доопределить foo так что-бы ей можно было передавать NULL.
Но, какое из этих решение нужно использовать — зависит от более детального понимания ситуации проекта PlusMyTwitterFace.
DC>Вот ответьте сперва на главнейший вопрос — нафига в вопросе, заданном PlusMyTwitterFace вообще искать какое-то новое решение?
Потому, что оно лучше.
Смотри, например, сюда: http://users.livejournal.com/_winnie/229311.html
DC>Кто и главное КАК выиграет от нового решения? и в чем?
Код станет проще, понятнее, будет лучше поддерживаться и всё такое...
А если тебя смутила задачка, как сделать так, что бы _ сам разрешался в то, в что надо, то это просто прикольный простенький этюд... К собственно задаче ТС прямого отношения не имеет...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Sni4ok, Вы писали:
К>>Если функция принимает указатель, то она, вроде бы, обязана проверять на ноль.
S>чё за бред, по вашему и strlen на 0 проверяет?
Всё верно. Некоторые кривые сторонние библиотеки этого не делают.