ধারণা এবং টেম্পলেট সীমাবদ্ধতার মধ্যে পার্থক্য কী?


96

আমি জানতে চাই যে সি ++ সম্পূর্ণ ধারণা প্রস্তাব এবং টেমপ্লেটের সীমাবদ্ধতার মধ্যে অর্থগত পার্থক্যগুলি (উদাহরণস্বরূপ, ডালং-এ প্রকাশিত বাধা বা সি ++ 1 ই এর জন্য নতুন ধারণা-লাইট প্রস্তাব )।

টেমপ্লেটের সীমাবদ্ধতাগুলি না করতে পারার চেয়ে পূর্ণ-পরিপূর্ণ ধারণাগুলি কী করতে সক্ষম?



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

আইএমএইচও ধারণাগুলি পঠনযোগ্যতা উন্নত করে এবং 'প্রোগ্রামিংয়ের উপাদানগুলির' আলেকজান্ডার স্টেপানভের পছন্দ অনুসারে আরও অনেক আগে প্রোগ্রামার দক্ষতা সরবরাহ করে। এই মুহুর্তে প্রয়োজনীয় অদ্ভুত সক্ষম_আইফ টাইপের সীমাবদ্ধতার বোঝা কমিয়ে আনার জন্য লাইট প্রস্তাবটি কেবল এই দিকেই এক পদক্ষেপ। জেনেরিক প্রোগ্রামিংয়ের জন্য যত তাড়াতাড়ি তত ভাল।
dirvine

উত্তর:


136

নিম্নলিখিত তথ্য তারিখ সীমার বাইরে। এটি সর্বশেষতম কনসেপ্টস লাইট খসড়া অনুযায়ী আপডেট করা দরকার।

সীমাবদ্ধতার প্রস্তাবের ধারা 3 এটি যুক্তিসঙ্গত গভীরতায় depthেকে রাখে।

ধারণাগুলির প্রস্তাবটি অল্প সময়ের জন্য ব্যাক বার্নারে রাখা হয়েছে এই আশায় যে সীমাবদ্ধতাগুলি (অর্থাত্ ধারণাগুলি-হালকা) আরও কম সময়ের স্কেল করে প্রয়োগ করা যেতে পারে এবং বর্তমানে সি ++ 14 এর জন্য কমপক্ষে কিছু লক্ষ্য করা যায় for সীমাবদ্ধতার প্রস্তাবনাটি ধারণার পরবর্তী সংজ্ঞাতে মসৃণ রূপান্তর হিসাবে কাজ করার জন্য ডিজাইন করা হয়েছে। সীমাবদ্ধতা ধারণার প্রস্তাবের অংশ এবং এটি এর সংজ্ঞাতে প্রয়োজনীয় বিল্ডিং ব্লক।

ইন সি জন্য ধারণা লাইব্রেরি নকশা ++, , সাটন এবং স্ট্রোভস্ট্রুপের নিম্নলিখিত সম্পর্ক বিবেচনা করুন:

ধারণাগুলি = সীমাবদ্ধতা + অ্যাক্সিমস

দ্রুত তাদের অর্থ সংক্ষিপ্ত করতে:

  1. সীমাবদ্ধতা - কোনও প্রকারের স্ট্যাটিক্যালি মূল্যায়নযোগ্য বৈশিষ্ট্যের উপরে একটি শিকারী। খাঁটি সিনট্যাকটিক প্রয়োজনীয়তা। কোনও ডোমেন বিমূর্ততা নয়।
  2. অ্যাক্সিওমস - ধরণের ধনাত্মক প্রয়োজনীয়তা যা সত্য বলে ধরে নেওয়া হয়। স্থিতিশীলভাবে চেক করা হয়নি।
  3. ধারণা - সাধারণ, তাদের যুক্তিতে অ্যালগরিদমের বিমূর্ত প্রয়োজনীয়তা। সীমাবদ্ধতা এবং axioms পদে সংজ্ঞায়িত।

