কম্পিউটার টিউটোরিয়াল

Python এবং C++-এ নেমস্পেস তুলনা

Python এবং C++-এ নেমস্পেস সরাসরি তুলনা করা যায় না। উদাহরণস্বরূপ, C++-এ:

// a.h
namespace ns {
    struct A { .. };
    struct B { .. };
}

যদি আমরা এইভাবে করি:

#include "a.h"
using ns::A;

उस কোডের পয়েন্ট হলো A আনকোয়ালিফাইড লিখতে পারা (অর্থাৎ ns::A লিখতে হবena)। এখন, আপনি একটি পাইথন সমতুল্য বিবেচনা করতে পারেন:

from a import A

কিন্তু using ব্যবহারের যেনেকোনো কারণে, পুরো a.h হেডারই ইনক্লуд এবং কম্পাইল হবে, তাই আমরা এখনও ns::B লিখতে পারব, যインチ পাইথন ভার্সনে, a.B ভিজিবল নয়। অন্য C++ ভার্সন,

using namespace ns;

এরও পাইথন аналগ নেই। এটি পুরো কোডবেসে ns নেমস্পেস থেকে সব নাম আনে - এবং নেমস্পেস রিযুজ করা যায়। উদাহরণস্বরূপ,

#include <vector>
#include <map>
#include <algorithm>
using namespace std; // সব কিছু আনে

এই এক লাইন একটু সমান:

from vector import *
from map import *
from algorithm import *

কমপক্ষে এটা যা করে সেটা দিয়ে, কিন্তু সেটি শুধু std নেমস্পেসে যা আছে সেটি আনে - যা সব কিছু নাও হতে পারে।

  1. C++-এ কম্বিনেশন এবং পারমিউটেশন কীভাবে গণনা করবেন?

  2. পাইথনে নেমস্পেস (Namespace) এবং স্কোপ (Scope) - ভেরিয়েবল নাম ব্যবস্থাপনা

  3. পাইথন নেমস্পেস সহজ ভাষায় ব্যাখ্যা

  4. পাইথনে এক্সসেপশন একটি অবজেক্ট কিভাবে ব্যাখ্যা করবেন