Здравствуйте, niXman, Вы писали:
X>привет!
X>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов?
Я так понимаю ищем аналог C# nameof ?
Чем макрос не вариант ?
Здравствуйте, rg45, Вы писали:
X>>привет! X>>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов? X>>спасибо.
R>А теперь внимательно следим за руками, слабонервным зажмуриться:
R>https://ideone.com/erQjVI
R>
Здравствуйте, YuriV, Вы писали:
YV>Здравствуйте, rg45, Вы писали:
YV>На основе __PRETTY_FUNCTION__ целый CTTI написан:
Жалко только что сие не compile time, один из немногих профитов microsoft то, что __FUNСSIG__ (аналог __PRETTY_FUNCTION__) можно вставлять
в #pragma message (__FUNCSIG__) и получать месседжи на этапе компиляции .
Compiler can be as trained AI but can't compose music.
Antheil piano jazz sonata. Я болен ПГМ.
Здравствуйте, niXman, Вы писали:
X>привет!
X>подскажите, плиз, планируется ли сабж в каком-то из будущих стандартов?
X>спасибо.
вообще хотелось бы итеративное поведение, что и подразумевается рефлексией ..
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, rg45, Вы писали:
R>>Кто после этого скажет, что в C++ нет рефлексии?
Ops>А давно в C++ есть __PRETTY_FUNCTION__ ? Я что-то пропустил?
Gcc extentions — давненько. Мелкомягкие тут чуток впереди их __FUNCSIG__ дают возможность использоваться в компайлайм.
Compiler can be as trained AI but can't compose music.
Antheil piano jazz sonata. Я болен ПГМ.
Здравствуйте, ollv, Вы писали:
Ops>>А давно в C++ есть __PRETTY_FUNCTION__ ? Я что-то пропустил? O>Gcc extentions — давненько. Мелкомягкие тут чуток впереди их __FUNCSIG__ дают возможность использоваться в компайлайм.
Я не про компиляторы, а про язык.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, ollv, Вы писали:
Ops>>>А давно в C++ есть __PRETTY_FUNCTION__ ? Я что-то пропустил? O>>Gcc extentions — давненько. Мелкомягкие тут чуток впереди их __FUNCSIG__ дают возможность использоваться в компайлайм.
Ops>Я не про компиляторы, а про язык.
The first of these is __func__, which is part of the C99 standard:
ну язык — понятие растяжимое. можно считать языком только то, что попадает в синтакс три, а можно, все включая препроцессор и почее.
Вообще я там ниже согласен, на счет того, кто и что понимает. ) кроме того, последние тенденции оч хорошо показывают, что вчера языком не является впоследствии начинает им являться.
Compiler can be as trained AI but can't compose music.
Antheil piano jazz sonata. Я болен ПГМ.
CTTI именно компайлтайм в отличии от стандартного typeinfo. А то, что в прагме не работает так это проблемы прагма месседж скорее, ведь стандарта на эти макросы нет.
Здравствуйте, YuriV, Вы писали:
YV>CTTI именно компайлтайм в отличии от стандартного typeinfo. А то, что в прагме не работает так это проблемы прагма месседж скорее, ведь стандарта на эти макросы нет.
Кстати, я вот этот момент несколько недогоняю. С одной стороны, такие макросы как __PRETTY_FUNCTION__ и __FUNCSIG__, хоть и являются нестандартными расширениями, тем не менее, это макросы препроцессора. С другой стороны, эти макросы определены только для тех шаблонных функций, которые прошли через инстанцирование, которое, как известно, выполняется на этапе компиляции (точнее говоря, в восьмой фазе трансляции, в ходе которой образуются т.н. instantiation units. Но так или иначе, это уже фаза, следующая после препроцессора). Вот и выходит, что это макросы, значение которых становится известным после/во время компиляции. Как так? Уж не по той ли причине их не торопятся вносить в стандарт, что их невозможно реализовать без размывания концепции?
--
Справедливость выше закона. А человечность выше справедливости.