Форум программистов, компьютерный форум CyberForum.ru

Передача типа указателя на функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Десять возможностей C++11, которые должен использовать каждый C++ разработчик http://www.cyberforum.ru/cpp/thread899038.html
Обсуждаем статью: http://habrahabr.ru/post/182920/ Надо же этот раздел немного оживить :) Я, естественно, не участвую. ^_^
C++ Лямбда не допускает auto Всем привет! Имеем код: #include <iostream> #include <vector> #include <algorithm> #include <numeric> int main() http://www.cyberforum.ru/cpp/thread890370.html
C++ Вызов через указатель на функцию-член
Всем экспертам привет :) Разбавим раздел, так сказать. Задался тут таким вопросом: Есть класс, в котором объявлено поле типа "указатель на функцию-член" : struct C { void (C::*m)(); ... };
C++ std::filesystem && std::asio и пр
Пытался найти хоть какие-то сроки включения всего этого в стандарт (так же ожидается lexical_cast, any, string_algo и т.д.) и вообщем везде написано разное, проскакивает инфа о 2017 годе... Как-то не слишком оптимистично, кто-то может подсказать какие-либо сведения по этому поводу (желательно с пруф линками)?
C++ Многомерный вектор http://www.cyberforum.ru/cpp/thread603441.html
Необходимо разработать шаблон, который будет реализовывать функционал n-мерного массива, то есть, во время выполнения нужно изменять колличество измерений и размерность каждого. Словом, то же самое, что vector, только n-мерный. Подскажите, есть что-то такое готовое? Если нет, как такое можно написать? Писать на статике, естественно, не подходит, и выделять всю память при изменении размера тоже...
C++ Как реализован unordered_map? Собственно, интересна именно практическая сторона вопроса, как реализуется идеальное хеширование за O(1) в среднем ясно, об этом можно почитать в том же Кормене. Понятно, что реализации в каждом компиляторе могут быть разными. Мне интересно, как это вообще можно написать. Если кто знает - расскажите, пожалуйста. подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
28.06.2013, 15:16     Передача типа указателя на функцию
@Tulosba, Ну... В gcc все серьезнее.)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    case RID_VA_ARG:
      {
        tree expression;
        tree type;
        source_location type_location;
 
        /* The `__builtin_va_arg' construct is used to handle
           `va_arg'.  Consume the `__builtin_va_arg' token.  */
        cp_lexer_consume_token (parser->lexer);
        /* Look for the opening `('.  */
        cp_parser_require (parser, CPP_OPEN_PAREN, RT_OPEN_PAREN);
        /* Now, parse the assignment-expression.  */
        expression = cp_parser_assignment_expression (parser,
                              /*cast_p=*/false, NULL);
        /* Look for the `,'.  */
        cp_parser_require (parser, CPP_COMMA, RT_COMMA);
        type_location = cp_lexer_peek_token (parser->lexer)->location;
        /* Parse the type-id.  */
        type = cp_parser_type_id (parser);
        /* Look for the closing `)'.  */
        cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN);
        /* Using `va_arg' in a constant-expression is not
           allowed.  */
        if (cp_parser_non_integral_constant_expression (parser,
                                NIC_VA_ARG))
          return error_mark_node;
        return build_x_va_arg (type_location, expression, type);
      }
Ну а дальше уже работа с деревом.
 
Текущее время: 00:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru