Witam szanownych kolegów z 4p - po prawie 7 latach od rozpoczęcia mojej działalności na 4p i ponad 3 latach od napisania ostatniego z ponad 3000 postów. Ciekawe, czy mnie ktoś tu jeszcze pamięta :-).
A już zwłaszcza tu, w C/C++ - bo wtedy pisałem w Delphi.
Tak czy owak, napisałem sobie w Delphi parę fajnych rzeczy, m.in. dzięki temu, czego nauczyłem się na 4p. Potem pisałem w nieco bardziej egzotycznych rzeczach, jak Matlab, czy języki skryptowe programów CED Spike2 i NBS Presentation.
A teraz na starość naszła mnie myśl, że głupio tak mało wiedzieć o C++. Więc sobie ściągnąłem frikowe Visual C++, ściągnąłem jakiegoś ebooka, wykopałem napisany bagatela 15 lat temu przez przyjaciela prawie 700-stronicowy podręcznik do Borland C++ i sobie przerabiam podstawy.
Będę tu wpadał z pytaniami :-)
Na dziś jedno proste. W ramach podstaw ebook zadał mi prościutkie zadanie: napisz odpowiednik funkcji strlen().
Napisałem, po czym sprawdziłem w odpowiedziach - była inna wersja. Obie najwyraźniej poprawne, ale ciekaw jestem opinii znawców: czy któraś jest zdecydowanie wydajniejsza, lub bardziej elegancka, czy też są to dwa całkowicie równoważne rozwiązania.
Kod z odpowiedzi:
int mystrlen2(char *str)
{
int i;
for(i=0; str[i]; i++);
return i;
}
Mój kod:
int mystrlen(char* str)
{
char* index=str;
while (*index)
index++;
return index-str;
}
pozdr, pq