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 de constante. Ele permite que os programas declarem constantes que possuem informações de tipo e valor. Eles podem declarar enumerações que podem ser exibidas simbolicamente com o depurador. Quando você usa a diretiva#define
de pré-processador para definir constantes, ela não é tão precisa e não é fortemente tipada. Nenhum armazenamento é alocado para um objetoconst
, a menos que o programa tenha uma expressão que usa seu endereço.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 fortemente tipadas.
Corrija a manipulação de argumentos que têm efeitos colaterais. As funções embutidas avaliam as expressões fornecidas como argumentos antes de se 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++.