Prioridade dos operadores de C ++ “e” e “->”
-
03-07-2019 - |
Pergunta
Dado o seguinte:
&row->count
Would & (row-> count) ser avaliada ou (e linha) -> contagem de ser avaliada em C ++
EDIT:. Aqui está uma grande ligação para precedência C ++
Solução
Outras dicas
Quanto regras de precedência ir, eu sempre gostei aquele apresentadas por Steve Oualline em "C Prático":
Há quinze regras de precedência em C (&& vem antes || vem antes ? :). O programador prático reduz estes a dois:
1) A multiplicação e divisão vêm antes da adição e subtração.
2) parênteses colocar em volta tudo outra pessoa.
Esta já é feita. Mas aqui é um link.
Edit: Ok esta questão é muito semelhante. E, possivelmente, há um outro.
Maio sugiro que você resolver essas questões através de um programa de teste? Isso tem a vantagem de que você vai saber com certeza que a resposta é correta para a sua implementação, e você não estão expostos ao risco de perguntas mal respondidas.
C precedência do operador é explicado aqui
De acordo com a tabela, -> é uma prioridade mais elevada do que o operador &, por isso é & (row-> count)
& (row-> count)
-> tem uma prioridade maior do que & (endereço). Portanto, sua expressão seria avaliada como & (row-> count)