সুতরাং আপনি যদি সীমাবদ্ধতাগুলিতে (সিনট্যাক্টিক বৈশিষ্ট্য) অক্ষর (শব্দার্থক বৈশিষ্ট্য) যুক্ত করেন তবে আপনি ধারণাগুলি পাবেন।


ধারণা-লাইট

কনসেপ্টস-লাইট প্রস্তাবনাটি কেবল আমাদের প্রথম অংশ নিয়ে আসে, প্রতিবন্ধকতাগুলি, তবে এটি সম্পূর্ণরূপে ধারণাগুলির দিকে গুরুত্বপূর্ণ এবং প্রয়োজনীয় পদক্ষেপ।

সীমাবদ্ধতা

সীমাবদ্ধতাগুলি সিনট্যাক্স সম্পর্কে । তারা আমাদের সংকলন সময়ে কোনও প্রকারের বৈশিষ্ট্যগুলি বিশিষ্ট করে তোলার একটি উপায় দেয়, যাতে আমরা তাদের সিনট্যাক্টিক বৈশিষ্ট্যের ভিত্তিতে টেমপ্লেট আর্গুমেন্ট হিসাবে ব্যবহৃত প্রকারগুলিকে সীমাবদ্ধ করতে পারি। সীমাবদ্ধতার জন্য বর্তমান প্রস্তাবনায়, তারা প্রজেকশনাল ক্যালকুলাসের উপসেটটি যেমন &&এবং লজিকাল সংযোগগুলি ব্যবহার করে প্রকাশ করা হয় ||

আসুন কর্মের প্রতিবন্ধকতার দিকে একবার নজর দিন:

template <typename Cont>
  requires Sortable<Cont>()
void sort(Cont& container);

এখানে আমরা একটি ফাংশন টেমপ্লেট সংজ্ঞায়িত করছি sort। নতুন সংযোজন দফা প্রয়োজন । প্রয়োজনীয় ধারাটি এই ফাংশনের জন্য টেমপ্লেট আর্গুমেন্টগুলির উপর কিছু বাধা দেয়। বিশেষত, এই সীমাবদ্ধতাটি বলে যে প্রকারটি Contঅবশ্যই একটি Sortableপ্রকারের হতে হবে । একটি ঝরঝরে জিনিস এটি আরও সংক্ষিপ্ত আকারে এইভাবে লেখা যেতে পারে:

template <Sortable Cont>
void sort(Cont& container);

এখন আপনি যদি Sortableএই ফাংশনটির জন্য বিবেচিত না হয় এমন কোনও কিছু পাস করার চেষ্টা করেন তবে আপনি একটি দুর্দান্ত ত্রুটি পাবেন যা তাৎক্ষণিকভাবে আপনাকে বলবে যে এর জন্য কেটে নেওয়া টাইপটি Tকোনও Sortableপ্রকার নয়। আপনি যদি এটি সি ++ 11 এ করে থাকেন তবে ফাংশনটির ভেতর থেকে কিছু ভয়ঙ্কর ত্রুটি ছুঁড়েছে sortযা কারও কাছেই বোধগম্য নয়।

সীমাবদ্ধতার পূর্বাভাস টাইপ বৈশিষ্ট্যের সাথে খুব মিল। তারা কিছু টেম্পলেট আর্গুমেন্ট প্রকার নেয় এবং আপনাকে এ সম্পর্কে কিছু তথ্য দেয়। টাইপ সম্পর্কে নিম্নলিখিত ধরণের প্রশ্নের উত্তর দেওয়ার সীমাবদ্ধতাগুলি:

  1. এই ধরণের কি এমন-ও-এমন অপারেটর ওভারলোড হয়েছে?
  2. এই অপারেটরের অপারেশন হিসাবে এই ধরণেরগুলি ব্যবহার করা যেতে পারে?
  3. এই ধরণের কি এরকম ও এই জাতীয় বৈশিষ্ট্য রয়েছে?
  4. এই ধ্রুবক ভাবটি কি তার সমান? (অ-টাইপ টেম্পলেট আর্গুমেন্টের জন্য)
  5. এই ধরণের কি yada-yada নামে একটি ফাংশন রয়েছে যা সেই ধরণের ফেরত দেয়?
  6. এই ধরণেরটি কী হিসাবে ব্যবহৃত হবে তা সমস্ত সিনট্যাকটিক প্রয়োজনীয়তা পূরণ করে?

