Вход через социальные сети

  • 11.05.2013, 19:42
    0 up down
    Сообщение
    Недостаточно информации - какой язык программирования - что это Variant - Boost или еще что?

    http://www.rsdn.ru/article/com/varsafearr.xml
  • 11.05.2013, 19:47
    0 up down
    Сообщение
    folk в 11.5.2013, 19:42 написал(а): link

    Недостаточно информации - какой язык программирования - что это Variant - Boost или еще что?

    http://www.rsdn.ru/article/com/varsafearr.xml


    Спасибо, на эту статью уже вышел поиском. Похоже, речь идем об этом union, а как его растребушить?
  • 11.05.2013, 19:58
    0 up down
    Сообщение
    Для понимания алгоритма возможно надо просто рассматривать как безтиповую переменную а уже по контексту понимать как интерпретируются данные (например от типа параметра вызываемой функции)
    То есть не лезть вглубь - а типизировать от использования.

    Конкретно понять тип можно динамически по полю
    VARTYPE vt; // поле, определяющее хранимый тип (VT_-тип)
    наверное это имеет смысл только в действительно необходимых случаях - можно ставить прерывание по изменению поля vt например, описание тегов есть в статье.

  • 11.05.2013, 20:07
    0 up down
    Сообщение
    folk в 11.5.2013, 19:58 написал(а): link

    ...можно ставить прерывание по изменению поля vt например, описание тегов есть в статье.

    Спасибо. конечно... Примерно так я и предполагал - переменная не разбирается, пока на ней не поставишь прерывания. Пока погано - это боковая ветка основного алгоритма.
  • 11.05.2013, 20:24
    0 up down
    Сообщение
    Как ни странно - как правило это не важно. Относитесь к ней как к X. Тип станет важен только при вызове специализированной функции - а это вы увидите.
  • 11.05.2013, 20:26
    0 up down
    Сообщение
    folk в 11.5.2013, 20:24 написал(а): link

    Как ни странно - как правило это не важно. Относитесь к ней как к X. Тип станет важен только при вызове специализированной функции - а это вы увидите.

    Если бы Я писал вызов - это было бы нетрудно. Но кто-то другой писал этот вызов... В этом и состоит смысл reverse...
  • 14.05.2013, 19:15
    0 up down
    Сообщение
    Кажется, победа!
    Спасибо за поддержку в трудный час!
  • 14.05.2013, 23:00
    0 up down
    Сообщение
    Andrew58 в 14.5.2013, 19:15 написал(а): link

    Кажется, победа!
    Спасибо за поддержку в трудный час!

    Поздравляю) Кстати если интересно - почитайте про типизацию (алгоритм разрешения типов) в языке Haskell, там именно так все работает. Оказывается типов констант и низкоуровневых (библиотечных) функций в 98% случаев достаточно чтобы восстановить все типы в программе. Там есть еще kind - тип типа, но в нашем случае все kind это список - то есть можно не обращать внимания.
  • 16.05.2013, 12:28
    0 up down
    Сообщение
    folk в 11.5.2013, 20:24 написал(а): link

    Как ни странно - как правило это не важно. Относитесь к ней как к X. Тип станет важен только при вызове специализированной функции - а это вы увидите.

    Вот это сообщение стало ключевым. Я, как баран, уперся рогами в эти ворота... Стоило только отвлечься - и я тут же обнаружил, что string используют как битовый входной поток для вычисления контрольной суммы. Дальше было проще... Особенно, если предположить, что автор программы накосячил в CRC!
    Еще раз благодарю! Вывести человека из трехнедельного ступора - это надо уметь!