Форум программистов, компьютерный форум 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) в среднем ясно, об этом можно почитать в том же Кормене. Понятно, что реализации в каждом компиляторе могут быть разными. Мне интересно, как это вообще можно написать. Если кто знает - расскажите, пожалуйста. подробнее

Показать сообщение отдельно
Kastaneda
Форумчанин
Эксперт С++
4469 / 2831 / 224
Регистрация: 12.12.2009
Сообщений: 7,201
Записей в блоге: 1
Завершенные тесты: 1
30.06.2013, 17:28     Передача типа указателя на функцию
Цитата Сообщение от Tulosba Посмотреть сообщение
А union вместо struct потому что на 1 символ короче?
Вообще можно было и struct, но union можно расширять
C++
1
2
3
4
5
union fptr
{
    int (*ptr1)(int);
    void (*ptr2)(int);
};
без увеличения занимаемого им места, а struct нет. Расширение может понадобиться для того, чтобы избежать привидение типа внутри my_super_puper_function(). Хотя преимущество конечно спорное, т.к. расширять можно до бесконечности и всех вариантов все равно не переберешь. Поэтому наверное практичней сделать ptr как void(*ptr)(), а внути my_super_puper_function() уже руками приводить к чему надо.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru