温馨提示×

使用bind绑定类成员函数怎样

c++
小樊
85
2024-11-28 11:44:40
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,使用std::bind绑定类成员函数时,需要传递一个类的实例对象或者指向该实例的指针。这是因为成员函数需要一个隐含的this指针来引用调用它的对象。下面是一个简单的例子,展示了如何使用std::bind绑定类成员函数:

#include <iostream>
#include <functional>

class MyClass {
public:
    void printHello() const {
        std::cout << "Hello from MyClass!" << std::endl;
    }
};

int main() {
    MyClass obj;
    auto boundFunction = std::bind(&MyClass::printHello, &obj);
    
    // 调用绑定的成员函数
    boundFunction();  // 输出 "Hello from MyClass!"

    return 0;
}

在这个例子中,我们创建了一个名为MyClass的类,其中包含一个名为printHello的成员函数。然后,我们创建了一个MyClass的实例对象obj,并使用std::bind将其成员函数printHello绑定到obj。最后,我们调用绑定的成员函数,它输出"Hello from MyClass!"。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c++ bind函数如何绑定成员函数

0