তবে সীমাবদ্ধতাগুলি ধরণের বৈশিষ্ট্যগুলি প্রতিস্থাপনের জন্য বোঝানো হয় না । পরিবর্তে, তারা হাতে কাজ করবে will কিছু ধরণের বৈশিষ্ট্য এখন ধরণের বৈশিষ্ট্যের ক্ষেত্রে ধারণা এবং কিছু ধারণার ক্ষেত্রে সংজ্ঞায়িত করা যেতে পারে।

উদাহরণ

সুতরাং সীমাবদ্ধতাগুলির বিষয়ে গুরুত্বপূর্ণ বিষয়টি হ'ল তারা শব্দার্থবিজ্ঞানের একটি আইওটা সম্পর্কে চিন্তা করে না। সীমাবদ্ধতার কয়েকটি ভাল উদাহরণ হ'ল:

  • Equality_comparable<T>: টাইপটি ==একই ধরণের উভয় অপারেন্ডের সাথে রয়েছে কিনা তা পরীক্ষা করে ।

  • Equality_comparable<T,U>: ==প্রদত্ত প্রকারের বাম এবং ডান ক্রিয়াকলাপগুলির সাথে আছে কিনা তা পরীক্ষা করে

  • Arithmetic<T>: প্রকারটি একটি গাণিতিক ধরণের কিনা তা পরীক্ষা করে।

  • Floating_point<T>: প্রকারটি একটি ভাসমান পয়েন্ট টাইপ কিনা তা পরীক্ষা করে।

  • Input_iterator<T>: টাইপটি সিন্ট্যাকটিক অপারেশনগুলিকে সমর্থন করে কিনা তা যাচাই করে যা কোনও ইনপুট পুনরাবৃত্তিকে অবশ্যই সমর্থন করে support

  • Same<T,U>: প্রদত্ত প্রকারটি একই রকম কিনা তা পরীক্ষা করে।

আপনি জিসিসির একটি বিশেষ ধারণা-লাইট বিল্ড দিয়ে এগুলি চেষ্টা করে দেখতে পারেন ।


ধারণার বাইরে লাইট

এখন আমরা ধারণাগুলি-হালকা প্রস্তাবের বাইরে সবকিছুতে .ুকি। এটি ভবিষ্যতের চেয়েও বেশি ভবিষ্যত। এখান থেকে সমস্ত কিছু সম্ভবত কিছুটা পরিবর্তিত হতে পারে।

অ্যাক্সিমস

অ্যাক্সিওমস শব্দার্থকতা সম্পর্কে সমস্ত । তারা সম্পর্ক, আক্রমণকারী, জটিলতার গ্যারান্টি এবং এ জাতীয় অন্যান্য বিষয় নির্দিষ্ট করে। আসুন একটি উদাহরণ তাকান।

যদিও Equality_comparable<T,U>সীমাবদ্ধতা আপনাকে বলবে যে এমন একটি রয়েছে operator== যা প্রকারভেদে লাগে Tএবং Uএটি আপনাকে অপারেশনটির অর্থ কী তা বলে না । তার জন্য, আমাদের অ্যাক্সিয়াম থাকবে Equivalence_relation। এই অ্যাকিয়োম বলে যে এই দুটি ধরণের বস্তু যখন operator==দেওয়ার সাথে তুলনা করা হয় তখন trueএই বস্তুগুলি সমতুল্য। এটি অপ্রয়োজনীয় মনে হতে পারে, তবে তা অবশ্যই তা নয়। আপনি সহজেই operator==এটির মতো আচরণ করে এমন একটি সংজ্ঞা দিতে পারেন operator<। আপনি এটি করতে খারাপ হতে চাই, কিন্তু আপনি করতে পারেন।

