Wpis z mikrobloga

@zwei: zresztą deklaracja funkcji musi określać typ parametrów w C++, nie defaultuje się do inta jak w C, więc podwójna nieprawda.
  • Odpowiedz
@zwei: Doszedłem do wniosku, że na bank ktoś się dopierdzieli i będę musiał tłumaczyć. A nie chcę tłumaczyć, więc usunąłem wpis. Ale nie zdążyłem.

W komentarzu napisałem, że drugie to deklaracja funkcji.

#include
struct
  • Odpowiedz
@NevilX: xD no luz.

Nikt nie powiedział, że te dwie rzeczy podane przez OPa występują obok siebie, ani że value to nie może być typ.


Niby tak, ale z kontekstu wynika, o co chodzi. Więc to nie ja się dopierdzielam tutaj w sumie. Znaczy ja też, ale nie ja zacząłem.
  • Odpowiedz
@C10H15N: drugi przypadek może być "The most vexing parse" o ile value jest typem.

Pomijając powyższe, różnica jest taka, że kompilator nie wykona niejawnego rzutowania:

int d(1.0); // Ok
int e{2.0}; // To się nie skompiluje (dla -std=c++1x)
  • Odpowiedz
@C10H15N: Niestety, język C++ zawiera trochę ciemnych zakamarków. Usilnie próbują być naprawiane, a wychodzi.... jeszcze gorzej.

Jednym z takich zakamarków jest inicjalizacja zmiennych. Jedną zmienną można inicjalizować na baaaardzo wiele sposobów (stanowczo zbyt wiele). U ciebie, oba zapisy są równoważne.

W twoim kodzie masz dwa różne sposoby inicjalizacji, które zrobią dokładnie to samo - wywołają konstruktor przyjmujący typ
b.....n - @C10H15N: Niestety, język C++ zawiera trochę ciemnych zakamarków. Usilnie p...

źródło: comment_lhgh1tCp4yvU1u2DoPKfuq37xdTQ7TL4.gif

Pobierz
  • Odpowiedz