Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Ostatnio nurtuje mnie problem.

 

A mianowicie chodzi o znak średnika po klamrze "}"

 

 

To jest ukryta treść, proszę

 

To jest ukryta treść, proszę

 

Obie wersje się kompilują i działają ( tak mi się przynajmiej wydaje).

 

Czy móglby mi ktoś wytłumaczyc różnice między tymi dwoma zapisami ?

 

Sczerze mówiąc odkryłem to przypadkiem gdy późnym wieczorem pisałem kod.

Rankiem patrze i już myśle "WTF", ale zaraz, przecież się kompiluje mimo że uczyłem się

że po tej klamrze żadnych średników się nie daje.

 

Korzystam z kompilatora g++.

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

To jest ukryta treść, proszę

Też się kompiluje, średniki to znak dla analizatora leksykalnego. Możesz dawać je po klamrach, nawiasach i innych średnikach(wyjątek pętla for) do woli, po prostu będzie się dłużej kompilować.

RAsfepN.png
Opublikowano

Średniki oddzielają kolejne instrukcje.

 

Nawiasy klamrowe oddzielają bloki instrukcji.

 

Jeśli wsadzisz tam średnik, to po przekompilowaniu bloku instrukcji, do głównego wątku zostanie dodana pusta instrukcja.

 

Kompilować może i będzie się dłużej, ale kod wyjściowy powinien być dokładnie taki sam (choć to pewnie zależy od kompilatora. Pewnie kiedzđ ktoś napisał dobre pięć stron dokumentacji ISO na temat poprawnego traktowania pustych instrukcji).

Ta sygnatura jest pusta.

×
×
  • Dodaj nową pozycję...