Quais são alguns idiomas, conceitos errôneos e truques relacionados ao C ++ que você aprendeu com a experiência?

Quais são alguns idiomas, conceitos errôneos e truques relacionados ao C ++ que você aprendeu com a experiência?

Um exemplo:

class A
{
  public: 
  char s[1024];
  char *p;

  A::A()
  {
    p = s;
  }

  void changeS() const
  {
    p[0] = 'a';
  }

};

Mesmo sabendo que changeS é uma função membro const, está alterando o valor do objeto. Portanto, uma função de membro const significa apenas que ele tratará todas as variáveis como const, e isso não significa que na verdade manterá todos os membros const. (por quê? a palavra-chave const na função membro trata char * p; como char * const p; e não como const char * p;

O que significa, portanto, que p não pode apontar para outra coisa. E não que você não possa alterar os dados de p.

questionAnswers(16)

yourAnswerToTheQuestion