Вопросы с тегом 'explicit-conversion'

Этот тег относится к ключевому слову `Explicit` С++.
3

Сравнение mysql datetime

Например, следующий запрос работает нормально: SELECT * FROM quotes WHERE expires_at <= '2010-10-15 10:00:00'; Но это, очевидно, сравнение "string" - мне было интересно, есть ли функция, встроенная в MySQL, которая специально выполняет сра...
21 окт. '10 в 15:54
2

Явная ошибка ключевого слова Visual Studio 2013?

Рассмотрим следующую программу: #include <iostream> class A { public: A( ) { std::cout << "A()\n"; } A( A& ) = delete; A( int i ) { std::cout << "A( " << i << " )\n"; } explicit operator int( ) { std::co...
10 дек. '13 в 15:16
6

Почему операторы switch и if ведут себя по-разному с операторами преобразования?

Почему операторы switch и if ведут себя по-разному с операторами преобразования? struct WrapperA { explicit operator bool() { return false; } }; struct WrapperB { explicit operator int() { return 0; } }; int main() { WrapperA wrapp...
06 июн. '18 в 12:29
1

Типичные шаблоны операторов преобразования и семантика перемещения: любое универсальное решение?

Это продолжение Явных рефлексивных шаблонов операторов преобразования в действии. Я экспериментировал со многими различными вариантами, и я приношу некоторые результаты здесь, пытаясь понять, есть ли какое-либо решение в конце концов. Скажем, что кл...
30 апр. '14 в 13:37
2

Почему/когда важно указать оператор как явный?

Я заимствовал код ниже из другого вопроса (слегка измененный) для использования в моем коде: internal class PositiveDouble { private double _value; public PositiveDouble(double val) { if (val < 0) throw...
25 сент. '14 в 19:37
1

Почему литой оператор на частную базу не используется?

В этом коде, назначаемом b1, работает, но он не позволит назначать b2 (с или без статического приведения). Я на самом деле пытался решить противоположную проблему, публичное наследование, но не неявно преобразовать ее в базу. Однако оператор-литье ни...
21 мар. '16 в 13:13
5

Как выполнить явное действие от отражения?

Я хочу использовать отражение и делать либо неявное, либо явное coversion с использованием отражения. Учитывая, что я определил Foo таким образом public class Foo { public static explicit operator decimal(Foo foo) { return foo.Value...
08 сент. '11 в 16:19
5

Когда я должен определить (явный или неявный) оператор преобразования в С#?

Несколько малоизвестной особенностью С# является возможность создания неявных или явных пользовательских преобразований типов. Я писал код С# уже 6 лет, и я никогда не использовал его. Поэтому, боюсь, у меня могут быть хорошие возможности. Каковы за...
26 авг. '12 в 1:00
4

isSet() или оператор void *() или явный оператор bool() или что-то еще?

Что такое состояние о функциях проверить, установлено ли значение или нет? Например, нижний итератор обрабатывает ячейки. Некоторые ячейки содержат значение, другие ячейки пусты. Каков наиболее удобный способ? struct iterator { ...
02 нояб. '12 в 10:50
4

Метод расширения и Явное литье

Я использую класс из некоторой сборки (исходный код недоступен), поэтому изменить код невозможно Мне нужно добавить метод расширения для явного оператора литья, есть ли способ достичь этого? (Я пытался добавить как обычный метод расширения, но без ус...
29 нояб. '11 в 6:08
3

"If (getline (fin, str)) {}" соответствует стандарту С++ 11?

Я проверил стандарт С++ 11 и нашел следующие факты: std::getline(fin, str) возвращает объект basic_ios, класс которого имеет функцию-член explicit operator bool() const; Класс basic_ios не имеет функции-члена operator void*() const; как pre-С++...
06 февр. '13 в 3:18
3

С# Явный оператор и объект

Вопрос Пожалуйста, сначала взгляните на код. Вот мой пользовательский класс: public class float2D { public float X { get; private set; } public float Y { get; private set; } public float2D(float x, float y) { this.X = x;...
17 дек. '13 в 13:11
3

В С++ мы можем использовать {} для кастинга C-Style?

Пока я читал о преобразовании типа данных, я увидел этот пример: void intval() { for (char c; cin >> c; ) cout << "the value of '" << c << "' is " << int{c} << '\n'; } Я знаю, что мы можем использовать с...
23 мар. '17 в 12:09
2

Почему С++ неявное преобразование работает, но явное - нет?

Следующий код успешно компилируется в С++ 11: #include "json.hpp" using json = nlohmann::json ; using namespace std ; int main(){ json js = "asd" ; string s1 = js ; // <---- compiles fine //string s2 = (string)js ; // <---- does ...
15 апр. '17 в 1:22
3

Разница между неявным преобразованием и явным преобразованием

Возможный дубликат: Неявное VS Explicit Conversion В чем разница между "неявным преобразованием" и "явным преобразованием"? Разница отличается в Java и С++?
25 сент. '11 в 7:31