Dopiero co zauważyłem, że moje programy używające klasy ciągów kompilowały się bez nagłówka <string>
. Okazuje się, że <iostream>
obejmuje <ios_base>
, która z kolei obejmuje <string>
.powinienem dołączyć nagłówek, który jest już zawarty w innych nagłówkach?
Czy to jest zła praktyka i czy powinienem wyraźnie zawrzeć <string>
? Nawet jeśli to tylko kwestia jasności?
Czy można bezpiecznie założyć, że dotyczy to nie tylko nagłówka <string>
? Być może jest to implementacja specyficzna i czy standard podaje nagłówek <string>
za pośrednictwem <ios_base>
i <iostream>
? Zapewnienie, że każda szanowana i szeroko stosowana implementacja zawsze będzie zawierała <string>
, pod warunkiem, że istnieje połączenie z <iostream>
.
http://en.wikipedia.org/wiki/Incl ude_guard. Standardowa biblioteka je posiada. – Dragontamer5788
To całkiem wygodne, ponieważ nie zostałem wprowadzony do tej funkcji. Dzięki. – aLostMonkey