Rzutowanie to proces, w którym typ obiektu jest jawnie konwertowany na inny typ, jeśli konwersja jest dozwolona. Ten proces może prowadzić do zmiany wartości.
W Go, jeśli zdefiniujesz nowy typ, np .: type MyInt int Nie możesz wtedy przekazać a MyIntdo funkcji oczekującej int lub odwrotnie: func test(i MyInt) { //do something with i } func main() { anInt := 0 test(anInt) //doesn't work, int is not of type MyInt } W porządku. Ale …
Jaki jest najlepszy sposób przekonwertowania wartości Int na odpowiadającą jej wartość Char w Utf16, biorąc pod uwagę, że Int jest w zakresie prawidłowych wartości?
Załóżmy, że mam następujący kod: void* my_alloc (size_t size) { return new char [size]; } void my_free (void* ptr) { delete [] ptr; } Czy to jest bezpieczne? A może musi ptrzostać rzucony char*przed usunięciem?
Znalazłem dziwny wyjątek: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String Jak to możliwe? Każdy obiekt może być rzutowany na String, prawda? Kod to: String myString = (String) myIntegerObject; Dzięki.
Chcę zdefiniować funkcję, która przyjmuje unsigned intjako argument i zwraca intkongruentny modulo UINT_MAX + 1 do argumentu. Pierwsza próba może wyglądać tak: int unsigned_to_signed(unsigned n) { return static_cast<int>(n); } Jednak, jak wie każdy prawnik zajmujący się językiem, rzutowanie wartości większych niż INT_MAX z unsigned na signed jest zdefiniowane przez implementację. …
Muszę zapisać wartość jako a Float, ale dane źródłowe to CGFloat: let myFloat : Float = myRect.origin.x ale skutkuje to błędem kompilatora: „NSNumber” nie jest podtypu „Float” Więc jeśli wyraźnie rzucę to w ten sposób: let myFloat : Float = myRect.origin.x as Float ale to z kolei powoduje błąd kompilatora: …
Jaka jest najlepsza metoda przekazywania a shared_ptrtypu pochodnego do funkcji, która przyjmuje shared_ptrtyp podstawowy? Generalnie przekazuję shared_ptrje jako odniesienie, aby uniknąć niepotrzebnych kopii: int foo(const shared_ptr<bar>& ptr); ale to nie działa, jeśli spróbuję zrobić coś takiego int foo(const shared_ptr<Base>& ptr); ... shared_ptr<Derived> bar = make_shared<Derived>(); foo(bar); mógłbym użyć foo(dynamic_pointer_cast<Base, Derived>(bar)); …
Nie mogę znaleźć zbyt wielu informacji const_cast. Jedyne informacje, które udało mi się znaleźć (na temat przepełnienia stosu) to: const_cast<>()Jest stosowany do dodawania / usuwania const (Ness) (lub lotny-ności) o zmiennej. To mnie denerwuje. Czy użycie jakiegoś const_castpowodu może spowodować nieoczekiwane zachowanie? Jeśli tak to co? Ewentualnie, kiedy można go …
Mam prosty blok html taki jak: <span id="replies">8</span> Używając jquery, próbuję dodać 1 do wartości (8). var currentValue = $("#replies").text(); var newValue = currentValue + 1; $("replies").text(newValue); To, co się dzieje, wygląda tak: 81 następnie 811 nie 9, co byłoby poprawną odpowiedzią. Co ja robię źle?
Analizuję plik XML z XmlReaderklasą w .NET i pomyślałem, że mądrze byłoby napisać ogólną funkcję analizy, aby generalnie odczytywać różne atrybuty. Wymyśliłem następującą funkcję: private static T ReadData<T>(XmlReader reader, string value) { reader.MoveToAttribute(value); object readData = reader.ReadContentAsObject(); return (T)readData; } Jak sobie uświadomiłem, nie działa to do końca tak, jak …
Podniosłem czyjś kod i jest to część klauzuli Where, czy ktoś wie, co oznacza podwójny dwukropek? b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
Mam metodę z Object oparametrem. W tej metodzie dokładnie wiem, że istnieje String„o”, które nie jest zerowe. Nie ma potrzeby sprawdzać ani robić czegoś innego. Muszę traktować to dokładnie jak Stringprzedmiot. Po prostu ciekawy - co jest tańsze - rzuć to Stringlub użyj Object.toString()? A może to samo dotyczy ceny …
Mam funkcję, która rzuca a doublena stringwartości. string variable = "5.00"; double varDouble = (double)variable; Wprowadzono zmianę kodu i projekt jest kompilowany z błędem: System.InvalidCastException: Specified cast is not valid. Jednak po wykonaniu następujących czynności ... string variable = "5.00"; double varDouble = Convert.ToDouble(variable); ... projekt buduje się bez żadnych …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.