-
Notifications
You must be signed in to change notification settings - Fork 0
/
05 - İsim Uzayları.cpp
68 lines (52 loc) · 2.42 KB
/
05 - İsim Uzayları.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// isim uzayları (namespace)
#include <iostream>
using namespace std; // std: standart isim uzayı
/*
Programlama yaparken değişkenler kullanıyoruz.
Global ve Yerel değişkenler olmak üzere
Global değişkenlere programımızın herhangi bir yerinden erişebilirken
Yerel değişkenlere sadece tanımlı olduğu bloktan erişebiliyorduk.
Burada işte bu bloğa artık SCOPE adı verilecektir.
---------------------------------------------------------------------------------------------
İSİM UZAYI KONUSU
Fonksiyon oluşturmadan bir scope yaratmak istersek buna isim uzayı denir.
İsim uzayları ile değişkenler tanımlandığı gibi, fonksiyonlar da tanımlanabilir.
İsim uzayları birden fazla programcının ortak bir projede çalışırken, tanımlı değişken adları
veya fonksiyonların isim aynılığı nedeniyle programın hata vermesinin önüne geçmek için de oldukça
kullanışlıdır.
bir örnek ile ne demek istediğimizi açıklayalım.
---------------------------------------------------------------------------------------------
*/
namespace programci1{
int x = 25;
void Bir(){ // Bir adında void fonksiyonu
int x = 10;
cout << x <<endl;
}
}
namespace programci2{
int x = 25;
void Bir(){ // Bir adında void fonksiyonu
int x = 10;
cout << x <<endl;
}
}
int main() {
int x = 10;
cout << x << endl;
/*
Yukarıdaki örnekte main içerisine tanımlanan x iafesi ekrana yazdırılır.
Yukarıdaki programcıların oluşturduğu "x" değişkeni ile herhangi bir çakışma meydana gelmemiştir.
Ancak int x = 10 ifadesini main içerisinde kaldırırsak. Programımız hata verecektir.
"x" değişkenini bulamayacaktır.
*/
cout << programci1::x << endl; // :: ifadesi ile namespace'den çağırdık.
cout << programci2::x << endl;
programci1::Bir(); // programci1'in içerisinde yer aklan "Bir" isimli void fonksiyonunu çağırdık.
programci2::Bir(); // programci2'in içerisinde yer aklan "Bir" isimli void fonksiyonunu çağırdık.
/*
Yukarıda da görüldüğü gibi "Bir" isimli fonksiyonlar farklı programcılar tarafından oluşturulmuştur.
Aynı isime sahip olmalarına karşın, sorunsuz bir şekilde kullanabildik.
*/
return 0;
}