C ++ 20 স্ট্যান্ডার্ডে বলা হয় যে অ্যারের প্রকারগুলি অন্তর্নিহিত আজীবন টাইপ ।
এর অর্থ কি এই নয় যে একটি অন্তর্নিহিত আজীবন টাইপের একটি অ্যারে সুস্পষ্টভাবে তৈরি করা যেতে পারে? এই জাতীয় অ্যারের অন্তর্নিহিত সৃষ্টি অ্যারের উপাদানগুলির সৃষ্টি করার কারণ হবে না?
এই ক্ষেত্রে বিবেচনা করুন:
//implicit creation of an array of std::string
//but not the std::string elements:
void * ptr = operator new(sizeof (std::string) * 10);
//use launder to get a "pointer to object" (which object?)
std::string * sptr = std::launder(static_cast<std::string*>(ptr));
//pointer arithmetic on not created array elements well defined?
new (sptr+1) std::string("second element");
এই কোডটি কি C ++ 20 এর পরে আর ইউবি নয়?
এই উপায় কি আরও ভাল হয়?
//implicit creation of an array of std::string
//but not the std::string elements:
void * ptr = operator new(sizeof (std::string) * 10);
//use launder to get a "pointer to the array of 10 std::string"
std::string (* sptr)[10] = std::launder(static_cast<std::string(*)[10]>(ptr));
//pointer arithmetic on an array is well defined
new (*sptr+1) std::string("second element");
1
আমি সবেমাত্র (খসড়া) সি ++ ২০ স্ট্যান্ডার্ডের মাধ্যমে অনুসন্ধান করেছি এবং অ্যারেগুলিকে "অন্তর্নিহিত আজীবন টাইপ" (এবং, হ্যাঁ, আমি তারতম্যের জন্য অনুসন্ধান করেছি) হিসাবে বর্ণনা করে এমন কিছুই পাইনি। দয়া করে আপনার দাবির আরও বিশদ বিবরণ প্রদান করুন (উদাহরণস্বরূপ স্ট্যান্ডার্ডে বিভাগ এবং ধারা)। উত্সটি সন্ধান না করে আপনার প্রশ্নের উত্তর দেওয়া শক্ত, তবে কোনও প্রাসঙ্গিক প্রসঙ্গটি ছেড়ে দিন।
—
পিটার
@ পিটার: eel.is/c++ftft /basic.tyype#9 , শেষ বাক্য
—
গেজা
আমি পিডিএফটি খোলা ছিলাম-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf ( স্পষ্টতই সর্বশেষতম খসড়া খসড়া) এবং এটিতে সেই বাক্যটিও নেই। দেখে মনে হচ্ছে আপনার "অন্তর্নিহিত-জীবনকাল" এর অর্থও খুঁজে পাওয়া দরকার। আমি সন্দেহ করি যে আপনার লিঙ্কটি কিছু "সম্পাদনা চলছে" এটি এমনকি প্রকাশিত কার্য খসড়াতে তৈরি করে নি।
—
পিটার
@ পিটার পরিবর্তনগুলি হল P0593 এর সাম্প্রতিক প্রাগ সভা থেকে মান হিসাবে একীভূত হওয়ার ফলাফল । তারা এখনও ফলাফলের খসড়া প্রকাশ করেনি, তবে আপনি এই প্রতিশ্রুতিতে মার্জ হওয়া শব্দটি দেখতে পাচ্ছেন ।
—
আখরোট