Pergunta

Estou confuso sobre declarações de variáveis com referências.Eu li algumas páginas e que me deixou mais confuso, então preferiu perguntar aqui.

Foi-me pedido 4 perguntas em C++ uma entrevista;que um deles está errado e por quê?

(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;

Pode alguém por favor explique-lhes que na incorreto e por quê?

Foi útil?

Solução

tl;dr Referências devem ser inicializadas na declaração (diretamente ou na classe inicialização).

int& n;

Isso deixa a referência n uninitialised.As referências devem ser inicializadas na declaração.

const int& n = 15;

Nada de errado aqui.A referência a um const int é inicializado para 15.

float x; const int& n = x;

O float é ok, mas é uma má idéia para ser deixado uninitialised.Referência n sendo inicializada para x (float/integral conversões aplicar), não é uma grande idéia.

Outras dicas

Uma referência deve sempre ser inicializado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top