ucze sie od kilku dni nowego jezyka programowania: c++. nowego dla mnie, nie w ogole ;) jest wzglednie prosty do nauczenia, przynajmniej podstawy. podejrzewam ze bardziej zaawansowane rzeczy beda mniej proste. ale to szczegol.

jestem do przodu o to, ze znam calkiem niezle php. skladniowo sa bardzo podobne, choc sa znaczne roznice miejscami. ostatnio zacielem sie na funkcji sprintf(). w php zwraca ona nowy obiekt:

$a = sprintf("tresc %d cos %s tralala", 5, "tam; ");
echo $a;

zwroci nam:

tresc 5 cos tam; tralala

natomiast w c++ sprintf dziala przez referencje:

char bufor[256];
sprintf(bufor, "2 * %d = %d", 5, 10);

spowoduje ze zawartoscia zmiennej bufor bedzie ciag znakow (a dokladniej tablica znakow): 2 * 5 = 10. jako, ze w miejscu w ktorym ucze sie c++ nie mam dostepu do netu, zajelo mi dojscie do tego blisko godzine… ale sie udalo ;). notabene, uwagi wyrzucane przez kompilator sa jak dla mnie, na ta chwile, malo zrozumiale. moze kiedys to sie zmieni ;)

notabene, uzycie sprintf() jest najprostsza metoda do przekonwertowania zmiennej typu liczbowego (integer, float etc) na ciag znakow. uzycie:

char bufor[5];
sprintf(bufor, “%d”, 567);

spowoduje to ze zmienna buforbedzie zawierac napis (tablice znakow) "567".

moze ktos napisac, ze przeciez jest funkcja w stdlib.h itoa(). owszem, jest, ale:

  1. jest rownie niewygodna w uzyciu co sprintf() (a nawet ciut bardziej);
  2. nie nalezy do standardu ansi c++, co oznacza, ze np pod linuksem nie jest ona dostepna.

co jak dla mnie powoduje nieistnienie jej (czyli funkcji itoa()).

c++ spodobalo mi sie w miare takze dlatego, ze do tej pory sadzilem (blednie oczywiscie) ze tak jak w c, trzeba recznie deklarowac dlugosci stringow (konkretnie wymiarow tablic znakowych), pilnowac sie zeby po utworzeniu tablicy nie przekroczyc jej zakresu etc. ale w c++ zostala wprowadzona zarowno obsluga typu string (#include <string>), jak i vectorow, list, stosow (stack) jak i wielu innych usprawniaczy. no i oczywiscie mozliwosc programowania obiektowego… :)


Liczba komentarzy: 4

  1. 1 Był czwartek, 29 wrzesień 2005 roku gdy o godzinie 02:13 przyszedł ramzes i stwierdził:

    “jako, ze w miejscu w ktorym ucze sie c++ nie mam dostepu do netu…”
    Niech zgadne - nie jest to zapewne kibel, nie jest to przystanek autobusowy, nie jest to kino… czyzbys uczyl sie jezyka C++ w pracy ?? ;)
    Shame on you :)

  2. 2 Był czwartek, 29 wrzesień 2005 roku gdy o godzinie 08:02 przyszedł MySZ i stwierdził:

    w pracy ? nie. chwilowo poza zlecenieami nie mam pracy. tymczasowo ucze sie w wiezieniu :)

  3. 3 Był czwartek, 29 wrzesień 2005 roku gdy o godzinie 11:29 przyszedł mikołaj i stwierdził:

    Wiedziałem, że kiedyś tam skończysz, nie wiedziałem tylko, kiedy to nastąpi ;)

  4. 4 Był czwartek, 29 wrzesień 2005 roku gdy o godzinie 13:33 przyszedł MySZ i stwierdził:

    @Mikolaj: ja tutaj jestem od 1.03.2005 :) czyli troszke minelo… zostalo mniej niz rok :) dokladna liczba dni w menu po prawej ;)

A Ty? Co o tym myślisz?

Możesz używać w komentarzach następujących znaczników:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Sblam! Antyspam