Macros e C++
C++ oferece novos recursos, alguns dos quais suplantar o as oferecidas pelo pré-processador de C ANSI.Esses novos recursos aprimoram a segurança de tipos e a previsibilidade do idioma:
No C++, os objetos declarados como const pode ser usado em expressões constantes.Isso permite que os programas declarar constantes que possuem informações de valor e tipo e enumerações que podem ser visualizadas simbolicamente com o depurador.Usando o pré-processador #define diretiva para definir constantes não é tão precisa.Nenhum armazenamento é alocado para uma const de objeto, a menos que uma expressão que leva o seu endereço encontra-se no programa.
A capacidade de função in-line C++ suplanta macros do tipo de função.As vantagens do uso de funções embutidas macros são:
Segurança do tipo.Funções embutidas estão sujeitos a mesmo tipo de verificação de funções normais.As macros não são um tipo seguro.
Tratamento correto de argumentos que têm efeitos colaterais.Funções embutidas avaliam as expressões fornecidas como argumentos antes para inserir o corpo da função.Portanto, não há nenhuma chance que uma expressão com efeitos colaterais será insegura.
Para obter mais informações sobre funções embutidas, consulte embutido, _ _ embutido, __forceinline.
Para compatibilidade com versões anteriores, a todos os pré-processador instalações que existiam em ANSI C e nas especificações de C++ anteriores são preservadas para Microsoft C++.