A rigor, a #define
abordagem utilizará um pouco menos de memória. A diferença é geralmente pequena embora. Se você precisar reduzir o uso de memória, outras otimizações provavelmente seriam muito mais eficazes.
Um argumento a favor do uso const int
é o tipo safety . Sempre que você se refere a esse número de PIN por variável, você sabe exatamente que tipo de dados está recebendo. Pode ser promovido / convertido implicitamente ou explicitamente pelo código que o utiliza, mas deve se comportar de maneiras muito claras.
Por outro lado, o valor em a #define
é aberto à interpretação. Na grande maioria das vezes, provavelmente não causará nenhum problema. Você só precisa ter um pouco de cuidado se tiver um código que faça suposições sobre o tipo ou tamanho do valor.
Pessoalmente, quase sempre prefiro a segurança de tipo, a menos que tenha uma necessidade muito séria de economizar memória.
const int
?