سؤال

لقد صادفت بعض التعليمات البرمجية التي تحيط بقيمة الإرجاع من طريقة/وظيفة بين قوسين.

ماذا يفعل ذلك؟

التقطت الكود الذي رأيته صورة ، وتغيير حجمها ثم أعادتها.

- (UIImage *)resizeImage:(UIImage *)image
{
    //
    // some fascinating, but irrelevant, resizing code here
    //

    return (image);
}
هل كانت مفيدة؟

المحلول

على الأقل فيما يتعلق بـ C ، فإنه لا يوجد فرق. Parens ليست ضرورية ، لكنها لا تغير معنى بيان العودة. القواعد النحوية لبيان العودة

إحالة الإرجاع:
    إرجاع التعبيريختار، يقرر ;

وواحد من إنتاجات التعبير غير الطرفي هو أقواس التعبير, ، أو ( التعبير ).

نصائح أخرى

لا شئ. إنه عديم الفائدة تمامًا.

يتجاوز الأسبقية للمشغل ، ومع ذلك لن يكون لأي مشغل الأسبقية أقل من "العودة".

الإجابة المختصرة هي ببساطة أنه خيار نمط ، مثل استخدام "/ * تعليقات */" بدلاً من "// التعليقات"

في حالتك ، فإنه يعادل كتابة العودة دون الأقواس. عادة ، يمكنك استخدام الأقواس لنوع الصب ، أو إذا كنت ترغب في التعامل مع تعبير ككتلة مستقلة.

فمثلا:

// This is an untyped pointer to an instance of SomeClass
void* ptr = instance;

// In order to let the compiler know that ptr is an instance of SomeClass
// we cast it, and then we put the cast in parentheses to be able to access
// a property on the result of the cast.
return ((SomeClass *)ptr).someproperty;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top