std::字符串的类型转换
Type conversion for std::strings
是否可以为类提供类似全局类型转换运算符的函数?我特别在寻找一种从std::string
公开const char*
的方法。我尝试定义一个全局运算符,但无法编译。通过快速搜索和查看cpp引用,这些用户定义的转换需要成为成员http://en.cppreference.com/w/cpp/language/cast_operator.
有没有一种干净(或破解(的方法可以将std::string
传递给接受const char*
的方法,而不总是使用c_str()
。
背景:
我在一个跨平台上工作,我主要来自windows。我的大多数课程都使用ATL::CString
。我正在将它们更改为使用std::string
的。调用c_str
是可以的,但在单元测试代码中,似乎每一行和每一个参数都有太多这样的调用,所以在这里尽量懒惰。
正如只有用户定义的类型可以定义自己的构造函数一样,只有用户定义类型可以定义它们是否可以隐式转换为其他类型(或通过非explicit
构造函数从其他类型转换(。因此,不能从类外强制从std::string
到const char*
的隐式转换。
只需制作一个函数来连接代码。
some_func(const char* c)
至
interface(string s) {
some_func(s.c_str());
}
如果您使接口的名称与somefunc相同,会更好。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何将字符串类型转换为 ostringstream
- 如何将两个 jlong 数据类型转换为 jstring,然后将两个字符串连接在一起以便从 JNI 将字符串返回给 jav
- 将函数指针类型转换为相应的字符串
- 将任何类型的类型转换为字符串 c++
- 如何将模板类型转换为字符串(如果它也可以是字符串)
- 字符串常量之前的预期构造函数、析构函数或类型转换
- C++大小写中的类型转换常量字符串
- 使用java jni时转换字符串类型
- 字符串的类型转换
- 字符串流与C++中的类型转换
- 如何在visualc++中将WORD类型转换为字符串
- 为什么在运行时将字符串类型转换为DWORD时会得到不同的值?
- QVariant中的自定义类型转换为空字符串
- std::字符串的类型转换
- C++ 隐式类型转换字符串 -> int?
- (字符串)字符类型转换
- 如何在VS2012中转换自定义类型为字符串
- 你认为是什么让这个C++代码变慢了?(它循环通过ADODB记录集,将COM类型转换为字符串,并填充ostringstre