ADL এর কারণে সাবলেটলি আলাদা সিমানটিক ছাড় করা হচ্ছে, আমার সাধারণত কীভাবে ব্যবহার করা উচিত using
এবং কেন? এটি কি পরিস্থিতি নির্ভর (যেমন শিরোনাম যা #include
ডি বনাম উত্স ফাইল যা হবে না)?
এছাড়াও, আমি পছন্দ করব ::std::
নাকি std::
?
নামস্থান স্তর
using namespace
:using namespace std; pair<string::const_iterator, string::const_iterator> f(const string &s) { return make_pair(s.begin(), s.end()); }
সম্পূর্ণরূপে সুস্পষ্ট:
std::pair<std::string::const_iterator, std::string::const_iterator> f(const std::string &s) { return std::make_pair(s.begin(), s.end()); }
নাম-স্তরের ব্যবহার-ঘোষণাগুলি:
using std::pair; using std::string; pair<string::const_iterator, string::const_iterator> f(const string &s) { return make_pair(s.begin(), s.end()); }
ফাংশন-স্থানীয় ব্যবহার-ঘোষণা:
std::pair<std::string::const_iterator, std::string::const_iterator> f(const std::string &s) { using std::make_pair; return make_pair(s.begin(), s.end()); }
ফাংশন-স্থানীয়
using namespace
:std::pair<std::string::const_iterator, std::string::const_iterator> f(const std::string &s) { using namespace std; return make_pair(s.begin(), s.end()); }
অন্যকিছু?
এটি প্রি-সি ++ ১৪ ধরে নিচ্ছে এবং এভাবে কোনও রিটার্ন-টাইপ-ছাড় ছাড় নয় auto
।
::std::
বনাম সম্পর্কে সম্পর্কে ভাবছি std::
।
std
যদিও দ্বিতীয় ছাড়া ব্যবহার করছি । একটি স্ট্যান্ডার্ড নেমস্পেস সংজ্ঞায়িত কেউ সমস্যার জন্য জিজ্ঞাসা করছে (এবং সম্ভবত সুবিধাটি পেতে সন্ধান করছেন যে বেশিরভাগ লোকেরা ব্যবহার করছেন std
এবং না ::std
)।