Compartilhar via


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 objeto const, 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++.

Confira também

Macros predefinidas
Macros (C/C++)