اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

استفاده از sizeof برای مشخص کردن اندازه‌ی آرایه‌ی پویا

0 امتیاز
1,633 نمایش

چطور می‌شه با استفاده از عملگر sizeof اندازه‌ی آرایه‌ی پویا رو پیدا کرد؟ کد زیر جواب نمی‌ده

int *x = new int[100];
cout<<sizeof(x)/sizeof(int);
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده چهارشنبه ۲۹ خرداد ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز

در حقیقت نمی‌شه. کد مورد نظر برای sizeof(x) معادل sizeof(int*) عمل می‌کنه یعنی مقدار حافظه برای نگهداری اشاره‌گر به int رو برمی‌گردونه نه بایت‌های استفاده شده در آرایه‌ی پویا.

به طور کلی قاعده اینه که عملگر sizeof نمی‌تونه بایت‌های یه آرایه‌ی پویا رو به دست بیاره.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده پنجشنبه ۳۰ خرداد ۱۳۹۲ توسط prodo