Описание тега implicit-conversion

Converting an object, variable or value from one type to another to satisfy a type restriction, without specifically requesting that conversion through language syntax.
2 ответа

Есть ли у замены неявного преобразования явным приведением какие-либо побочные эффекты?

Лучше явно приводить, чем просто использовать неявное преобразование? Например, у меня есть перечисление... /*This enum represents the various encryption types for wifi. For wifi capable devices, a bitwise & result of all supported encryption ty…
27 мар '15 в 11:48
2 ответа

UWP Json для преобразования C#

Я хочу сериализовать некоторые данные json, которые я получаю из Интернета, в классы и использовать эти данные, поэтому я пошел на http://json2csharp.com/ и включил json, как показано ниже json: [{"line_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u…
24 июн '17 в 17:51
4 ответа

Вопрос относительно неявных преобразований в спецификации языка C#

Раздел 6.1 Неявные преобразования определяет преобразование идентичности таким образом: Преобразование идентичности преобразует из любого типа в тот же тип. Это преобразование существует так, что можно сказать, что объект, который уже имеет требуемы…
3 ответа

Неявное преобразование из int в shared_ptr

Рассмотрим код ниже: #include <iostream> #include <memory> void f(std::shared_ptr<int> sp) {} template <typename FuncType, typename PtrType> auto call_f(FuncType f, PtrType p) -> decltype(f(p)) { return f(p); } int main() …
5 ответов

Хорошо написанная проверка на числа, которые могут быть нулевыми в Java

У меня есть приложение, в котором мне нужно обработать много чисел (целых или длинных), поступающих из внешних источников. Числа могут быть нулевыми. Если они нулевые, мне всегда нужно конвертировать их в 0. Проблема кажется тривиальной, но я не хоч…
19 июн '15 в 12:17
3 ответа

Как избавиться от предупреждения: неявное преобразование сокращает 64-разрядное значение до 32-разрядного

Прежде всего, я новичок в C++, и я использую Xcode 4.6.2. Конфигурация компилятора по умолчанию. Я только переключил компилятор на GCC 4.2. Если я скомпилирую свой маленький код, я получу следующие предупреждения: Неявное преобразование сокращает 64…
3 ответа

Могу ли я в Scala неявно преобразовывать только определенные литералы в свой пользовательский тип?

В моем приложении я отслеживаю количество кредитов, которые есть у пользователя. Чтобы добавить проверку типа, я использую Credits класс похож на этот: case class Credits(val numCredits: Int) extends Ordered[Credits] { ... } Предположим, у меня есть…
20 июл '12 в 08:43
2 ответа

Пользовательский тип даты для двойного преобразования типа

Если у меня есть пользовательский тип даты с именем MyDate, в котором я написал операторы для неявного преобразования double и MyDate друг в друга. Мой вопрос: есть ли способ отключить это неявное преобразование для определенного параметра метода? э…
07 фев '14 в 11:06
1 ответ

Неявные преобразования не работают с параметрами типа

У меня проблема с неявными преобразованиями, не работающими при определенных обстоятельствах (типы с более высоким родом). Для данной системы, типа выражения и двух конкретных подтипов выражения: trait Sys[S <: Sys[S]] object Expr { trait Var [S …
1 ответ

Неявное преобразование Scala на универсальной особенности, реализующей интерфейс Java

Я работаю над проблемой неявного преобразования уже несколько дней, но почему-то просто не могу понять, что я делаю неправильно. Я прочитал все другие вопросы по SO, которые касаются последствий, но я все еще не понимаю, в чем проблема. В качестве п…
11 май '12 в 21:54
3 ответа

Как определяется приоритет неявного преобразования типов?

Вот код: class A{ public: int val; char cval; A():val(10),cval('a'){ } operator char() const{ return cval; } operator int() const{ return val; } }; int main() { A a; cout << a; } Я бегу код в VS 2013, выходное значение 10если я закомментирую o…
19 авг '14 в 14:03
1 ответ

Выборочные неявные преобразования

У меня есть Value класс, который может содержать значение различных типов данных. class Value { private: union { int Integer; double Real; bool Boolean; }; ValueTypes valType; public: Value(); Value(double Val); Value(int Val); Value(bool Val); /* .…
22 мар '14 в 23:56
1 ответ

Неявное преобразование из логического? логическое

Я получаю несколько предупреждений о неявном преобразовании и не могу понять, в чем дело. Я думаю, что у меня психическое расстройство. Пример того, где я вижу неявное преобразование из Boolean? в Boolean как следует: If Not calId Is Nothing Then Di…
15 июн '17 в 14:40
1 ответ

Неявное преобразование типа groovy для перехода к фиксированному не Groovy методу

Я пишу Scala-приложение, которое загружает Groovy "плагины" классы во время выполнения. Как только плагины загружены, стандартные типы Scala (например, List а также Option) передаются в них для обработки. Groovy, естественно, не имеет синтаксическог…
15 май '15 в 08:57
3 ответа

Почему универсальный тип, который может быть приведен, не конвертируется неявно?

У меня есть класс A и класс Bоба являются общими с параметром типа T, Объект A<T> может быть приведен к B<T>, У меня есть перегрузка общего оператора на B что я хочу иметь возможность позвонить на A объект и B объект, где A объект неявно…
0 ответов

Подстрочный оператор и неявное преобразование в тип указателя

Я читаю шаблоны C++ - полное руководство, 2-е издание и B.2.1 рассказывает о неявном преобразовании подразумеваемого аргумента "this". Тот же пример здесь: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1592.pdf В зависимости от typedef дл…
1 ответ

Переполнение стека в классе типов с неявным преобразованием

Я сделал общий DynamoFormat за Scanamo что бы поставить любой объект, который имеет Circe"s Encoder а также Decoder определяется в базе данных как строка Json. import com.gu.scanamo.DynamoFormat import io.circe.parser.parse import io.circe.syntax._ …
25 авг '17 в 11:43
1 ответ

Преобразование ссылки в функцию

Мне интересно, почему следующий код является правильным: void foo(){} void foo2(void(*)()){}; void foo3(void(*)()&){}; int main(){ foo; // type void(&)() lvalue foo2(foo); // void(&)() -> void(*)() function to pointer conversion foo3(…
24 фев '19 в 16:08
2 ответа

Неявное преобразование в C# без создания нового объекта

Я пытаюсь реализовать неявное приведение для объекта. В настоящее время я делаю это: public class PathSelector { private string _path = null; public string Path { get { return _path; } set { if (value != _path) { _path = value; OnPropertyChanged("Pa…
29 июн '17 в 08:46
1 ответ

Несколько пользовательских преобразований при инициализации

Я осознаю тот факт, что C++ допускает только одно пользовательское неявное преобразование при преобразовании между типами. Однако недавно я столкнулся с ситуацией, когда кажется, что при инициализации допускаются двойные пользовательские неявные пре…