Macros e C++
C++ oferece recursos novos. Alguns deles substituem os oferecidos pelo pré-processador ANSI C. Esses novos recursos aprimoram a segurança do tipo e a previsibilidade da linguagem:
Em C++, os objetos declarados como const podem ser usados em expressões constantes. Isso permite que os programas declarem as constantes que têm informações de tipo e valor e as enumerações que podem ser exibidas simbolicamente com o depurador. Usar a política de pré-processador #define para definir constantes não é um procedimento tão preciso. Nenhum armazenamento é atribuído a um objeto const, a menos que uma expressão que usa seu endereço seja encontrada no programa.
O recurso da função integrada C++ substitui macros de tipo de função. As vantagens de usar funções integradas sobre as macros são:
Segurança de tipo. As funções integradas estão sujeitas à mesma verificação de tipo que as funções normais. As macros não são do tipo seguro.
Corrija a manipulação de argumentos que têm efeitos colaterais. As funções integradas avaliam as expressões fornecidas como argumentos antes de inserir o corpo da função. Portanto, não há nenhuma possibilidade de uma expressão com efeitos colaterais não seja segura.
Para obter mais informações sobre as funções integradas, consulte inline, __inline, __forceinline.
Para compatibilidade com versões anteriores, todas as instalações de pré-processadores que existiam em ANSI C e nas especificações anteriores do C++ são preservadas para o Microsoft C++.