На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (81) « Первая ... 79 80 [81]   ( Перейти к последнему сообщению )  
> Текущий Стандарт С++ и перспективы его развития
    Ну можно попробовать сам exe задебажить. Я качнул x64dbg. Но не хватило ни опыта в этом, ни терпения.
    Если есть желание, присоединяю сам exe.
    Прикреплённый файлПрикреплённый файлtest.exe.7z (1,91 Мбайт, скачиваний: 6)

    Добавлено
    Цитата Qraizer @
    P.S. Кстати, за либы. От так тож можно, ибо структурное связывание языковое, а не либовое

    Это интереснее чем tuple, но тогда уж еще typedef и будет классика.

    Добавлено
    На всяк случай скидываю линк на интересный утиль - плагин для FAR PE analyzer.
      Цитата Qraizer @
      От так тож можно, ибо структурное связывание языковое, а не либовое:
      Вот, уже ближе к желанному! Но осуществляется как бы уход в какие-то другие языки, a'la:
      ExpandedWrap disabled
        MyFunc( args )
        {
        ...
        MyFunc = val1; // то, что вернётся
        ...
        MyFunc = val2;
        }
      Жаль, что пустые=неименованые поля в структурах недопустимы (вроде бы). Так бы:
      ExpandedWrap disabled
        struct { int; int; int; } TranslateSysAddrToCS(unsigned SystemAddr);
      Хотя в аргументах неименование разрешается!:
      ExpandedWrap disabled
        int myFunc( int, int a, int)
        {
        ...
        }
        Цитата Славян @
        Жаль, что пустые=неименованые поля в структурах недопустимы (вроде бы).

        А как обращаться к полям такой структуры?
          Цитата B.V. @
          А как обращаться к полям такой структуры?

          По идее такую шляпу можно было бы использовать в двух случаях:
          1. В случае деструктуризации (это с++)
          2. В случае присвоения переменной-структуре с идентичными по типам именованными полями
            Цитата B.V. @
            А как обращаться к полям такой структуры?
            Ровно так же, как и к неименованым аргументам: никак. Разработчик убрал имя, значит сейчас оно ему не нужно. Как/когда понадобится - обзовёт. И мы были бы близки к идеалу:
            ExpandedWrap disabled
              struct {int;char;float;} MyFunc(int a)
              {
                  ...
                  return (a-1,'A',3.14);
              }
            Но тут вылезает другой изъян: запятая. Которая сейчас как бы говорит "верну то, что справа". И сейчас же получается, что фраза:
            ExpandedWrap disabled
              x = 5,6;
            вроде бы превращается в возврат 6 последним. Посему, конструкция "a-1,'A',3.14" намекает, что вернётся 3.14, как последнее. Хотя компилятор не допускает
            ExpandedWrap disabled
              f = sin(0,1);
            А должен был бы (по логике) скормить 1 синусу. Короче, много неясностей каких-то...
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:
            Страницы: (81) « Первая ... 79 80 [81] 


            Рейтинг@Mail.ru
            [ Script execution time: 0,1571 ]   [ 18 queries used ]   [ Generated: 18.10.25, 01:48 GMT ]