আরেকটি উদাহরণ হ'ল Greaterঅ্যাক্সিয়াম। দুটি ধরণের অবজেক্টের Tসাথে >এবং <অপারেটরের সাথে তুলনা করা যায় বলা ভাল, এবং এটির অর্থ কী ? Greaterসবর্জনবিদিত বলছেন যে iff xতারপর বেশী y, তারপর yচেয়ে কম হয় x। প্রস্তাবিত স্পেসিফিকেশন যেমন একটি axiom দেখতে:

template<typename T>
axiom Greater(T x, T y) {
  (x>y) == (y<x);
}

সুতরাং axioms নিম্নলিখিত ধরণের প্রশ্নের উত্তর:

  1. এই দুই অপারেটরের কি একে অপরের সাথে সম্পর্ক রয়েছে?
  2. এই ধরণের এবং এই জাতীয় ধরণের জন্য এই অপারেটরটির অর্থ কি এটি?
  3. এই ধরণের এই অপারেশনের কি এই জটিলতা রয়েছে?
  4. এই অপারেটরের এই ফলাফলটি কি বোঝায় যে এটি সত্য?

এটি হ'ল, তারা পুরোপুরি শব্দার্থবিজ্ঞানের সাথে ধরণের এবং সেই ধরণের ক্রিয়াকলাপগুলি নিয়ে উদ্বিগ্ন। এই জিনিসগুলি স্থিতিশীলভাবে চেক করা যায় না। যদি এটি যাচাই করা দরকার হয় তবে কোনও ধরণের অবশ্যই কোনওভাবে ঘোষণা করতে হবে যে এটি এই শব্দার্থবিরোধীদের মেনে চলে।

উদাহরণ

এখানে অ্যাকোরিওমের কয়েকটি সাধারণ উদাহরণ রয়েছে:

  • Equivalence_relation: যদি দুটি বস্তু তুলনা করে তবে ==তারা সমান।

  • Greater: যখনই x > y, তখন y < x

  • Less_equal: যখনই x <= y, তখন !(y < x)

  • Copy_equality: xএবং yপ্রকারের জন্য T: যদি x == y, অনুলিপি তৈরি করে T{x} == yএখনও একই ধরণের একটি নতুন অবজেক্ট তৈরি করা হয় x == y(তবে এটি অ-ধ্বংসাত্মক)।

ধারণা

এখন ধারণাগুলি সংজ্ঞায়িত করা খুব সহজ; এগুলি কেবল সীমাবদ্ধতা এবং অদ্ভুত সংমিশ্রণ । এগুলি একটি প্রকারের সিনট্যাক্স এবং শব্দার্থবিজ্ঞানের উপর একটি বিমূর্ত প্রয়োজন সরবরাহ করে।

উদাহরণ হিসাবে, নিম্নলিখিত Orderedধারণাটি বিবেচনা করুন :

concept Ordered<Regular T> {
  requires constraint Less<T>;
  requires axiom Strict_total_order<less<T>, T>;
  requires axiom Greater<T>;
  requires axiom Less_equal<T>;
  requires axiom Greater_equal<T>;
}

প্রথম নোট করুন যে টেমপ্লেটটি টাইপ Tহওয়ার Orderedজন্য এটি Regularধারণার প্রয়োজনীয়তাও মেটানো উচিত। Regularধারণা একটি খুব মৌলিক প্রয়োজনীয়তা যে টাইপ ভালভাবে ভদ্র হয় - এটা, নির্মাণ করা যেতে পারে ধ্বংস অনুলিপি এবং তুলনায়।

