Практические вопросы по шаблонам, функторам, функциям CallBack в c ++? - PullRequest
1 голос
/ 07 мая 2010

За последнюю неделю я читал шаблоны, функторы, функцию обратного вызова и сослался на несколько хороших книг и статей.

Однако я чувствую, что, если я не смогу получить хорошую практику - программировать в шаблонах и использовать функторы-обратные вызовы, я не смогу по-настоящему понять все концепции или свободно использовать их при кодировании.

Может ли кто-нибудь предложить несколько статей, книг или веб-сайтов, где есть определение проблемы, а также ее решение. Я мог бы просто написать код для проблемы и проверить позже, достаточно ли мое решение ..

Мне также известно, что некоторые из наших членов, переполняющих стек, являются экспертами в шаблонах и функциях обратного вызова. Было бы замечательно, если бы они могли спроектировать проблему, а также опубликовать решение, которое могло бы принести пользу многим начинающим пользователям.

Ответы [ 2 ]

3 голосов
/ 07 мая 2010

Лично я считаю, что это неправильный способ чему-то научиться.Люди, которые будут готовы решать такие проблемы, почти наверняка не будут людьми, которые являются экспертами в области технологий.Лучший способ научиться - это найти реальную проблему, которая важна для вас, а затем решить проблему с помощью технологии. Для этого нужно прочитать текст и справочники и опубликовать соответствующие вопросы на таких сайтах, как этот.

0 голосов
/ 08 мая 2010

Хорошим упражнением является замена именованных функций анонимными функторами.Например, вместо использования предиката, например

bool is_overdrawn(const Account& account)
{
    return !account.is_balanced();
}

, вы можете синтезировать функтор через std::not1(std::mem_fun_ref(&Account::is_balanced)).

...