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));