Dlaczego w C++ mają usunąć pustą instrukcję?

0

Pamiętam, że jakiś (niedawny) czas temu @_13th_Dragon (chyba) twierdził, że niedługo możliwość wstawiania nadmiarowych średników do kodu wyleci ze standardu. (obecnie nadmiarowe średniki produkują nopy) Problem w tym, że jakoś nie mogę znaleźć tego jego posta… inaczej pisałbym pod tym właśnie postem.

Jest jakieś uzasadnienie wyrzucania możliwości wstawiania nadmiarowych średników? Bo ta decyzja wydaje się wyrugowywać przydatne konstrukcje:

Jeśli/kiedy ten ficzer faktycznie wyleci, to takie konstrukcje będą rozumiem nieprawidłowe, tak?

for(int i;cośtam(i);++i);

Czy, o zgrozo, coś takiego:

while(cośtam)
{
  for(bla;bla;bla)
  {
    switch(ple)
    {
    case whatever:
      if(warunek)
        //jakiś kod
      else
        goto outtaLoop;
    //inne warunki
    }
  }
  outtaLoop:;
}

Czy może przewiduje się jakieś inne, nowe sposoby uzyskania tego samego efektu?

Można prosić o jakieś źródło na ten zamiar (wyrzucenia nopów)?

0

Nie chce mi się w to wierzyć. Nie wyrzuciliby pustych pojedynczych średników ze standardu, bo by zepsuli sporo istniejącego kodu.

Inną rzeczą są faktycznie nadmiarowe średniki, czyli coś takiego:

void foo()
{
   ;;;;
   bar();;;
}

czegoś takiego można by zakazać. ale też nie widzę powodu po co.

4

Co.

Nadmiarowe (i nie tylko!) średniki wewnątrz funkcji to empty statement. To było zawsze i jest konieczne.
Nadmiarowe średniki w innych miejscach to empty declaration (np. po funkcji). To dodano w C++11.

Nic mi nie wiadomo o tym, żeby mieli coś z tego usuwać. Pics or it didn't happen.

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