क्यों ग मानक एक memswap समारोह है, जो शायद लगेगा की तरह नहीं है नहीं है:क्यों दिया गया मानक memswap समारोह
int memswap(void *ptr1, void *ptr2, size_t nbytes)?
मैं जानता हूँ कि यह लिखना आसान होगा, लेकिन मुझे लगता है कि libc कुछ गतिशीलताओं की तरह इसे गति देने के लिए कुछ भयानक चाल कर सकता है यह memcpy के लिए करते हैं।
सर्वश्रेष्ठ एल्गोरिदम आपके लिए आवश्यक नहीं है।जीसीसी में एक कीवर्ड के रूप में 'यादृच्छिक' है, और यह कि आप किस चीज को याद कर रहे हैं, उसके आधार पर, यह फ़ंक्शन कॉल छोड़ सकता है, या लूप के लिए एक अनलॉक हो सकता है, या इन दिनों कंप्यूटर्स स्मार्ट हैं। – Claudiu
खैर, उनमें से प्राकृतिक परिणाम हैं: ओवरलैप -> यूबी, लंबाई == 0 -> नो-ऑप, संभवतया एक निश्चित मात्रा में स्टैक, नल-पॉइंटर -> यूबी का उपयोग करके होना चाहिए। वहां किसी भी तरह से आश्चर्यजनक नहीं है। – Deduplicator
मैं मानता हूं कि सर्वश्रेष्ठ एल्गोरिदम आप जो कर रहे हैं उस पर निर्भर कर सकते हैं, लेकिन आप गतिशील बफर के बिना यह 'memswap' फ़ंक्शन भी लिख सकते हैं, char-by-char (sizeof (char) = 1byte) – Zorgatone