Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Читать исходники boost::spirit - это правда так сложно? / 6 сообщений из 6, страница 1 из 1
19.10.2013, 16:39
    #38433985
cppved
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Читать исходники boost::spirit - это правда так сложно?
Или это я тормоз? Что удобнее всего для чтения и понимания исходников библиотек типа boost::spirit?

Например, есть код:

Код: plaintext
1.
qi::int_[func0] >> "," >> qi::int_[func0]



Если использовать Eclipse и щёлкать на "int_", тебя кидает на огромный макрос, в котором что-то дефайнится. Сам макрос определён через 4 других таких же страшных макроса, и так далее. Потом ищёт ещё тонна шаблонов, но это ещё ничего, макросы страшнее. Уложить всё это в голове непросто. Хочется как-то проще понять, что из себя представляет типа qt::int_ например.

Я просто пытаюсь понять, почему, когда я передаю в [ ] функцию void func0(int) , то всё хооршо, а когда объект с методом void operator()(int) , то компилятор ругается, что этот метод пытаются вызвать с 3 аргументами (int&, const boost::spirit::unused_type&, bool&) вместо одного int . Не понимаю, почему так. Разве там в глубинах не написано что-то вроде:
Код: plaintext
1.
2.
3.
4.
5.
...
template < class T > XXX operator[]( T f )
{
   f( YYY ); // вызов - какая ему разница, T - функция или объект "функциональный"?
}
...
Рейтинг: 0 / 0
20.10.2013, 16:34
    #38434614
Читать исходники boost::spirit - это правда так сложно?
Пашэ,
во-первых: бывают исходники, которые не предназначены для просмотра обычными юзерами )
во-вторых: делать неявный оператор преобразования типа для сущностей, которые используются во всех этих шаблонных делах, тем более в бусте, - эначит нарываться на неприятности
...
Рейтинг: 0 / 0
20.10.2013, 22:43
    #38434847
cppved
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Читать исходники boost::spirit - это правда так сложно?
цпп_ФилосафПашэ,
во-первых: бывают исходники, которые не предназначены для просмотра обычными юзерами )
во-вторых: делать неявный оператор преобразования типа для сущностей, которые используются во всех этих шаблонных делах, тем более в бусте, - эначит нарываться на неприятности
Где ты увидел орератор преобразования типа?
...
Рейтинг: 0 / 0
21.10.2013, 00:08
    #38434900
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Читать исходники boost::spirit - это правда так сложно?
cppved,

"Филосафы" на такие мелкие несоответствия не обращают внимания :)
...
Рейтинг: 0 / 0
21.10.2013, 12:18
    #38435288
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Читать исходники boost::spirit - это правда так сложно?
можно еще proto почитать :) для развития )))
это не просто программирование, это как бы встроенный язык (брукса нора). так что там действиетльно всяких наворотов, ведь c++ напрямую не поддреживает создание ембадед язывков.
...
Рейтинг: 0 / 0
21.10.2013, 20:18
    #38436139
cppved
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Читать исходники boost::spirit - это правда так сложно?
Да я тут почитал малость boost::preprocessor, там такие фокусы с макросами суровые... Народ воистину умудряется расшевелить всё, что не должно двигаться.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Читать исходники boost::spirit - это правда так сложно? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]