有没有办法在 C++ 中传递字符串文字作为引用

2023-12-23

在 C++ 中,如果值不能为 NULL,则通常通过引用而不是指针传递。

假设我有一个具有以下签名的函数,该函数通常与字符串文字一起使用。

void setText( const char* text );

我想知道如何更改函数以使其接受引用(并且具有不接受 NULL 的优点)?

  • 如果我把它改成(const char& text)那么它将是对单个字符的引用。可以从函数内部获取地址......但感觉不太好。

  • 另一种选择是(const std::string& text)它的缺点是它总是调用构造函数并进行一些动态内存分配。

任何其他常见的方法,或者只是坚持std::string& or the char* ?


老实说,我只会保留const char* text函数并添加重载const std::string& text调用第一个函数的函数setText(text.c_str())

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 C++ 中传递字符串文字作为引用 的相关文章

随机推荐