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 cin
baş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 std
alanı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ındastd
da 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ı abort
yapmak 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