Udostępnij za pośrednictwem


Korzystanie z nagłówków biblioteki C++

Należy dołączyć zawartość standardowego nagłówka, nadając mu nazwę w dyrektywa include.

#include <iostream>   // include I/O facilities

Standardowych nagłówków można umieścić w dowolnej kolejności, standardowy nagłówek więcej niż jeden raz lub dwa lub więcej standardowych nagłówków, definiujące samego makro lub tego samego typu.Nie należy dołączać standardowy nagłówek w deklaracji.Nie definiują makra, które mają takie same nazwy jak słowa kluczowe przed dołączeniem standardowy nagłówek.

Nagłówka Biblioteka języka C++ obejmuje wszelkie inne nagłówki biblioteki C++ musi określać typy potrzebne domen. (Zawsze są jawnie żadnych nagłówków biblioteka języka C++, które są potrzebne w jednostce tłumaczenia, jednak co najmniej źle o jego rzeczywistej zależności). Nagłówek standardowy C nigdy nie zawiera inny standardowy nagłówek.Standardowy nagłówek deklaruje lub definiuje tylko jednostki opisane dla niego w tym dokumencie.

Każda funkcja w bibliotece jest zadeklarowany w standardowy nagłówek.W przeciwieństwie do standardowych c standardowy nagłówek nigdy nie podano maskowania makro o tej samej nazwie, jak funkcja, która maskuje deklaracji funkcji i osiąga ten sam efekt.Aby uzyskać więcej informacji na temat maskowania makr, zobacz Konwencje biblioteki C++.

Wszystkie nazwy innych niż operator delete i operator new w bibliotece C++ nagłówki są zdefiniowane w std obszar nazw, lub w obszarze nazw zagnieżdżony w std obszaru nazw.Odwołanie do nazwy cin, na przykład jako std::cin.Należy jednak zauważyć, że nazwy makr nie podlegają kwalifikacji obszaru nazw, więc zawsze pisać __STD_COMPLEX bez kwalifikator obszaru nazw.

W niektórych środowiskach tłumaczenia, łącznie z nagłówka Biblioteka języka C++ może Wózek nośny zewnętrznych nazw zadeklarowane w std obszaru nazw w globalnym obszarze nazw jak również z poszczególnymi using deklaracje dla każdej nazwy.W przeciwnym razie, czy nagłówek nie wprowadzić wszelkie nazwy biblioteki do bieżącego obszaru nazw.

C++ Standard wymaga, aby C standardowych nagłówków stwierdzenie wszystkich zewnętrznych nazw w obszarze nazw std, podnieś je w globalnej przestrzeni nazw z osobna using deklaracje dla każdej nazwy.Jednak w niektórych środowiskach tłumaczenia standardowy C nagłówki zawierać nie deklaracje przestrzeni nazw, deklarując wszystkie nazwy bezpośrednio w globalnej przestrzeni nazw.Tak więc większość przenośnych sposobem radzenia sobie z obszarów nazw jest przestrzegać dwóch reguł:

  • Aby zadeklarować zapewne w obszarze nazw std nazw zewnętrznych, które tradycyjnie są zadeklarowane w <stdlib.h>, na przykład, zawierać nagłówek <cstdlib>.Wiem, że nazwa może być także zadeklarowana w globalnej przestrzeni nazw.

  • Zapewne oświadczyć w globalnej przestrzeni nazw zewnętrzną nazwę zadeklarowane w <stdlib.h>, dołączyć nagłówek <stdlib.h> bezpośrednio.Wiem, że nazwa może być także zadeklarowana w obszarze nazw std.

Tak więc jeśli chcesz wywołać std::abort spowodować nieprawidłowe zakończenie, należy uwzględnić <cstdlib>.Jeśli chcesz wywołać abort, powinny obejmować <stdlib.h>.

Alternatywnie można napisać deklaracji:

using namespace std;

wszystkie nazwy biblioteki co prowadzi do bieżącego obszaru nazw.Jeśli piszesz deklaracja ta niezwłocznie po wszystkich zawiera dyrektywy, Wózek nośny nazwy w globalnej przestrzeni nazw.Następnie można zignorować uwagi dotyczące nazw w pozostałej części jednostki tłumaczenia.Również unikać większość różnic w środowiskach inne tłumaczenie.

O ile nie postanowiono inaczej, nie mogą określić nazwy w std obszar nazw, lub w obszarze nazw zagnieżdżony w std obszar nazw w programie.

Zobacz też

Informacje

Standardowa biblioteka C++ — Przegląd

Bezpieczeństwo wątku w standardowej bibliotece C++