我正在使用Qt以及其他库。 Qt使用QString
代替std::string
。当我想使用不是Qt的库时,函数会请求std::string
,因此,每次我必须调用非Qt库时,我必须使用转换QString::toUtf8().constData()
。有没有办法让我可以编写显式或隐式转换(我不知道应该是哪一个)让我在QString
的位置使用std::string
?
一个例子就像是
void func(std::string in)
{
std::cout<<in<<std::endl;
}
然后将其用作:
QString s("this is the message");
func(s);
而不是
QString s("this is the message");
func(s.toUtf8().constData());
我无法提供任何我尝试过的例子,因为我只找到了conversions来定制的类。
谢谢。