سؤال

وعند النظر إلى بعض التعليمات البرمجية لاحظت أن ديف آخر قد تغيرت كل مثيل فيا ل! كاذبة. لماذا تفعل ذلك؟ تشك

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

المحلول

وليس هناك سبب وجيه للكتابة! زائف بدلا من صحيح.
ويمكن أن تشمل أسباب سوء التشويش (مما يجعل رمز من الصعب قراءة)، التفضيلات الشخصية، والذي يعتبر سيئا العالمية للبحث واستبدال، والاشكالات تحويل القيم المنطقية إلى أعداد صحيحة.

فمن الممكن أن بعض الالتباس وقد الناجمة عن تعريفات الصواب والخطأ في Win32، وهي ليست من نوع منطقي ولكن [إينتس]، والتي قد تؤدي إلى تحذيرات عند استخدامها في البيانات المنطقية. أساسا، أي شيء غير صفرية هو "الحقيقي"، ولكن إذا كنت ترغب في التأكد من أن "صحيح" هو دائما واحدة عند استخدام الأعداد الصحيحة بدلا من القيم المنطقية، ترى أحيانا الاشكالات مثل هذا. انها لا تزال غير سبب وجيه؛ -)

نصائح أخرى

وليس لدي أي فكرة ولقد تم كتابة C ++ لبعض الوقت. وأظن ان كل ما الأسباب التي لم تكن جيدة منها.

وأنا أعتقد أن هذا هو الشيء التاريخي. IIRC كان هناك مشكلة في بعض C / C ++ المجمعين معرفة ما يمكن أن يستخدم المترجم لتمثيل صحيح كما. يمكنك أن تعرف كاذبة صفرا وبالتالي! كاذبة سيكون مهما كانت ABI الحالي سوف يكون على النحو الصحيح.

وبشكل عام هذا لا لزوم لها ولكن هناك عدد قليل من حالة خاصة حيث أنها مفيدة ولكن لا أستطيع أن أفكر واحد.

قد يكون من الضروري إذا كان الخط

و#define true false

<فقط م> حدث أن تكون في مكان ما في رؤوس:)

وربما حصل على الكثير من الصواب والخطأ في التعليمات البرمجية له وانه يريد عكس ذلك بسهولة، وانه يمكن فقط استخدام محرر بلاده البحث والاستبدال،

وأنا لا أعرف فعلا ولكن قد يكون ذلك صحيحا ليس 1 (أي شيء> 0) وFALSE صفر حتى "لا كاذبة" = 1 حتى انه سيكون في مكان آمن

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