[C++] program zamieniający tekst na pisany wielkimi literami

Awatar użytkownika
Quaerens
Użytkownik
Użytkownik
Posty: 2489
Rejestracja: 5 wrz 2007, o 13:36
Płeć: Mężczyzna
Podziękował: 439 razy
Pomógł: 181 razy

[C++] program zamieniający tekst na pisany wielkimi literami

Post autor: Quaerens »

C czy C++? No rzeczywiście jak ktoś dobrze napisał co kto lubi z tym. Chodź jakbym miał wypisywać różnicę to naprawdę wiele by mi to tutaj zajęło...
void_t
Użytkownik
Użytkownik
Posty: 103
Rejestracja: 14 maja 2011, o 18:25
Płeć: Mężczyzna
Pomógł: 26 razy

[C++] program zamieniający tekst na pisany wielkimi literami

Post autor: void_t »

soku11:
Tłumaczę kodem autora? Przyjąłem, że autor nie chciał pobierać więcej niż ustaloną, statyczną ilość znaków.

Well, trudno zdefiniować zmienną w pętli w C bez trybu c99/std99 w gcc

Przykład aplikacji korzystających z wydajniejszych i nieprzenośnych wstawek z asma? Jasne: gmp, silniki 3d - SSE (chociaż tutaj akurat jest wybór pomiędzy inline assemby a wbudowanymi funkcjami udostepnianymi w headerze xmmintrin.h).

Iteratory? Przyznaję - napisałem to akurat niepotrzebnie.

Pytasz o kruczki składniowe? Proszę uprzejmie: ... -languages
abc666

[C++] program zamieniający tekst na pisany wielkimi literami

Post autor: abc666 »

Taaa
You have to manually allocate and deallocate memory.
Hahaha

Zresztą nie wiem czy czytałeś co tam jest pod tym linkiem bo w najwyżej ocenionej odpowiedzi ma w sobie masę prawdy. C++ używasz do innych rzeczy. Są pewne problemy, które lepiej rozwiązać w C, niektóre w C++, niektóre w javie. Są też takie, które najlepiej zrobić w LABview (:D).
A co do kruczków. Jeśli język jest tak rozbudowany składniowo to nie da się ich uniknąć. Ale np. zaliczanie do kruczków sięgnięcia poza tablicę? No bez przesady.
adambak
Użytkownik
Użytkownik
Posty: 1272
Rejestracja: 8 sty 2011, o 18:18
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 295 razy
Pomógł: 115 razy

[C++] program zamieniający tekst na pisany wielkimi literami

Post autor: adambak »

void_t pisze:Mam na myśli, że C jest bardziej użyteczny, prostszy
ojjj nie.. C++ jest bardziej użyteczny, prostszy, ogromnym plusem jest STL i w zawodach programistycznych nie ma sobie równych..

a co do tematu - czy nie jest śmieszne pisać o wydajności algorytmu, kiedy mamy do czynienia z takim problemem?
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

[C++] program zamieniający tekst na pisany wielkimi literami

Post autor: soku11 »

void_t pisze:soku11:
Well, trudno zdefiniować zmienną w pętli w C bez trybu c99/std99 w gcc
Well, trudno załączać biblioteki C++ w C. Korzystasz z iostreams itd, więc kod jest w C++. Nie wiem co ma to tego standard C99.
void_t pisze:soku11:
Przykład aplikacji korzystających z wydajniejszych i nieprzenośnych wstawek z asma? Jasne: gmp, silniki 3d - SSE (chociaż tutaj akurat jest wybór pomiędzy inline assemby a wbudowanymi funkcjami udostepnianymi w headerze xmmintrin.h).
To zupełnie inna bajka. Zresztą nawet w shaderach odeszło się już w zupełności od asma kart graficznych na rzecz języków w stylu HLSL. I tak naprawdę to wątpię, żeby w popularnych silnikach używano wstawek. Chyba że w jakichś raytracerach (które tak czy siak są przeważnie wolne). Ogólnie dużo większym problemem w dziedzinie silników 3D są czasy dostępu do pamięci (cache miss etc). Pisze się mimo wszystko w C++ bardziej strukturalnie, żeby zminimalizować narzut vtable i innych wirtualnych tworów. Wniosek z tego taki, że jednak to C++ coś w sobie ma...



Co do linka:
W C++ używa się wektorów i innych tworów z STL. Tablice C-style jak sama nazwa wskazuje wynikają z kompatybilności z językiem C (jak dla mnie niepotrzebnie). Język C++ jest blisko asma więc niektóre rzeczy muszą być typu UB. Jak komuś nie pasuje takie coś to się przesiada na języki z kodem pośrednim czyli np. Javę czy C#. Mnie najbardziej denerwuje w C++ (i C zarazem) całe zamieszanie z nagłówkami. Ileż to trzeba się namęczyć by nadodawać pragma once, forward declaration i cykliczne dołączanie plików. Brak mi również czegoś na miarę JUnit oraz sensownego raportowania błędów w przypadku szablonów.
Mimo wszystko nie ma tam ani słowa o weloznacznościach i kruczkach składniowych poza i++ ++i itd. Ogólnie to z tego co widzę to twoje podejście dobrze opisuje ten obrazek:
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C++] program zamieniający tekst na pisany wielkimi literami

Post autor: Afish »

void_t pisze:

Kod: Zaznacz cały

const char d = 'A' - 'a';
Przecież to i tak zawsze wynosi 0x20.
Nie zawsze. To zależy od kodowania znaków stosowanego przez kompilator. Nie tylko ASCII człowiek żyje.
ODPOWIEDZ