Зафиксировать пустую структуру папок (с помощью git)

Если вам нужно сохранить функцию-член без экземпляра класса, вы можете сделать что-то вроде этого:

class MyClass
{
public:
    void MemberFunc(int value)
    {
      //do something
    }
};

// Store member function binding
auto callable = std::mem_fn(&MyClass::MemberFunc);

// Call with late supplied 'this'
MyClass myInst;
callable(&myInst, 123);

. Каким будет тип хранилища без auto ? Что-то вроде этого:

std::_Mem_fn_wrap callable

Вы также можете передать это хранилище функций стандартным связям функций

std::function binding = std::bind(callable, &testA, std::placeholders::_1);
binding(123); // Call

Предыдущие и будущие примечания: более старый интерфейс std :: mem_func , но с тех пор он устарел. Существует предложение, post C ++ 17, чтобы сделать указателем на функции-члены, вызываемые . Это было бы очень приятно.

63
задан Иван Бишевац 26 January 2013 в 23:00
поделиться