如果我在C++中拥有自己的SString类,并且希望能够做到这一点:
SString x("text");
LPCSTR p = (LPCSTR)x;
cout<<p;
我该怎么做?
最佳答案
在您的类conversion operator to LPCSTR
中创建SString
。如果可以使用C++11
,则此运算符应为explicit
。
operator LPCSTR() const { /*return data*/ };
您还可以创建一些函数,例如(我认为此变体比转换运算符更好)
LPCSTR asLPCSTR() const { /*return data*/ };