| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Функция, возвращающая имя фактического параметра |
| Автор: ДокторТуамОсес 23.6.2009, 02:05 | ||
| Как написать функцию, возвращающую идентификатор фактического параметра? Т.е. чтобы возвращала имя переданного параметра.
|
| Автор: vinick 23.6.2009, 02:54 |
| #define foo(x) #x как-то так... |
| Автор: Andrew121 23.6.2009, 03:55 |
| vinick, ну и какая это функция?! Думаю не возможно. |
| Автор: Earnest 23.6.2009, 08:13 |
| "идентификатор фактического параметра" существует только до стадии компиляции, иногда - линковки. В бинарном коде нет никаких имен (за исключением экспорта). Так что только макрос, который, но задачу в постановке автора он все равно не решает. |
| Автор: zim22 23.6.2009, 08:36 | ||
|
| Автор: azesmcar 23.6.2009, 08:38 | ||
а можно поинтересоваться - зачем эта функция?
чем вариант vinick не подходит? |
| Автор: W4FhLF 23.6.2009, 08:44 |
| А зачем это вообще надо? |
| Автор: azesmcar 23.6.2009, 08:46 |
Например для assert -а. |
| Автор: zim22 23.6.2009, 09:25 |
индокод практикую |
| Автор: azesmcar 23.6.2009, 09:28 |
я с ними работаю, видел..только никому об этом |
| Автор: Andrew121 23.6.2009, 09:30 |
Я тож не въехал А это для чего? Добавлено через 1 минуту и 20 секунд azesmcar, Дарова! Как думаешь, долго этот акаунт не забанят? |
| Автор: unicuum 23.6.2009, 09:41 |
| Надо наверное будет подумать над наилучшей реализацией шаблона проектирования Marker Interface, которая так же известна как рефлексия, атрибуты и прочее. Естественно макросы в большинстве случаев не уместны. |
| Автор: baldina 23.6.2009, 16:31 |
| |
| Автор: GoldFinch 23.6.2009, 16:42 |
| что тут спорить, когда все просто? чтобы функция возвращала имя фактического параметра, надо чтобы у фактического параметра было имя. например в "foo(1);" у фактического параметра имени нет чтобы у фактического параметра было имя, это имя надо гдето задать, например юзать NamedVar<T>(T value, const char* name) |
| Автор: zim22 23.6.2009, 17:18 |
помню Lazin как-то писал, что он тоже не все возможности С++ ещё изучил. интересно, кто быстрей изучит... |
| Автор: azesmcar 23.6.2009, 17:20 |
Ставки принимаются? |
| Автор: baldina 23.6.2009, 17:27 | ||||||||
Это был ответ unicuum. С первоначальным постом всё ясно. Добавлено через 5 минут и 36 секунд ДокторТуамОсес, может тебе будет интересно наличие библиотеки http://www.boost.org/doc/libs/1_39_0/libs/parameter/doc/html/index.html Здесь реализация передачи параметров по имени, типа
Возможно пока она сложновата для изучения, но знать о такой возможности имхо полезно. Добавлено через 13 минут и 12 секунд GoldFinch,
а ведь работает! кстати дело не в том, что фактический параметр может не иметь имени, а что внутри функции фактические параметры вообще не используются, лишь их значения. внутри мы имеем дело с формальными параметрами, как и было задумано с целью повышения модульности. |
| Автор: unicuum 23.6.2009, 22:19 | ||
Это были твои глюки. C++ в частности и программирование в целом изучать очень долго. Многие останавливаются на синтаксисе или конкретной версии библиотек, думая что стали профессионалами. На самом же деле эта тема настолько обширна, что её очень сложно охватить.
Да, я вижу уровень твоего развития. |
| Автор: baldina 24.6.2009, 15:40 |
| unicuum, хочешь поговорить об уровне моего развития? |
| Автор: mes 24.6.2009, 16:09 | ||||
Думаю нет - он просто показал свой уровень. |