durov55

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет, дорогие камрады! В который раз натыкаюсь на унарный оператор «плюс» и всё никак не могу понять его предназначение. Если с минусом всё сразу становится понятно (инвертирует значение выражения к которому он применяется, другими словами умножает значение операнда на -1), то с плюсом не всё так однозначно. В некоторых языках программирования его можно было бы перегрузить, но в Java перегрузка операторов не предусмотрена. По логике он просто возвращает на место операнда то же значение, что и было до этого (если операнд использует значение какой-то переменной, то просто возвращает это значение на место операнда, в случае же числового литерала, просто использует значение представленное литералом). Исходя из всего этого, не вижу никакого смысла в использовании этого оператора, его можно сравнить с некоторым архаизмом, пережитком прошлого или данью традициям... Но один вопрос всё же не даёт мне покоя. Буквально недавно наткнулся на следующую информацию. В документации по Visual Studio 2017 было указано, что оператор унарный «плюс» выполняет явное восходящее привидение целочисленных типов. Позволю себе привести небольшой пример: У нас есть переменная сh типа char, если мы применим по отношению к этой переменной операцию унарного сложения, то есть, напишем +ch, то эта переменная будет приведена к примитивному типу int, при этом значение переменной, само собой разумеется, остаётся нетронутым. Так вот, меня интересует следующий вопрос: что если экстраполировать это на язык программирования Java? Будет ли работать восходящее приведение целочисленных типов в случае использования унарного «плюса» с примитивной переменной целочисленного типа? Благодарен за ответ!) | Всего записей: 113 | Зарегистр. 06-02-2011 | Отправлено: 00:57 27-06-2017 | Исправлено: durov55, 01:02 27-06-2017 |
|