Partilhar via


CString argumento Passing

Este artigo explica como passar CString objetos para funções e como retornar CString objetos de funções.

Convenções de passando argumentos CString

Quando você define uma interface de classe, você deve determinar a convenção de passagem de argumento para as funções de membro.Existem algumas regras padrão para passar e retornando CString objetos. Se você seguir sistema autônomo regras descritas em Cadeias de caracteres sistema autônomo entradas de função and Cadeias de caracteres sistema autônomo saídas de função, você terá de código eficiente, correto.

Cadeias de caracteres sistema autônomo entradas de função

Se uma seqüência de caracteres for uma entrada para uma função, na maioria dos casos é preferível declarar o parâmetro da função seqüência sistema autônomo LPCTSTR. Converter em um CString objeto conforme necessário na função usando construtores e operadores de atribuição. Se o Sumário seqüência serão alteradas por uma função, declare o parâmetro sistema autônomo um nonconstant CString referência)CString &).

Cadeias de caracteres sistema autônomo saídas de função

Normalmente, você pode retornar CString objetos de funções porque CString os objetos seguem semântica de valor como tipos primitivos. Para retornar uma seqüência de caracteres somente leitura, use uma constante CString referência)Const CString &).O exemplo a seguir ilustra o uso de CString parâmetros e tipos de retorno:

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

Consulte também

Outros recursos

Seqüências de caracteres (ATL/MFC)