এই প্রয়োজনীয়তাগুলি ছাড়াও, Orderedপ্রয়োজনীয়তাগুলির Tজন্য একটি সীমাবদ্ধতা এবং চারটি অক্ষরেখা পূরণ করা প্রয়োজন :

  • বাধা: একটি Orderedধরণের অবশ্যই একটি থাকতে পারে operator<। এটি স্থিতিশীলভাবে চেক করা হয়েছে সুতরাং এটি অবশ্যই বিদ্যমান।
  • অক্ষর: এর জন্য xএবং yপ্রকারের T:
    • x < y একটি কঠোর মোট অর্ডার দেয়।
    • যখন এর xচেয়ে বড় হয় y, এর চেয়ে yকম xহয় এবং বিপরীত হয়।
    • যখন xকম বা সমান y, yচেয়ে কম নয় x, এবং তদ্বিপরীত।
    • যখন xএর চেয়ে বড় বা সমান y, yতার চেয়ে অনেক বেশী নয় x, এবং তদ্বিপরীত।

এই জাতীয় সীমাবদ্ধতা এবং অ্যাক্সিমের সংমিশ্রণ আপনাকে ধারণা দেয়। তারা অ্যালগরিদমের সাথে ব্যবহারের জন্য বিমূর্ত প্রকারের সিনট্যাক্টিক এবং সিনমেটিক প্রয়োজনীয়তা সংজ্ঞায়িত করে। অ্যালগরিদমকে বর্তমানে ধরে নিতে হবে যে ব্যবহৃত ধরণেরগুলি নির্দিষ্ট ক্রিয়াকলাপকে সমর্থন করবে এবং নির্দিষ্ট শব্দার্থকে প্রকাশ করবে। ধারণাগুলি সহ আমরা প্রয়োজনীয়তা পূরণ করেছি তা নিশ্চিত করতে সক্ষম হব।

ইন সর্বশেষ ধারণা নকশা , কম্পাইলার শুধুমাত্র চেক করবে যে একটি ধারণার অন্বিত প্রয়োজনীয়তা টেমপ্লেট আর্গুমেন্টের দ্বারা পূর্ণ করা হয়। Axioms চেক না করা বাকি আছে। যেহেতু অখণ্ডগুলি স্ট্যামেন্টিকগুলি বোঝায় যা স্থিতিকরূপে মূল্যায়নযোগ্য নয় (বা প্রায়শই সম্পূর্ণরূপে পরীক্ষা করা অসম্ভব) তাই কোনও প্রকারের লেখককে স্পষ্টভাবে বলতে হবে যে তাদের ধরণের ধারণার সমস্ত প্রয়োজনীয়তা পূরণ হয়। এটি পূর্ববর্তী ডিজাইনে কনসেপ্ট ম্যাপিং হিসাবে পরিচিত ছিল তবে এটি মুছে ফেলা হয়েছে।

উদাহরণ

ধারণার কয়েকটি উদাহরণ এখানে দেওয়া হয়েছে:

  • Regular প্রকারগুলি নির্মাণযোগ্য, ধ্বংসাত্মক, অনুলিপিযোগ্য এবং তুলনা করা যায়।

  • Orderedপ্রকারগুলি সমর্থন করে operator<এবং একটি কঠোর মোট অর্ডারিং এবং অন্যান্য অর্ডারিং শব্দার্থক থাকে।

  • Copyableপ্রকারগুলি হ'ল অনুলিপি নির্মাণযোগ্য , ধ্বংসাত্মক এবং যদি xএর সমান হয় yএবং xঅনুলিপি করা হয় তবে অনুলিপিটিও এর সাথে সমান তুলনা করবে y

  • Iteratorধরনের সংযুক্ত করেছেন আবশ্যক ধরনের value_type, reference, difference_type, এবং iterator_categoryনিজেদের নির্দিষ্ট ধারণা পূরণ করতে হবে পারে। তারা অবশ্যই সমর্থন operator++এবং dereferencesable হতে হবে।

দ্য রোড টু কনসেপ্টস

সীমাবদ্ধতা সি ++ এর সম্পূর্ণ ধারণা বৈশিষ্ট্যের দিকে প্রথম ধাপ first এগুলি একটি অত্যন্ত গুরুত্বপূর্ণ পদক্ষেপ, কারণ এগুলি স্ট্যাটিকালি প্রয়োগযোগ্য প্রকারের প্রয়োজনীয়তা সরবরাহ করে যাতে আমরা অনেক ক্লিনার টেম্পলেট এবং ক্লাস লিখতে পারি। এখন আমরা এর জটিলতা এবং কৌতূহল std::enable_ifএবং এর রূপক বন্ধুদের বন্ধুদের এড়াতে পারি ।

