函数原型中的字符串初始化

时间:2014-02-08 03:31:36

标签: c++ string initialization

如何在C ++函数原型中初始化字符串参数?我想在函数

中为字符串参数指定一个默认值

3 个答案:

答案 0 :(得分:0)

int test(string& s="rom");

int test(string& s) {
    return s.size();
}

int main(int argc, char *argv[]) {
    cout << test() << endl;
    return 0;
}

答案 1 :(得分:0)

您可以使用:

void func(const std::string& argument = "default") { ... }

你也可以这样做:

void func(std::string argument = "default") { ... }

但这实际上取决于你是否需要在函数内部复制。

答案 2 :(得分:0)

像这样:

void func(int a, string str="default-string")
{
    cout << a << str << endl;
}

并且这样打电话:

int main(void)
{
    func(3);                    // use default string
    func(3, "new-string");      // use new string

    return 0;
}