Function 调用一个对象';std::algorithms中的s成员函数(注意:这是不同的对象,不在容器中)

Function 调用一个对象';std::algorithms中的s成员函数(注意:这是不同的对象,不在容器中),function,member,Function,Member,我的代码: #include <algorithm> #include <iostream> #include <vector> using namespace std; class myClass { public: myClass() { init(); } void init() { _myVector.push_back("Hell

我的代码:

#include <algorithm>  
#include <iostream>  
#include <vector>  
using namespace std;  

class myClass {  
    public:  
        myClass() {  
            init();  
    }  
    void init() {  
        _myVector.push_back("Hello");  
        _myVector.push_back("World");  
        _myVector.push_back("Bye!");  
        for_each (_myVector.begin(), _myVector.end(), &myClass::print);  
    }  
    void print(string &myStr) {  
        cout << myStr << "." << endl;  
    }  
    private:  
        vector<string> _myVector;  
};  

int main() {  
    myClass myObj;  
    return 0;  
}  
#包括
#包括
#包括
使用名称空间std;
类myClass{
公众:
myClass(){
init();
}  
void init(){
_myVector.push_back(“你好”);
_myVector.push_back(“世界”);
_myVector.向后推(“再见!”);
对于每个(_myVector.begin(),_myVector.end(),&myClass::print);
}  
无效打印(字符串和myStr){
库特
取而代之

for_each (_myVector.begin(), _myVector.end(), bind1st(mem_fun(&myClass::print), this));

但是要使用上面的方法,myClass::print必须按值获取字符串。任何方法都是通过引用传递的,并且仍然使用类似的方法吗?对于一件简单的事情来说,这种语法是多么有趣和复杂啊!
for_each (_myVector.begin(), _myVector.end(), bind1st(mem_fun(&myClass::print), this));