什么是运营商超载的位置:String8 ::运营商为const char *()const的 [英] what is the operator be overloading here : String8::operator const char*() const
本文介绍了什么是运营商超载的位置:String8 ::运营商为const char *()const的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道它是用来获取包含C字符串,类似的std :: string.c_str()
但是我应该如何使用操作?
//的Android /框架/基/有/ utils的/ String8.h
458在线String8 ::运营商为const char *()const的
459 {
460回mString;
461}
解决方案
您可以做这样的东西,用它来获得为const char *
从 String8
对象。
String8海峡=你好;
为const char * CPTR = str中; //获取来自海峡为const char *的std :: strlen的(STR); //的std :: strlen的期望一个const char *
编辑:供参考,像这样的运营商转换运营商
I know it is used to get the containing c string ,similar to std::string.c_str().
But how should I use the operator?
//android/frameworks/base/include/utils/String8.h
458 inline String8::operator const char*() const
459 {
460 return mString;
461 }
解决方案
You could do stuff like this, by using it to get a const char*
from a String8
object.
String8 str = "Hello";
const char *cptr = str; // gets const char* from str
std::strlen(str); // std::strlen expects a const char*
edit: for reference, operators like these are conversion operators
这篇关于什么是运营商超载的位置:String8 ::运营商为const char *()const的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文