Udostępnij za pośrednictwem


Konwencje biblioteki C++

Biblioteka języka C++ przestrzega dużo tych samych konwencji co standardowa biblioteka języka C, a także kilka opisane tutaj.

Implementacja ma pewne szerokości geograficznej w jak deklaruje typy i funkcje w bibliotece C++:

  • Nazwy funkcji C standardowej biblioteki może mieć extern #"C++" lub extern "C" powiązania.Dołączyć odpowiedni nagłówek standardowy C, zamiast deklarować inline jednostki biblioteki.

  • Nazwa funkcji Członkowskich w klasie biblioteki mogą mieć dodatkową funkcję podpisów przez te wymienione w niniejszym dokumencie.Można upewnić się, że wywołanie funkcji opisanych tu działa zgodnie z oczekiwaniami, ale niezawodnie nie można uzyskać adresu funkcji członka biblioteki. (Typ może nie być oczekiwań).

  • Klasa biblioteka może mieć klas podstawowych nieudokumentowane (niewirtualne).Klasa udokumentowane zaczerpniętej z innej klasy może w rzeczywistości pochodzić z tej klasy za pomocą innych nielegalnych klas.

  • Typ zdefiniowany jako synonim dla pewnego typu Liczba całkowita może być taka sama, jako jeden z kilku typów różnych integer.

  • Typ maski bitów może być wykonany jako typ integer lub wyliczenia.W obu przypadkach można wykonywać operacje bitowe (takie jak AND i OR) o wartości tego samego typu maski bitów.Elementy A i B typu masek bitowych są niezerowe wartości takie, że A&B wynosi zero.

  • Funkcji biblioteki, która ma bez określenia wyjątków może wyjątek dowolnego, chyba że jego definicji wyraźnie ogranicza taką możliwość.

Z drugiej strony istnieją pewne ograniczenia:

  • Standardowa biblioteka języka C używa żadne makra maskowania.Tylko określone funkcje podpisów są zarezerwowane, nie nazwy funkcji, sami.

  • Nazwa funkcji biblioteki poza klasą nie mają funkcji dodatkowych, nieudokumentowane, podpisy.Mogą Państwo niezawodnie jego adres.

  • Klasy podstawowe i opisane jako wirtualnego funkcji elementów członkowskich są zapewne wirtualnych przy są opisane jako niewirtualne zapewne niewirtualne.

  • Dwa typy zdefiniowane przez biblioteka języka C++ zawsze są różne, chyba że dokument ten wyraźnie sugeruje inaczej.

  • Funkcje dostarczane przez bibliotekę, łącznie z wersjami domyślne funkcji wymienne, można rzucić co najwyżej tych wyjątków wymienionych w specyfikacji żadnych wyjątków.Nie destruktorów dostarczonych przez bibliotekę generują wyjątki.Funkcje biblioteki standardowej C może propagować wyjątek, jak wtedy, gdy qsort wywołania funkcji porównania, która zgłasza wyjątek, ale one inaczej nie generują wyjątki.

Zobacz też

Informacje

Standardowa biblioteka C++ — Przegląd

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