打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
(1)MFC中关于CString 参数传递

MFC中关于CString 参数传递

(2007-03-15 22:21:50)

<CString参数传递约定>
 当定义类接口时,必须确定为成员函数确定参数传递约定。现在有一些传递和返回CString对象的标准规则。如果遵循作为函数输入的字符串和作为函数输出的字符串中所述的规则,那么将得到正确而又有效的代码。

<作为函数输入的字符串>
 如果字符串是某个函数的输入,在大多数情况下,最好将该字符串函数参数声明为LPCTSTR。在函数中根据需要使用构造函数和赋值运算符将其转换为 CString对象。如果一个函数将要更改字符串的内容,那么将参数声明为非常数的CString 引用 (CString&)。

<作为函数输出的字符串>
  通常情况下,可以从函数返回 CString 对象,因为 CString对象遵循基元类型那样的值语义。要返回只读字符串,则使用常数 CString引用 (const CString&)。以下示例阐释 CString参数的使用方法和返回类型:

class CName : public CObject
{
private:
    CStringm_firstName;
    charm_middleInit;
    CStringm_lastName;
public:
    CName(){}
    voidSetData( LPCTSTR fn, const char mi, LPCTSTR ln )
    {
       m_firstName = fn;
       m_middleInit = mi;
       m_lastName = ln;
    }
    voidGetData( CString& cfn, char mi, CString& cln )
    {
       cfn = m_firstName;
       mi = m_middleInit;
       cln = m_lastName;
    }
    CStringGetLastName()
    {
       return m_lastName;
    }
};
...
CName name;
CString last, first;
TCHAR middle;
name.SetData( "John", 'Q', "Public" );
ASSERT( name.GetLastName() == "Public" );
name.GetData( first, middle, last );
ASSERT( ( first == "John" ) && ( last == "Public" ));
...

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CString参数用于const void*的理解
CString const char*与char*之间的转换关系
VC中分割字符串的AfxExtractSubString函数
VC知识库文章
windows API 操作注册表函数
CString类_自我救赎的空间
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服