কম্পিউটার

কিভাবে আপনি পাইথন এবং C++ নামস্থান তুলনা করবেন?


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

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

আমরা যদি এই কাজটি করতাম -

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

সেই কোডের বিন্দু হল একটি অযোগ্য লিখতে সক্ষম হওয়া (অর্থাৎ, ns::A লিখতে হবে না)। এখন, আপনি একটি পাইথনকে −

এর সমতুল্য বিবেচনা করতে পারেন
from a import A

কিন্তু ব্যবহার করা যাই হোক না কেন, সম্পূর্ণ a.h হেডার এখনও অন্তর্ভুক্ত এবং সংকলিত হবে, তাই আমরা এখনও ns::B লিখতে সক্ষম হব, যেখানে পাইথন সংস্করণে, a.B দৃশ্যমান হবে না। অন্য C++ সংস্করণ,

using namespace ns;

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

#include <vector>
#include <map>
#include <algorithm>
using namespace std; // bring in EVERYTHING

সেই এক লাইন −

এর সমতুল্য
from vector import *
from map import *
from algorithm import *

অন্তত এটি যা করে তাতে, কিন্তু তারপরে এটি প্রকৃতপক্ষে নামস্থান std-এ যা আছে তা নিয়ে আসে - যা অগত্যা সবকিছু নয়৷


No
  1. কিভাবে C++ এ কম্বিনেশন এবং পারমুটেশন গণনা করা যায়?

  2. পাইথনে নেমস্পেস এবং স্কোপ

  3. আপনি কিভাবে সহজ উপায়ে পাইথন নেমস্পেস ব্যাখ্যা করবেন?

  4. আপনি কিভাবে ব্যাখ্যা করবেন যে একটি ব্যতিক্রম পাইথনে একটি বস্তু?