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