Зміст:
Визначення - Що означає неперевірений оператор?
Неперевірений оператор на C # - це оператор, який використовується для відключення перевірки переповнення під час оцінки виразів і перетворень.
Під час виконання арифметичних операцій інтегрального типу з використанням виразів, що містять числові типи даних, це може призвести до виключення переповнення, якщо результат операції занадто великий, щоб бути представлений у кількості, що виділяється певним числом бітів на основі його типу. У випадках, коли переповнення є прийнятним результатом роботи, необхідно придушити виняток і продовжити програму. У таких сценаріях використовується неперевірений оператор, встановлюючи неперевірений контекст, в якому арифметичне переповнення ігнорується з усіченням результату.
На відміну від C / C ++, який ігнорує можливість переповнення, C # надає можливість обробляти або ігнорувати переповнення, надаючи перевірені та неперевірені оператори. Неперевірений оператор часто використовується в розділі проекту, складеному в перевіреному контексті. Деякі алгоритми, в яких може бути використаний неконтрольований оператор, включають контрольні суми, логіку шифрування та генерацію випадкових чисел.
"Техопедія" пояснює неперевірений оператор
Неперевірений оператор використовується з ключовим словом "неперевірений" у виразі та як вислів у блоці коду. Він встановлює контекст виконання, в якому найбільш значущі біти результату відкидаються при виникненні цілого числа переповнення, при цьому виконання продовжується. Контекст неперевіреної дії застосовний до висловлювань, укладених у оператор "не перевірено", а не до вкладених викликів функцій.
Наприклад, коли добуток двох великих цілих чисел типу даних вимагає використання коротких для певної мети без необхідності перевірки на наявність переповнення, може бути використаний неконтрольований оператор.
Взагалі вираз, який містить постійні терміни, можна перевірити на наявність переповнення лише під час компіляції. Неконтрольований оператор може бути використаний, щоб уникнути перевірки на переповнення таких виразів, а також для виразів, які містять непостійні умови, які за замовчуванням не відмічені, як під час виконання, так і під час компіляції.
Неперевірений оператор не може бути перевантажений.
Оскільки за використання неперевіреного оператора передбачено покарання за ефективність, його слід використовувати лише там, коли переповнення не спричиняє жодних проблем.
Це визначення було написано в контексті C #