c++ - char[] 如何在参数中解释为 const std::strings

标签 c++ string

我最近意识到我可以做到这一点:

void someFunc(const std::string &str)
{
   //content
}

...
someFunc("Hello World"); //this works

我想知道它是如何工作的,为什么会这样。

谢谢

最佳答案

之所以有效,是因为 std::string 有一个来自 const char * 的构造函数,它没有被标记为 explicit。如有必要,C++ 编译器将插入对此类构造函数的调用(每个参数)以使参数匹配。

关于c++ - char[] 如何在参数中解释为 const std::strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4523841/

相关文章:

c++ - 关于 auto_ptr::reset 的问题

C - 返回结构时出错

c++ - struct function greater 在这段代码中是如何工作的?

javascript - 如何使用 JavaScript 将 HTML 段落拆分为文本行

php - 如何从 PHP 中的多维数组中删除空值?

c# - 如何在 C# 中将文本值拆分为包含单词的数组?

PHP7 的 substr() 对 null/空字符串的行为

c++ - Windows 上的 std::basic_string<TCHAR> 会优于 std::wstring 吗?

c++ - 在析构函数中发出 sigc++ 信号是否安全?

c++ - cvCapture 和 directshow