Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
C++ предлагает новые возможности, некоторые из которых вытесняют те, которые предлагаются препроцессором ANSI C. Эти новые возможности повышают безопасность типов и предсказуемость языка.
В C++объекты, объявленные как
const
можно использовать в константных выражениях. Она позволяет программам объявлять константы, имеющие сведения о типе и значении. Они могут объявлять перечисления, которые можно просматривать символично с помощью отладчика. При использовании директивы препроцессора#define
для определения констант это не так точно, а не типобезопасно. Хранилище не выделяется дляconst
объекта, если программа не содержит выражение, которое принимает его адрес.Возможности встраиваемых функций C++ вытесняют макросы типов функций. Преимущества использования встраиваемых функций по сравнению с макросами изложены ниже.
Типобезопасность. Типы встроенных функций проходят ту же процедуру проверки, что и обычные функции. Макросы не являются типобезопасными.
Правильная обработка аргументов с побочными эффектами. Встроенные функции оценивают выражения, предоставленные как аргументы перед вводом текста функции. Поэтому нет шансов, что выражение с побочными эффектами будет небезопасным.
Дополнительные сведения о встроенных функциях см. в __inline __forceinline.
Для обеспечения обратной совместимости все средства препроцессора, существовавшие в ANSI C и более ранних спецификациях C++, сохранены для Microsoft C++.