তবে, বেশ কয়েকটি জিনিস রয়েছে যা সীমাবদ্ধতার প্রস্তাবনা করে না:

  1. এটি কোনও ধারণার সংজ্ঞা ভাষা সরবরাহ করে না।

  2. সীমাবদ্ধতা ধারণা মানচিত্র নয়। ব্যবহারকারীর নির্দিষ্ট বাধা পূরণের জন্য তাদের প্রকারটি নির্দিষ্ট করে উল্লেখ করার দরকার নেই। এগুলি স্থিরভাবে ব্যবহৃত সহজ সংকলন-ভাষা বৈশিষ্ট্যগুলি পরীক্ষিত হয়।

  3. টেমপ্লেটগুলির বাস্তবায়নগুলি তাদের টেম্পলেট আর্গুমেন্টের দ্বারা সীমাবদ্ধ নয়। এটি হ'ল, যদি আপনার ফাংশন টেম্পলেটটি বাধাবদ্ধ কোনও ধরণের অবজেক্টের সাথে এমন কিছু করে যা এটি করা উচিত নয়, তবে সংকলকটি এটি সনাক্ত করার কোনও উপায় নেই। একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত ধারণা প্রস্তাব এটি করতে সক্ষম হবে।

সীমাবদ্ধতার প্রস্তাবটি বিশেষভাবে তৈরি করা হয়েছে যাতে এটির উপরে একটি সম্পূর্ণ ধারণা প্রস্তাব প্রবর্তন করা যায়। কোনও ভাগ্যের সাথেই, সেই রূপান্তরটি মোটামুটি মসৃণ যাত্রা হওয়া উচিত। ধারণাগুলি গোষ্ঠী সি ++ ১৪ (বা খুব শীঘ্রই কোনও প্রযুক্তিগত প্রতিবেদনে) জন্য সীমাবদ্ধতাগুলি প্রবর্তন করতে চাইছে, যখন পুরো ধারণাটি সি ++ 17 এর কাছাকাছি সময়ে উদ্ভূত হতে পারে।


4
এটি লক্ষ করা উচিত যে ধারণাগুলি-লাইট টেমপ্লেট নিজেই প্রয়োগের বিরুদ্ধে বাধাগুলি পরীক্ষা করে না। সুতরাং আপনি দাবি করতে পারেন যে কোনও ডিফল্ট কনস্ট্রাকটেবল ব্যবহার করা যেতে পারে তবে সংকলক দুর্ঘটনাক্রমে কোনও অনুলিপি নির্মাণকারীকে আপনাকে থামিয়ে দেবে না। আরও একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত ধারণা প্রস্তাব হবে।
নিকল বোলাস

24
এটা কি প্রথম খসড়া ?!
নিকল বোলাস ২

4
@ স্প্রাটবিত, খুব ভাল উত্তর। তবে আমার একটি প্রশ্ন আছে: একটি সংকলক কীভাবে পরীক্ষা করবে যে কোনও ধরণের একটি ধারণার অর্থের প্রয়োজনীয়তা পূরণ করে?
রায়নিয়ারি

4
(ডাব্লু / অনেক অনিশ্চয়তা) রান-টাইমের সময় 'অ্যাকোয়ামগুলি' পরীক্ষা করা হবে, বা তারা কেবলমাত্র প্রতিশ্রুতি ট্যাগ হিসাবে কাজ করবে?
লাল দ্বাদশ

