Per quello che può valere, la convenzione che uso di solito è:
  • indentazione stile ANSI con quattro spazi (no tabulazioni);
  • nomi di classi, namespace, metodi, parametri di funzione, campi pubblici e funzioni "sciolte" in PascalCase;
  • nomi di campi e strutture private in camelCase.

L'idea di base è che la roba "pubblica" sia in PascalCase, la roba "privata" in camelCase. Per cui:
codice:
namespace MioNamespace
{
    void UnaFunzione(int PrimoArgomento, char * SecondoArgomento);
    
    class UnaClasse
    {
      private:
        // Campi privati
        int campoIntero;
        int campoDouble;

      public:
        // Interfaccia

        // Costruttore
        UnaClasse(int CampoIntero, double CampoDouble)
        {
            SetCampoIntero(CampoIntero);
            SetCampoDouble(CampoDouble);
        }

        // Getters/setters
        // campoIntero
        int GetCampoIntero() { return campoIntero; }
        void SetCampoIntero(int CampoIntero);
        {
            validaCampoIntero(CampoIntero);
            campoIntero=CampoIntero;
        }

        // campoDouble
        double GetCampoDouble() { return campoDouble; }
        void SetCampoDouble(double CampoDouble)
        {
            campoDouble=CampoDouble;
        }

      private:
        // Metodo utilizzato internamente per validare campoIntero
        void validaCampoIntero(int CampoIntero)
        {
            if(CampoIntero==0)
                throw std::invalid_argument("CampoIntero non può essere 0.")
        }
    };
}