Lla*_*don 0 c++ string arguments
说我想写一个这样的函数:
int get_some_int(string index) {
...perform magic...
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是,我也希望能够像这样调用它:
int var = obj.get_some_int("blah");
Run Code Online (Sandbox Code Playgroud)
但是,我不能这样做,因为const char[4]不const string&
我可以:
int get_some_int(char* index) {
...perform magic...
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是这会发出很多警告,暗示它不应该如何完成.
那么处理字符串参数的正确方法是什么?
我不能这样做,因为const char [4]不是const string&
不,但是std::string有一个非explicit转换构造函数,所以std::string创建了一个临时构建器,所以你很清楚.- http://ideone.com/xlg4k