Pytania otagowane jako implicit-conversion

Konwersja obiektu, zmiennej lub wartości z jednego typu na inny w celu spełnienia ograniczenia typu, bez wyraźnego żądania tej konwersji za pomocą składni języka.

2
Gdzie Scala szuka implicitów?
Niejawna pytanie do nowoprzybyłych do Scala wydaje się być: gdzie robi wygląd kompilator implicits? Mam na myśli domniemanie, ponieważ pytanie nigdy nie wydaje się w pełni uformowane, tak jakby nie było na to słów. :-) Na przykład, skąd integralpochodzą poniższe wartości ? scala> import scala.math._ import scala.math._ scala> def foo[T](t: …

4
Niejawna konwersja celu C traci precyzję liczb całkowitych „NSUInteger” (alias „unsigned long”) na ostrzeżenie „int”
Pracuję nad niektórymi ćwiczeniami i otrzymuję ostrzeżenie: Niejawna konwersja traci dokładność liczb całkowitych: „NSUInteger” (aka „unsigned long”) na „int” #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSArray *myColors; int i; int count; myColors = @[@"Red", @"Green", @"Blue", @"Yellow"]; count = myColors.count; // <<< issue …




5
Jak działa „is_base_of”?
Jak działa poniższy kod? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host<B,D>(), int())) …

2
Zapobieganie przyjmowaniu przez funkcję const std :: string & od akceptacji 0
Warto tysiąc słów: #include<string> #include<iostream> class SayWhat { public: SayWhat& operator[](const std::string& s) { std::cout<<"here\n"; // To make sure we fail on function entry std::cout<<s<<"\n"; return *this; } }; int main() { SayWhat ohNo; // ohNo[1]; // Does not compile. Logic prevails. ohNo[0]; // you didn't! this compiles. return 0; …

3
Niejawna konwersja a klasa typu
W Scali możemy użyć co najmniej dwóch metod do modernizacji istniejących lub nowych typów. Załóżmy, że chcemy wyrazić, że coś można określić ilościowo za pomocąInt . Możemy zdefiniować następującą cechę. Niejawna konwersja trait Quantifiable{ def quantify: Int } A potem możemy użyć niejawnych konwersji do kwantyfikacji np. Ciągów znaków i …


10
Dlaczego printf („% f”, 0); dać niezdefiniowane zachowanie?
Wyrok printf("%f\n",0.0f); drukuje 0. Jednak oświadczenie printf("%f\n",0); wypisuje losowe wartości. Zdaję sobie sprawę, że przejawiam jakieś niezdefiniowane zachowanie, ale nie potrafię dokładnie określić dlaczego. Wartość zmiennoprzecinkowa, w której wszystkie bity są równe 0, jest nadal ważna i floatma wartość 0. floati intmają ten sam rozmiar na moim komputerze (jeśli to …

4
Niejawna konwersja niedozwolona po powrocie
#include <optional> bool f() { std::optional<int> opt; return opt; } Nie kompiluje: 'return': cannot convert from 'std::optional<int>' to 'bool' Odniesienie do konsultacji Chciałbym znaleźć wyjaśnienie, ale przeczytałem je tak, jak powinno być dobrze. Konwersje niejawne są wykonywane za każdym razem, gdy wyrażenie pewnego typu T1 jest używane w kontekście, który …


2
Wezwanie do lambda jest dwuznaczne, pomimo wyraźnego podania typu zwrotu
Przeciążona funkcja powinna przyjmować oba funktory, biorąc pod uwagę, że typ lambda jest rozstrzygalny (można ją wyrzucić std::function(proszę poprawić mnie, jeśli się mylę). Pytanie brzmi: Dlaczego poniżej jest błąd kompilacji, mimo że jawnie jest to typ lambda zdefiniowany? ( [&]() -> Type {}) Pamiętaj, że dla mojego obecnego rozwiązania potrzebuję …

3
Jak uniknąć niejawnej konwersji z liczby całkowitej 0 na wskaźnik, jako elementu wektora
Jest sytuacja, w której chcę zebrać wszystkie nazwy węzłów ścieżki do klucza w JSON. Zastanów się nad warunkiem, że indeks tablicy „0”, „1” są również dozwolone, ale łatwo jest zapomnieć o cudzysłowach, co doprowadziłoby do awarii, gdy dereferencja. Więc chcę to odrzucić. Przykład: #include <vector> #include <iostream> int func(const std::vector<const …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.