如果我在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*/ };

10-04 12:58