TheAny
Megapat
- Katılım
- 18 Aralık 2018
- Mesajlar
- 7.741
- Makaleler
- 13
- Çözümler
- 105
Bu tarz şeyler alışkanlık edilir. Namespaceleri böyle yazmaya alışması, global namespace tanımlamaya alışmasından iyidir. Altı üstü std:: yazmak sana 1 saniye bile kaybettirmez. Ayrıca hata demiyorum. Bad practice diyorum. Hata ve kötü alışkanlık arasındaki farkı da öğrenmen lazım.Ne anlatıyorsun moruk sen? Adam HelloWorld yazıyor. Belli ki yeni başlamış kodlama öğrenmeye. Gelmişsiniz burda globalde namespace tanımlamak hata diyorsunuz. Hadi ya ciddi misiniz siz . Bir de abicim falan demişsin. Abicin yesin seni .
Okulumdaki C ve C++ derslerini veren hocam tahtada bile yazarken ısrarla std yazardı. Bizde verdiği ödevlerde eğer
using namespace std;
kullanırsak puan kırardı ödevden. Sınavda da aynı şekilde. Sınavda kağıda yazmamıza rağmen size 2 saniye kaybettirir ve ben o kaybedeceğiniz 2 saniyeyi hesaplayarak sınav hazırladım der puan kırardı global tanımladığımızda. Bunun arkasındaki sebep bizim using namespace xxx
; alışkanlığı edinmemizi engellemek. Eğer namespace çok uzunsa şunu yapabiliyorsun; namespace kisaad = asiri_uzun_namespace_adi;
C++:
#include <iostream>
//Bu sekilde nested namespace bir C++ 17 özelliği
namespace asiri_uzun_namespace_adi::asiri_uzun_namespace_uyesi {
int uye_fonksiyon(int a, int b) {
return a + b;
}
}
//Cpp14 ve önceki sürümler için
namespace c14_asiri_uzun_namespace_adi {
namespace asiri_uzun_namespace_uyesi {
int uye_fonksiyon(int a, int b) {
return a + b;
}
}
}
//namespace alias
namespace kisaad = asiri_uzun_namespace_adi::asiri_uzun_namespace_uyesi;
//cpp14 namespace alias
namespace c14kisaad = c14_asiri_uzun_namespace_adi::asiri_uzun_namespace_uyesi;
int main(int argc, char *argv[]) {
std::cout << kisaad::uye_fonksiyon(3, 5);
return 0;
}
Son düzenleme: