CodeBlanks Logo Icon CodeBlanks

using

using ile namespace içe aktarmayı öğrenirsin.

using ile içe aktarma

Her çağrıda ad::öğe yazmak bazen uzundur. using direktifi bir ad alanındaki tüm isimleri tek seferde kullanılabilir kılar.

using namespace math;
int n = add(2, 3);  // math:: gerekmez

Burada using namespace math satırından sonra add doğrudan çağrılabilir. Bu, küçük programlarda pratik olabilir; ancak büyük projelerde ad çakışmalarına yol açabileceği için dikkatli kullanılır.

using'in riskleri

using namespace kullanışlı olsa da riskleri vardır. İki ad alanı aynı isimli işlev içeriyorsa hangisinin çağrılacağı belirsizleşir; bu da derleme hatasına yol açar.

Bu yüzden büyük projelerde genellikle using namespace kullanmaktan kaçınılır; bunun yerine std::cout gibi tam adlar tercih edilir. Başlık dosyalarında using yazmak ise neredeyse her zaman yanlış bir uygulamadır; çünkü bu dosyayı içeren herkes ad alanını otomatik olarak içe aktarmış olur.

Uygulama using ile add'i çağır

namespace math { int add(int a, int b) { return a + b; } } tanımla. main içinde önce using namespace math; yaz, sonra int n = add(4, 5); ile çağır. cout << n << endl; ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
using namespace std;

// math ad alanını tanımla

int main() {
    // using ile içe aktar, add'i çağır ve yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
using namespace std;

namespace math {
    int add(int a, int b) {
        return a + b;
    }
}

int main() {
    using namespace math;
    int n = add(4, 5);
    cout << n << endl;
    return 0;
}

Beklenen çıktı

9

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Boşluğu doldur: using direktifi

Soru
using ____ math;
int n = add(2, 3);
Cevap
using namespace math;
int n = add(2, 3);

Açıklama: using namespace math ad alanını içe aktarır.

2 using namespace sonrası add(2,3) nasıl çağrılır?

  • math::add(2,3)
  • namespace::add(2,3)
  • math.add(2,3)
  • add(2,3) Doğru cevap

Açıklama: using sonrası doğrudan add(2,3) yazılır.

3 İfadeyi sonuçuyla eşleştir

Kavram Anlamı
using namespace math içe aktarır
math::add tam ad ile çağrı
using namespace std std'yi içe aktarır

Başlangıç bölümündeki tüm dersler