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

هل درست ++C من الـ manual ؟ لا ! إذاً استعد للكوابيس

بدأه مصطفى 36a2 في 9 أغسطس 2014 · 6 رد · 2,622 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هناك شخصان فقط في المنتدى يمكنهما فهم السبب , أحد أكثر الأمور إرباكاً في اللغة, شيء لا يمكنك تخيله , من الفضاء أو من عالم آخر .

لو كان الكود طويلاً لتردد البعض في قراءته , ولكن ماذا عن

cout<<"??!";

أو في الـ C

puts("??!");

هل تتوقع أنك ستحصل على أسوأ كابوس لليوم ؟ اكتب توقعك ثم جرب الكود :)

 

بالتوفيق

2
#2

هذه تسمى trigraph sequences وهي، الرمز ومايقابله:

??=      #
??(      [
??/      \
??)      ]
??'      ^
??<      {
??!      |
??>      }
??-      ~
???      ?

مدعومة من c89 وقبل، سبب وجودها أن بعض لوحات المفاتيح القديمة كانت تفتقر لبعض تلك الرموز لذا يستعاض بهذه الرموز بدلها.

 

gcc يتجاهلها افتراضياً مع تحذير، يلزم استخدام الخيار trigraphs لتفعيلها، msvc لايعطي أي تحذير بخصوصها، وهذه مشكلة لأنها أحياناً قد تسبب أخطاء يصعب اكتشافها.

 

هناك أيضاً الـdigraph مثل:

%:include <stdio.h>

int main(int argc, char **argv) <%
  printf("Hello! %s\n", argv<:0:>);
  return 0;
%>

معانيها:

<%       {
%>       }
<:       [
:>       ]
%:       #

هذه الأخيرة جزء من c99 و c++، ليست جزء من c89 (لايدعمها msvc).

 

للمزيد: وحدات اللغة C++ : المعاملات و الرموز preprocessing-op-or-punc

تم تعديل هذه المشاركة بواسطة Mr.B في 10 أغسطس 2014 في 03:24

2
#3

ما شاء الله عليك , أنت أحد الشخصين الموجودين هنا الذين يمكنهما الإجابة :)

الشخص الآخر هو C++er .

 

وفقك الله

#4

اقترح تاني مرة يكتب فيها "مستر بي" الجواب ان يضعه مع تحذير spoiler حتى مايخربش

علينا الاستمتاع بالتفكير :P

بالنسبة لي قبل قراءة جواب مستر بي كان رايي كالتالي:

١- ان الاثنين سيطبعون نفس الشيء.

٢- لكن بما انه وضع كلغز هنا، حينها كنت متوقع ان هناك فورماتينجز معينة، لكن

الترايجرافز لم تكن ببالي.

سؤال: يبدو ان اختيار ال -trigraphs لا يعمل مع clang++ لكنه يعمل مع g++. هل

يعرف احد ايه المشكلة مع clang++؟

وشكرا على الالغاز المسلية مصطفى

حان الموعد حان موعدنـا :ph34r:  جاء البطل يفرح شاشتنا
اهجم اهجم، لا تلــــــــي :ph34r:  نحن معك أجمعيـــــــــن

#5

أهلاً بك جونكر

هل يمكنك التأكد إذا كان هناك تعليمات للمترجم مثل Wtrigraphs- للـ gcc فهي لا تعمل بدونها , ربما يكون نفس الشيء عندك

#6

نعم جربتها لكن مترجم clang++ لا يزال لا يعمل ويطبع نفس رسالة التحذير.

 

ربما بق في clang++ ولم يتم اكتشافه لان الترايجرافز مهجورة

حان الموعد حان موعدنـا :ph34r:  جاء البطل يفرح شاشتنا
اهجم اهجم، لا تلــــــــي :ph34r:  نحن معك أجمعيـــــــــن

#7
اقتباس

 

هل درست ++C من الـ manual ؟

 

مالذي تعنيه بدراسة ال c++ من ال manual

 

إذا كنت تقصد تعلم اللغة من المصدر الخاص بها (من موقع اللغة أو ما شابه)

 

فأرجو أن تدلني عليه من فضلك لأن هذا ما أبحث عنه

1

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…