我该如何处理c ++中的字符串参数?

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)

但是这会发出很多警告,暗示它不应该如何完成.

那么处理字符串参数的正确方法是什么?

Luc*_*ore 5

我不能这样做,因为const char [4]不是const string&

不,但是std::string有一个非explicit转换构造函数,所以std::string创建了一个临时构建器,所以你很清楚.- http://ideone.com/xlg4k