سؤال

لدي ناقلات ثنائية الأبعاد وأرغب في الاستعلام عن أنواعها المختلفة في وقت التشغيل.

يبدو أنه من الممكن على ناقل "فارغ"، E.G.: giveacodicetagpre.

العائد أعلاه "تعويم" على الرغم من أنني كنت أتوقع استثناءا كما لم أدفع أي عناصر.

هل هو مجرد حظ أنه عند الوصول إلى الذاكرة عند [0][0] دون فحص أو اختبار ITERATION، فإنه ينجح؟أو يقوم المتجهات بتخصيص بعض التخزين الأساسي عند الإعلان عنها؟

هل كانت مفيدة؟

المحلول

Since float does not have any virtual methods, the compiler can evaluate typeid(some_float_object) statically without looking at the actual expression, just its static type. According to section 5.2.8 of the C++ standard (current C++0x draft), the compiler is not even allowed to evaluate the expression.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top