Dlaczego tak zapisany został kod?

Odpowiedz Nowy wątek
2016-04-11 22:09
0

Dziś spotkałem się z takim zapisem:

#include <string>
#include <iostream>
#include <ostream>
int main()
{
    std::string message ("Howdy\n");
    std::cout << message;
}

Czemu nie tak:

#include <iostream>

int main()
{
    std::cout << "Howdy";
    return 0;
}

I dlaczego w pierwszym przykładzie brak return 0?


In progress: C++ || Asm

Pozostało 580 znaków

2016-04-11 22:12
0

Nie trzeba return edit. To sie tyczy tylko funacji main. A dlaczego tak? Bo ktoś chciał tak napisać

edytowany 1x, ostatnio: Dregorio, 2016-04-11 22:13

Pozostało 580 znaków

2016-04-11 22:13
2

Bo C++ lubi takie "specjalne przypadki" :P Generalnie dobrą praktyką jest dawać return jeśli funkcja ma coś zwrócić.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2016-04-11 22:17
0

Ma to jakieś głębsze programistyczne znaczenie, czy po prostu ktoś tak sobie napisał, aby było?


In progress: C++ || Asm

Pozostało 580 znaków

2016-04-11 22:21
kq
3

Tak to jest zdefiniowane w standardzie. Nie ma specjalnego znaczenia.


Pozostało 580 znaków

2016-04-11 22:22
0

Pewnie chodzi o to, by było krótsze "Hello World" i programiści C++ mogli się napinać.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2016-04-11 22:24
0

@kq zakładając, że idę do pracy i dostaję do napisania program wyświetlający tekst (taki przykład jedynie ;)) to poprawniej będzie napisać to z punktu standardu według napisanego kodu czy tego napisanego przeze mnie?


In progress: C++ || Asm

Pozostało 580 znaków

2016-04-11 22:27
kq

Bez znaczenia. Co prawda utworzenie dodatkowej zmiennej (a co za tym idzie alokacja i dealokacja pamięci, chyba, że masz SSO) w tym przypadku jest zbyteczne, ale nie zawsze.

Aha, ja bym jeszcze zganił za spację przed nawiasem - co to za dziwna praktyka?


Kod przepisałem w postaci zamieszczonej przez autora. - PrzemolPrzemol 2016-04-11 22:29
No to bym zganił autora ;) - kq 2016-04-11 22:30

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0