এখানে আইএমওটি উল্লেখ করা দরকার যে মূল প্রশ্নটি (এবং দুর্দান্ত উত্তরগুলি) অবশ্যই কার্যকর যখন আপনি কোনও ফাংশনটির নাম পরিবর্তন করতে চান (এমন করার ভাল কারণ আছে!), আপনি যা করতে চান তা যদি একটি গভীর নামস্থান সরিয়ে ফেলা হয় তবে নামটি রাখুন, এর usingকীওয়ার্ডটি রয়েছে:
namespace deep {
namespace naming {
namespace convention {
void myFunction(int a, char b) {}
}
}
}
int main(void){
deep::naming::convention::myFunction(5, 'c');
using deep::naming::convention::myFunction;
myFunction(5, 'c');
}
আপনি সর্বদা এটি কোনও ফাইলের শীর্ষ স্তরে ব্যবহার করতে পারলেও এটি একটি সুযোগের মধ্যে সীমাবদ্ধ থাকার সুবিধাও রয়েছে। আমি প্রায়শই এটির জন্য ব্যবহার করি coutএবং endlতাই কোনও ফাইলের শীর্ষে ক্লাসিকটি stdসহ আমার সমস্ত কিছু আনার দরকার নেই using namespace std;, তবে আপনি যদি std::this_thread::sleep_for()কোনও ফাইল বা ফাংশনে প্রচুর মতো কিছু ব্যবহার করেন তবে সমস্ত জায়গায় নয়, এবং দরকারী নেমস্পেস থেকে অন্য কোনও ফাংশন নয়। সর্বদা হিসাবে, এটি .h ফাইলগুলিতে এটি ব্যবহার করতে নিরুৎসাহিত করা হয়, বা আপনি বিশ্বব্যাপী নেমস্পেসকে দূষিত করবেন।
এটি উপরের "পুনর্নামকরণ" এর মতো নয়, তবে প্রায়শই এটি সত্যই যা চেয়েছিল।
void (&NewName)(some_vector&, float, float, float, float) = OldName;যে আমার পরবর্তী পরীক্ষা করুন।