4
@ স্কারলেটআমরান্থ: কারণ এটি সীমাবদ্ধ সময়ে স্বয়ংক্রিয়ভাবে উপপাদ্য প্রমাণ করতে উত্সাহিত হয়। এতে দুটি বাধা রয়েছে: ১. সীমাবদ্ধ সময়ে যে কোনও উপপাদ্য প্রমাণ করা যা তাত্ত্বিক ক্ষেত্রে অত্যন্ত কঠিন এবং বর্তমান প্রযুক্তির সাথে অসম্ভব। ২. আপনি যদি কোনও অ্যালিকোম প্রমাণ করতে পারবেন না, যদি না প্রমাণটি অন্যান্য অক্ষরেখার উপর নির্ভর করে। (এই ক্ষেত্রে এটি গাণিতিকভাবে "অ্যাকোয়িয়াম নয়" হয়ে ওঠে) এই অক্ষগুলি সংকলককে বলার উদ্দেশ্যে করা হয়েছে "অবশ্যই আপনি যদি এটি কার্যকর মনে করেন তবে আপনি তুলনাটি বিপরীত করতে পারেন ...", বা "হ্যাঁ, একটি ছেদে সর্বদা ব্যবহৃত একটি খালিসেট ব্যবহার করা হয়" একই ফলাফল দেয়। "
লরেন্ট এলএ রিজ্জা

22

সাম্প্রতিক (12 মার্চ) ধারণাগুলি টেলিকন মিনিট এবং আলোচনার রেকর্ডের বিভাগের 2.3 বিভাগে "ধারণাগুলি সম্পর্কে কী 'হালকা" তা দেখুন, যা এখানে একই দিন পোস্ট করা হয়েছিল: http://isocpp.org/blog/2013/03 / নতুন-কাগজ-n3576-sg8-ধারণাগুলি-টেলিকনফারেন্স-মিনিট-2013-03-12-ভেষজ-সুটার


4

আমার 2 সেন্ট:

  1. কনসেপ্টস-লাইট প্রস্তাবনাটি টেমপ্লেট বাস্তবায়নের "টাইপ চেকিং" করা নয় । উদাহরণস্বরূপ, ধারণা-লাইটটি টেম্পলেট ইনস্ট্যান্টেশন সাইটে ইন্টারফেসের সামঞ্জস্যতা (আদর্শভাবে) নিশ্চিত করবে। কাগজ থেকে উদ্ধৃত: "ধারণাগুলি হালকা সি ++ এর একটি এক্সটেনশন যা পূর্বাভাসগুলির ব্যবহার টেমপ্লেট আর্গুমেন্টগুলিকে সীমাবদ্ধ করতে দেয়"। এবং এটাই. এটি বলা যায় না যে পূর্বাভাসের বিপরীতে টেমপ্লেট বডিটি পরীক্ষা করা হবে (বিচ্ছিন্নভাবে)। এর অর্থ সম্ভবত যখন আপনি ধারণাগুলি-লাইটের কথা বলছেন তখন আর্চটাইপগুলির কোনও প্রথম শ্রেণির ধারণা নেই । আর্কিটিপস, যদি আমি সঠিকভাবে মনে করি, ধারণাগুলিতে-ভারী প্রস্তাবনাগুলি এমন ধরণের যা টেম্পলেটটির বাস্তবায়ন সন্তুষ্ট করার জন্য কম এবং কোনও প্রস্তাব দেয় না ।

  2. ধারনা-লাইট সংকলক দ্বারা সমর্থিত বিট সিনট্যাক্স ট্রিকের সাথে গৌরবযুক্ত কনটেক্সপ্রে ফাংশন ব্যবহার করে। দেখার নিয়মের কোনও পরিবর্তন নেই।

  3. প্রোগ্রামারদের ধারণার মানচিত্র লেখার প্রয়োজন নেই।

  4. পরিশেষে, আবার উদ্ধৃত করে "সীমাবদ্ধতার প্রস্তাবনা সরাসরি শব্দার্থবিজ্ঞানের স্পেসিফিকেশন বা ব্যবহারের দিকে লক্ষ্য করে না; এটি কেবল বাক্য গঠন পরীক্ষা করার জন্য লক্ষ্যযুক্ত।" এর অর্থ হ'ল অক্ষরবৃত্তগুলি (এতদূর) এর আওতায় নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.