-
Data: 2012-10-21 00:55:00
Temat: Re: coś lajtowego - konsola
Od: Baranosiu <r...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 20.10.2012 kenobi <p...@g...com> napisał/a:
>>
>>
>> A="10"
>>
>> B=A*2
>>
>>
>>
>> bo coś takiego po prostu świadczy o błędzie programisty i język POWINIEN
>>
>> wymagać zrobienia B=int(A)*2 bo wtedy jest
>
> no ja mowie wlasnie o czyms takim, domyslne
> konwersje tylko czasem a nie zawsze
> np dla loguj(x)
Możesz podejść do tego tak jak na przykład jest w Javie, masz typ
'int' (prosty "niskopoziomowy") i masz klasę 'Integer' która ma
wszystkie "bajery" typu .toString() .pharseInt(String) itd. Nic nie
stoi na przeszkodzie aby to tak samo zrealizować w C++ (łącznie z
"automatycznym" konwertowaniem).
> jest to troche problematyczne ale nawet juz
> int(float) jest podobnie problematyczne (4ry
> tryby zaokraglania, nawet +(int, int) ma
> wiecej niz jedna wersje - nalezy pomyslec co
> mozna z tym zrobic (ja bym chcial zeby to bylo
> wygodne i konfigurowalne )
To że coś jest problemem dla Ciebie, nie znaczy że w ogólności jest
problemem :D Nie wymagaj od języka programowania, aby rozwiązywał za
Ciebie problemy, z którymi akurat Ty JESZCZE nie umiesz sobie
skutecznie poradzić. Wszystko o czym piszesz jest banalnie proste do
zrealizowania w C++ ale... po prostu trzeba się nauczyć skutecznego
używania języka w jakim programujesz. Innej opcji nie ma (a już
najgorsze co można zrobić, to "zepsuć" język i "odciąć" możliwość
własnego definiowania konwersji typów tylko dlatego, że ktoś chciałby
mieć automat działający w jeden konkretny sposób :D).
> druga rzecz to podzial funkcji na zewnetrzne
> (biblioteczne) i wewnetrzne (intrinsincowe, o ile
> tak mozna nazwac) te odpowiadajace zwyklym operatorom matematycznych sa tez
funkcjami
> tylko wewnetrznymi, imo takie podstawowe
> konwersje tez powinny nalezec do tej kategorii
> (w sumie troche odrebna sprawa czy te wewnetrzne
> tez dostawczac w formie dolaczanej biblioteki czy
> nie - ale podzial na te dwie kategorie uwazam
> za istotny i mz konwersja ciag <-> int/double
> raczej powinna miec status intrinsincowego
> operatora)
Zapewniam Cię, że taki język jak C++ nie ma ani jednej funkcji
"wewnętrznej", wszystkie funkcje są albo zdefiniowane przez
programistę, albo przez biblioteki. Język natomiast (pomijam
bibliotekę standardową) definiuje podstawowe typy (nie klasy!) danych
oraz podstawowe operatory dla tych typów (i tak być musi, bo typy
wbudowane nie są klasami).
Jeśli potrzebujesz lepszej funkcjonalności dla typu wbudowanego
char[], to zwyczajnie zastosuj KLASĘ 'string', albo zdefiniuj swoją
klasę pochodną od string i zdefiniuj w niej rzutowanie z inta i... po
sprawie (wrzuć to w swoją bibliotekę i używaj we wszystkich pisanych
przez siebie programach, jak potrzebujesz wydajności, to zrób wszystko
na 'inline'). Idea obiektowości jest taka, że definiujesz klasę raz, a
używasz jej wszędzie w różnych kontekstach. To jest proste jeśli się
włoży nieco wysiłku w naukę języka i oferowanych przez niego
możliwości.
Ty chcesz aby konstrukcja char* A = 1235; powodowała wpisanie pod
adres A napisu "1235" podczas gdy ja chcę, aby oznaczało to "od tego
momentu zmienna A wskazuje na komórkę pamięci o adresie 1235". Ty
chcesz zmiany semantyki języka bo nie umiesz (lub nie chce Ci się)
napisać prostego rzutowania jednocześnie eliminując z języka
mechanizm tylko dlatego, że w chwili obecnej z niego nie korzystasz :D
Nie idę na układ ograniczania funkcjonalności języka tylko dlatego, że
"ktoś ma z czymś problem" :D
Następne wpisy z tego wątku
- 21.10.12 10:07 kenobi
- 21.10.12 17:29 Baranosiu
- 22.10.12 08:18 Adam Wysocki
- 22.10.12 08:31 Adam Wysocki
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-30 Moduł BT BLE 5.0
- 2024-12-30 Łódź => Application Security Engineer <=
- 2024-12-30 Lublin => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-30 Nowy Outlander PHEV w PL
- 2024-12-30 Warszawa => Key Account Manager <=
- 2024-12-30 Katowice => Key Account Manager (ERP) <=
- 2024-12-28 Śmiechu KOOOOOOPA ;-)
- 2024-12-29 Pomiar amplitudy w zegarku mechanicznym
- 2024-12-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=
- 2024-12-28 Warszawa => Programista Full Stack .Net <=
- 2024-12-28 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S