|
#106
|
|
|
|
|
Witam
> "Visitor jest idiomem pewnego j=EAzyka, maj=B1cego braki w jakiej=B6 > konstrukcji steruj=B1cej, i kt=F3ry to idiom poprawia samopoczucie > ludziom, kt=F3rzy nie umiej=B1 obs=B3ugiwa=E6 swoich kompilator=F3w." Pewnego języka czyli? Ja już się zgubiłem o jakim języku mowa :-). > Przewi=F1 do linii 84 i zobacz, co tam si=EA zaczyna. Kod jest czysty :-). Pozwolę sobie zadać pytanie, jak to się ma do boost::variant? Prawdę mówiąc to zgubiłem się w zawiłościach tego wątku. Pozdrawiam, Seweryn Habdank-Wojewódzki. |
|
|
|
#107
|
|
|
|
|
Seweryn Habdank-Wojewodzki wrote:
> W Javie masz GPF? Na Jowisza myśłałem, że Javie nie ma GPF. Zboczenie zawodowe. W javie oczywiście mam null pointer dereference. Ale na jedno wychodzi a ja jakoś nazywam wszystko hurtem GPF. |
|
#108
|
|
|
|
|
Witam
Krzysiek Kowaliczek <this> napisał(a): > >> Ewentualnie z Type można by zrobić klasę i przechowywać w > >> niej wynik ( tylko wtedy nie nazywała by się już Type ). > > > > Pytanie co byloby wynikiem. Jesli stan jakiegos obiektu, to czemu nie? > > > > W skrajnych przypadkach będziesz miał tyle typów wyniku ile > algorytmów, ale jak zrozumiałem, raczej rozwiązanie > ograniczy się do kilku typów. No więc albo klasa pochodna od stanu, a czy boost::variant będzie zły? Pozdrawiam, Seweryn Habdank-Wojewódzki. |
|
#109
|
|
|
|
|
Rafal wrote:
> Maciej Sobczak pisze: >> Czyli standardu też nie czytałeś. Standard nie gwarantuje ale też nie >> zabrania komunikatu o błędzie jeśli switch nie jest kompletny a typem >> wyrażenia jest jakiś enum. > > Możesz podać w którym miejscu standard C++ dopuszcza traktowanie > niekompletnego switch jako błąd ? W żadnym, przypuszczam, że Maćkowi chodziło o "diagnostic message", czyli o "warning" a nie "error". JD |
|
#110
|
|
|
|
|
On 8 Lip, 20:10, Rafal <ra> wrote:
> > Czyli standardu też nie czytałeś. Standard nie gwarantuje ale też nie > > zabrania komunikatu o błędzie jeśli switch nie jest kompletny a typem > > wyrażenia jest jakiś enum. > > Możesz podać w którym miejscu standard C++ dopuszcza traktowanie > niekompletnego switch jako błąd ? Dobre pytanie. Komunikat o błędzie w sensie odrzucenia programu to faktycznie przesada (jest nawet napisane, że jeśli program jest well- formed, to ma być zaakceptowany (1.4/2) - a niepełny switch jest well- formed), ale przyjacielskie komunikaty kompilator może sobie produkować do woli, zaczynając od dzisiejszej daty, przez warunki licencji a na wykrywaniu niekompletnych switch kończąc. Jeśli powiesz, że kombinacja -Wswitch -Werror jest niezgodna ze standardem, to się zgodzę, ale nie byłaby to jedyna rzecz niezgodna ze standardem, którą warto użyć - i nie zmieniłaby ogólnej oceny visitora. |
|
#111
|
|
|
|
|
On 8 Lip, 20:22, "Seweryn Habdank-Wojewodzki" <sh-wSKA>
wrote: > > "Visitor jest idiomem pewnego j=EAzyka, maj=B1cego braki w jakiej=B6 > > konstrukcji steruj=B1cej, i kt=F3ry to idiom poprawia samopoczucie > > ludziom, kt=F3rzy nie umiej=B1 obs=B3ugiwa=E6 swoich kompilator=F3w." > > Pewnego języka czyli? Ja już się zgubiłem o jakim języku mowa :-). C++. W innych językach (np. w Adzie) switch jest zrobiony dobrze i dzięki temu nie miałbyś motywacji unikać jego potencjalnych błędów visitorem. > > Przewi=F1 do linii 84 i zobacz, co tam si=EA zaczyna. > > Kod jest czysty :-). Musi. ;-) > Pozwolę sobie zadać pytanie, > jak to się ma do boost::variant? Wcale się nie ma. W tym przykładzie kod operuje na wskaźnikach do obiektów podanych przez użytkownika a nie trzymanych przez bibliotekę, więc boost::variant/any nie ma tu zastosowania (pytanie: kto jest właścicielem obiektu?). Konkretnie wygląda to tak, że użytkownik pisze: int salary; string name; sql << "select name, salary from persons where id = 7", into(name), into(salary); a kod, który widziałeś, ma za zadanie wpisać odpowiednie wartoścido zmiennych powyżej. Czyli do *cudzych* zmiennych. boost::variant/any pozwala trzymać różne typy, jako *własne* obiekty. Inna kwestia, ale też na temat: SOCI z założenia miało nie używać typów z Boost. |
|
#112
|
|
|
|
|
Witam
> > Pozwolę sobie zadać pytanie, > > jak to się ma do boost::variant? > > Wcale się nie ma. [...] Rozumiem. W kazdym razie jesli mam taka sytuacje wzgledem SWOICH typow o duzym rozrzucie, to uwazam, ze variant jest ok. wszczegolnosci, ze ma metode get_type() i mozna z tym pracowac analogicznie jak z enum. Ale w sumie ciekawe, czy variant moze pomiescic referencje do objektow, wtedy moznabyloby tak wlasnie przekazywac nieznane typy usera. > Inna kwestia, ale też na temat: SOCI z założenia miało nie używać > typów z Boost. Zawsze mozna kod wciagnac, defakto nie uzywajac Boost ;-). Pozdrawiam, Seweryn Habdank-Wojewodzki. |
|
|
|
| Podobne wątki | |
| Ciekawostka przyrodnicza Dziś zostałam uraczona chłodnikiem "litewskim" z... krewetkami, w zastępstwie raków, chyba. Hmmm... :/ |
|
| Ciekawostka przyrodnicza Regulamin Promocji "Rachunek dyskretny" # Usługa pozwala Abonentowi na rozszerzenie zakresu zachowania w poufności informacji o połączeniach wykonywanych z numeru... |
|
| ciekawostka przyrodnicza > NH4(+) = NH3(+) + H ze niby wodor atomowy powstaje?? dziwne... |
|
| ciekawostka przyrodnicza Jestem dumnym posiadaczem dosyć wiekowego ale do tej pory spisującego się bez zarzutów kompa. Mój zestaw to Plyta główna Acorp 6bx67 z chipsetem 440BX Procesor Celeron 333,... |
|
| Ciekawostka przyrodnicza Co wam to przypomina? (reklama z Gadu-gadu - 17 KB) [..] |
|
|
Czasy w strefie GMT. Teraz jest 18:59. | Privacy Policy
|