-
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
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
Najnowsze wątki
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Pieniadze-cuchna-oddechem-nawalonego-tatusia
- 2025-12-31 Iran na skraju gospodarczego upadku. Na ulicach Teheranu (znów) wrze. To może być cios dla reżimu
- 2025-12-30 zasilacz
- 2025-12-30 Teraz System Plików PFS z sys. op. Amiga OS będziesz mógł zamontować pod sys. op. Linuks i Jabłoko Makintosz
- 2025-12-30 Aeor2 i ciągły internet 512kb




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]