الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التخزين المباشر

بدأه خالد قاووق في 7 سبتمبر 2010 · 8 رد · 1,198 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

هل أستطيع تخزين البيانات بشكل مباشر من خلال c++

أي بدون التعامل مع نوع البيانات........ int, string

تعامل مباشر مع الذاكرة

#2

لا اخى لا يمكنك هذا

فلنقل انك تريد عد الارقام هل تستطيع هذا اذ لم تكن حافظها ؟؟؟؟؟

يجب عليك عمل نوع البيانات ليتخزن عليه الذاكرة

بالتوفيق

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#3

وضّح ماذا تقصد ، هل تقصد مثل الـVB ان تقوم بتعريف المتغير دون تحديد نوعه ؟

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#4
خالد قاووق كتب:

السلام عليكم و رحمة الله و بركاته

هل أستطيع تخزين البيانات بشكل مباشر من خلال c++

أي بدون التعامل مع نوع البيانات........ int, string

تعامل مباشر مع الذاكرة

عليكم السلام ورحمة الله و بركاته

لأ طبعاً لا نستطيع التعامل مع البيانات أو جمع البرنامج بدون تحديد نوعية بيانات المتغيرات والكائنات Objects بصفة عامة...

هذا التقييد لأن لغة ++C هي Strongly-Typed Programming Language وهذا ما يجعل البرنامج قوي وآمن ولا نعرف فضل هذا التقييد إلا عند إنشاء برامج جادة وضخمة...

ولا يعني ذلك الإنقاص من جودة وفعالية لغات اخرى من نوع Dynamically-Typed متل لغة Python. وإن كانت تقوم اصلاً بتعين وتحديد نوع البيانات خلف الكواليس...

ولكن لغة ++C تترك الأعباء على المبرمج ومش على الـ Compiler...

بخصوص التعامل المباشر مع الذاكرة فلغة ++C من إحدى اللغات التي تتعامل مع الذاكرة مباشرة ومع العناوين في الذاكرة بواسطة المؤشرات...

موفق

1

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#5

رد كامل و شامل ما شاء الله :)

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#6

لو تقصد انك تعمل management كامل بنفسك دون التقيد بلأنواع ,, فهذا ممكن

#7

هل تقصد ان تحجز الذاكرة بنفسك

#8

آسفة!!

ليطمئن قلبي ولإكمال بعض النواقص في مشاركتي السابقة لأن السؤال ليس واضحاً جداً! :happy:

إذا كنت بتقصد فقط التعامل مع بيانات من أي نوع من انواع البيانات الأساسية الأولية متل bool, int, char|string, float...

فهذا ممكن (ولكن!) على هيئة بيانات خام-> ثوابت متناثرة (Literal constants) إن صحت ترجمتي! داخل عمليات او عبارات وتصريحات expressions تتم فقط اثناء تنفيذ السطر كعوامل وبيانات مساعدة... ولكن لا نستطيع التعامل معها في الذاكرة والرجوع إليها...

متل:

cout << "Hello World..." << endl;

cout << true << ' a' << 1+4 << endl;

//and so forth...

لماذا؟

لأنها مجرد بيانات متناثرة بدون هوية محددة!

لا تتمتع بخصائص المتغيرات التي يجب أن يكون لها هوية محددة Id, نوع بينات محدد Data Type + عنوان Address + اسم name على الأقل وهذه تسمى خصائص المتغيرات(البيانات) في الذاكرة...

أما إذا كانت هناك حالات استثنائية وباستعمال برامج اخرى مساعدة أو تقنيات احترافية مخصصة خارجة عن استعمالات ++C بطريقة نموذجية فهذا موضوع آخر...

موفقين يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#9

اذا كنت تريد استعمال ذلك مع الدوال فعليك بال templates.

+

المؤشر من نوع void* يمكنه ان يؤشر على اي نوع .. ليس لدي فكرة واضحة عن امكانية استعمال هذا المؤشر لحل مشكلتك.

مواضيع مشابهة