Вызов указателя функции-члена без использования this ⇐ C++
-
Гость
Вызов указателя функции-члена без использования this
Я написал следующий класс, который ищет ключевое слово и выполняет соответствующую функцию.
#include #include #include Пример класса; typedef std::map< std::string, void (Пример::*)(const std::string &)> ПримерList; typedef ПримерList::итератор ПримерИтер; Пример класса { публика: ПримерСписок lut; Пример() { lut["aaa"] = &Example::aaa; lut["bbb"] = &Example::bbb; } поиск void (const std::string& line) { // Получаем ключевое слово std::size_t keylen = line.find(' ', 0); ключевое слово std::string = линия; если (keylen != line.npos) ключевое слово = line.substr(0, keylen); // Это что-то, что мы распознаем ПримерIter eit = lut.find(ключевое слово); если (eit == lut.end()) { std::cout
Я написал следующий класс, который ищет ключевое слово и выполняет соответствующую функцию.
#include #include #include Пример класса; typedef std::map< std::string, void (Пример::*)(const std::string &)> ПримерList; typedef ПримерList::итератор ПримерИтер; Пример класса { публика: ПримерСписок lut; Пример() { lut["aaa"] = &Example::aaa; lut["bbb"] = &Example::bbb; } поиск void (const std::string& line) { // Получаем ключевое слово std::size_t keylen = line.find(' ', 0); ключевое слово std::string = линия; если (keylen != line.npos) ключевое слово = line.substr(0, keylen); // Это что-то, что мы распознаем ПримерIter eit = lut.find(ключевое слово); если (eit == lut.end()) { std::cout
Мобильная версия