সংস্করণগুলির মধ্যে কেন সি ++ তে অভিব্যক্তির প্রকারগুলি পরিবর্তন হয়েছিল?


13

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

নিম্নলিখিতগুলিতে আমি নিম্নলিখিত খসড়াগুলি উল্লেখ করি:

  • সি ++ 11 [ এন 3690 ] (চূড়ান্ত খসড়া)
  • সি ++ 17 [ n4659 ] (চূড়ান্ত খসড়া)
  • সি ++ ২০ [ এন 4835 ] (বর্তমান খসড়া)

C++11 ৩.১০ মূল্য এবং মূল্যায়ন

... একটি মূল্য ("খাঁটি" মূল্য) একটি মূল্য যা কোনও মূল্য নয়। [উদাহরণস্বরূপ: কোনও ফাংশন কল করার ফলাফল যাঁর রিটার্নের ধরণটি প্রসঙ্গ নয় a আক্ষরিকের যেমন 12, 7.3e5 বা সত্যের মানও একটি মূল্য val - শেষ উদাহরণ]

C++17 ৩.১০ মূল্য এবং মূল্যায়ন

... পূর্বমূল্য হল এমন একটি অভিব্যক্তি, যার মূল্যায়ন কোনও অবজেক্ট বা বিট-ফিল্ডকে সূচনা করে বা কোনও অপারেটরের ক্রিয়াকলাপের মান গণনা করে, প্রসঙ্গটি নির্দিষ্ট করে যেমন এটি প্রদর্শিত হয়।

C++20 .2.২.১ মান বিভাগসমূহ *

... পূর্বমূল্য হল এমন একটি অভিব্যক্তি, যার মূল্যায়ন কোনও অবজেক্ট বা বিট-ফিল্ডকে সূচনা করে বা কোনও অপারেটরের অপরেন্ডের মান গণনা করে, এটি প্রাসঙ্গিক হিসাবে নির্দিষ্ট করা হয়, বা এমন কোনও এক্সপ্রেশন যা সিভি অকার্যকর রয়েছে by

আমি শব্দের পরিবর্তনগুলি বুঝতে পারি এবং কিছু সামঞ্জস্য হয় তবে আমার জন্য পুরো সংজ্ঞাটি পরিবর্তিত হয়। কেউ আমাকে এটি বুঝতে সাহায্য করতে পারে? উদাহরণস্বরূপ, কেন বাক্যটি মুছে ফেলা হল যে একটি মূল্য মূল্য নয় যে মূল্য? বা সহায়ক উদাহরণটি সরানো হয়েছে কেন?


3
আমি সমস্ত সংস্করণ নির্দিষ্ট ভাষার ট্যাগ নিষিদ্ধ করার জন্য আছি। ঠিক এই ধরণের প্রশ্ন বাদে।
কৌতূহলী


" সি ++ সংস্করণগুলির মধ্যে শব্দ এবং সংজ্ঞাটি ভারী পরিবর্তিত হয় তা বিবেচনায় নেবেন না। " তবে সংজ্ঞাটি আসলে পরিবর্তন হয়নি। খুব বেশি অভিব্যক্তি যা সি ++ 11 এ একটি মূল্য ছিল তা এখনও সি ++ 20 এ একটি মূল্যবান।
নিকল বোলাস

সংস্করণের মধ্যে 'বিপরীতমুখী (আয়ন)' কোথায়? আপনার প্রশ্নটি ঠিক কী?
গালিগেটর

1
C ++ 20 পরিবর্তনের জন্য দুঃখিত , তবে আমি মানটির মধ্যে একটি অসঙ্গতি লক্ষ্য করেছি।
ম্যাগগিরো

উত্তর:


5

আসল মূল্য সংজ্ঞাটি কেবল একটি লেবেল ছিল: আমরা কিছু নির্দিষ্ট মূল্যকে আলাদা করে রেখেছি (নামগুলি যেগুলি xvueue নয়) এবং তাদের একটি নাম দিন। অস্বাভাবিক thisব্যবহারের মাধ্যমে তাদের ঠিকানা নেওয়া অসম্ভব (কমবেশি কারণ তারা অস্থায়ী), সুতরাং কিছু কিছু না ভাঙ্গিয়ে তাদের তৈরি এবং প্রচারের সাথে নির্দিষ্ট স্বাধীনতা নেওয়া যেতে পারে। (এগুলির একটি সাম্প্রতিক আলোচনাও দেখুন "পরিচয়" নেই))

নতুন সংজ্ঞাটি স্পষ্টতই বলেছে যে একটি মূল্য একটি প্রাথমিককরণ হ'ল "ঘটতে অপেক্ষা করা": এটির জন্য যখন কোনও লক্ষ্য বস্তু শনাক্ত করা হয়, তবে এটিই আরম্ভ হয়। (এটা খেয়াল করা জরুরী যে আরম্ভের এখনও ঘটে গুরুত্বপূর্ণ যখন prvalue সংস্থাপিত হয়, শুধু যেখানে এটা।) এই "এই বাধ্যতামূলক কপি বিলোপ" সমতুল্য অপ্টিমাইজেশান ইতিমধ্যে সাধারণ বিষয় ছিল উপর ভিত্তি করে নাম ধরে যায়।

উদাহরণ হিসাবে, নতুন মান বিভাগের সংজ্ঞাগুলি এত সরল হিসাবে দেখা গিয়েছিল যে কম উদাহরণের প্রয়োজন হয়েছিল। এক্সভ্যালুগুলির জন্য এখনও একটি রয়েছে (যা সূক্ষ্ম শ্রেণিতে রয়েছে)।


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