eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingcoś lajtowego - konsolaRe: coś lajtowego - konsola
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: