বিবেচনা:
void foo() {
std::vector<std::atomic<int>> foo(10);
...
}
Foo এর বিষয়বস্তু এখন বৈধ? বা এগুলি কী স্পষ্টভাবে ফাঁক করে শুরু করতে হবে? আমি গডবোল্টে দেখেছি এবং এটি ঠিক আছে, তবে মানটি এই বিষয়টিতে খুব বিভ্রান্ত বলে মনে হচ্ছে।
এসটিডি :: ভেক্টর কন্সট্রাকটর এটা সন্নিবেশ বলেছেন ডিফল্ট সন্নিবেশিত দৃষ্টান্ত std::atomic<int>
, যা হয় ইনিশিয়ালাইজ মান বসানো মাধ্যমে new
।
আমি মনে করি মান আরম্ভের এই প্রভাবটি প্রযোজ্য:
2) টি যদি ডিফল্ট কনস্ট্রাক্টর সহ টি শ্রেণীবদ্ধ হয় যা ব্যবহারকারী-সরবরাহিত হয় না এবং মুছে ফেলা হয় না (অর্থাত্ এটি একটি বর্ণ-সংজ্ঞায়িত বা পূর্বনির্ধারিত ডিফল্ট কনস্ট্রাক্টর সহ একটি শ্রেণি হতে পারে), অবজেক্টটি শূন্য-আরম্ভ হয় এবং তারপরে এটি হয় ডিফল্ট-সূচনা যদি এটিতে একটি তুচ্ছ-ডিফল্ট ডিফল্ট নির্মাণকারী থাকে;
সুতরাং এটি আমার কাছে মনে হয় যে পরমাণুগুলি শূন্য-সূচনাযুক্ত। সুতরাং প্রশ্নটি হচ্ছে, কোনও শূন্য-সূচনাটি std::atomic<int>
কোনও বৈধ অবজেক্টের ফলশ্রুতি দেয়?
আমি অনুমান করতে যাচ্ছি যে উত্তরটি "হ্যাঁ বাস্তবে তবে এটি সত্যই সংজ্ঞায়িত হয়নি"?
দ্রষ্টব্য: এই উত্তরটি সম্মত হয় যে এটি শূন্য-সূচনাযুক্ত, তবে এর অর্থ যদি অবজেক্টটি বৈধ হয় তবে সত্যই তা বলে না।
atomic_init
। আপনাকে ইতিমধ্যে যে কোনও প্রশ্নে