Aracılığıyla paylaş


C++ Kitaplığı Üstbilgilerini Kullanma

Standart üst bilginin içeriğini ekleme yönergesine adlandırarak eklersiniz.

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

Standart üst bilgileri herhangi bir sırada, bir kereden fazla standart üst bilgi veya aynı makroyu ya da aynı türü tanımlayan iki veya daha fazla standart üst bilgiyi ekleyebilirsiniz. Bildirime standart üst bilgi eklemeyin. Standart üst bilgi eklemeden önce anahtar sözcüklerle aynı adlara sahip makroları tanımlamayın.

C++ kitaplık üst bilgisi, gerekli türleri tanımlamak için ihtiyaç duyduğu diğer C++ kitaplık üst bilgilerini içerir. (Çeviri ünitesinde gerekli olan C++ kitaplık üst bilgilerini her zaman açıkça ekleyin; ancak gerçek bağımlılıkları hakkında yanlış tahminde bulunmanız gerekmez.) Standart C üst bilgisi hiçbir zaman başka bir standart üst bilgi içermez. Standart üst bilgi, yalnızca bu belgede bunun için açıklanan varlıkları bildirir veya tanımlar.

Kitaplıktaki her işlev standart bir üst bilgide bildirilir. Standart C'nin aksine, standart üst bilgi hiçbir zaman işlev bildirimini maskeleyen ve aynı etkiyi elde eden işlevle aynı ada sahip bir maskeleme makrosunda bulunmaz. Makroları maskeleme hakkında daha fazla bilgi için bkz . C++ Kitaplık Kuralları.

C++ kitaplık üst bilgileri dışındaki operator delete tüm operator new adlar ad alanında std veya ad alanının içinde std iç içe yerleştirilmiş bir ad alanında tanımlanır. adına cinbaşvurursunuz, örneğin, olarak std::cin. Ancak, makro adlarının ad alanı niteliğine tabi olmadığını, bu nedenle her zaman bir ad alanı niteleyicisi olmadan yazdığınıza __STD_COMPLEX dikkat edin.

C++ kitaplık üst bilgisi de dahil olmak üzere bazı çeviri ortamlarında ad alanında std bildirilen dış adları genel ad alanına da alabilir ve adların her biri için ayrı ayrı using bildirimler olabilir. Aksi takdirde, üst bilgi geçerli ad alanına herhangi bir kitaplık adı eklemez* .

C++ Standard, C Standard üst bilgilerinin ad stdalanında tüm dış adları bildirmesini gerektirir, ardından adların her biri için ayrı ayrı using bildirimlerle bunları genel ad alanında hoistler. Ancak bazı çeviri ortamlarında C Standard üst bilgileri ad alanı bildirimi içermez ve tüm adları doğrudan genel ad alanında bildirir. Bu nedenle, ad alanlarıyla başa çıkmanın en taşınabilir yolu iki kurala uymaktır:

  • Ad alanında std geleneksel olarak içinde <stdlib.h>bildirilen bir dış ad bildirmek için, örneğin üst bilgisini <cstdlib>ekleyin. Adın genel ad alanında da bildirilebileceğini bilin.

  • Genel ad alanında açıkça içinde bildirilen <stdlib.h>bir dış ad bildirmek için üst bilgiyi <stdlib.h> doğrudan ekleyin. Adın ad alanında stdda bildirilebileceğini bilin.

Bu nedenle, anormal sonlandırmaya neden olmak için çağrısı std::abort yapmak istiyorsanız, eklemeniz <cstdlib>gerekir. çağrısı abortyapmak istiyorsanız, öğesini de dahil <stdlib.h>etmelisiniz.

Alternatif olarak, bildirimi yazabilirsiniz:

using namespace std;

tüm kitaplık adlarını geçerli ad alanına getirir. Bu bildirimi tüm ekleme yönergelerinden hemen sonra yazarsanız, adları genel ad alanına hoistlarsınız. Daha sonra çeviri biriminin geri kalanında ad alanıyla ilgili dikkat edilmesi gerekenleri yoksayabilirsiniz. Ayrıca farklı çeviri ortamları arasındaki farkların çoğundan kaçınırsınız.

Aksi belirtilmediği sürece ad alanında std veya ad alanının içinde iç içe yerleştirilmiş bir ad alanında programınızın içinde std ad alanı tanımlayamayabilirsiniz.

Ayrıca bkz.

C++ Standart Kitaplığına Genel Bakış
C++ Standart Kitaplığında İş Parçacığı Güvenliği