[C++] Funkcje z języka C a przestrzeń nazw std
Ostatnio zmodyfikowano 2014-11-25 22:09
amilkwes Temat założony przez niniejszego użytkownika |
[C++] Funkcje z języka C a przestrzeń nazw std » 2014-11-24 23:39:19 W momencie inkludowania #include <cstring> mogę używać funkcji memset w postaci std::memset oraz memset . Która wersja jest zgoda ze standardem? W momencie inkludowania #include <string.h> działa tylko wersja bez przestrzeni nazw (co wydaje się logiczne). Ciekawi mnie natomiast wspomniana wyżej kwestia używania std . Czy obowiązkowe z punktu widzenia standardu jest poprzedzanie funkcji z C przestrzenią nazw? |
|
Monika90 |
» 2014-11-25 00:14:51 #include <cstring> gwarantuje, że funkcje z biblioteki C będą dostępne w przestrzeni std, mogą (ale nie muszą) być też dostępne w globalnej przestrzni nazw.
Przy #include <string.h> jest odwrotnie: na pewno będą dostępne w globalnej, a być może też w std.
Dodam, że wszystkie nagłówki standardowe .h są deprecated, to znaczy komitet standaryzacyjny ISO uważa, że nie powinno się ich używać. |
|
amilkwes Temat założony przez niniejszego użytkownika |
» 2014-11-25 22:09:53 Dzięki, wszystko już jasne. |
|
« 1 » |