Modern C++ और C Alternatives

Function Overloading और C Alternatives

एक operation कई types के साथ उपयोग करें।

Function Overloading और C Alternatives क्या है?

C++ parameter type से overload चुनता है; C को अलग names या generic dispatch चाहिए।

महत्वपूर्ण बातें

  • पहले C mechanism समझें।
  • Ownership के लिए RAII और value semantics उपयोग करें।
  • Macros और casts से अधिक type-safe abstractions चुनें।

C और C++ code examples

C
कोड चलाएँ →
main.c
#include <stdio.h>

int max_int(int left, int right) {
    return left > right ? left : right;
}

double max_double(double left, double right) {
    return left > right ? left : right;
}

int main(void) {
    printf("%d %.1f\n", max_int(3, 8), max_double(4.5, 2.0));
}
अपेक्षित output
8 4.5
C++
कोड चलाएँ →
main.cpp
#include <iostream>

int maximum(int left, int right) {
    return left > right ? left : right;
}

double maximum(double left, double right) {
    return left > right ? left : right;
}

int main() {
    std::cout << maximum(3, 8) << ' '
              << maximum(4.5, 2.0) << '\n';
}
अपेक्षित output
8 4.5

C और C++ की तुलना

C function name में type encode करता है। C++ एक name रखकर compile time पर बिना runtime cost resolve करता है।

C

C prefixes, callbacks, macros और context structs उपयोग करता है।

C++

Language scoped और type-safe abstractions देता है।

अभ्यास

दोनों versions चलाकर बदलें और language guarantees की तुलना करें।

  • पहले C mechanism लिखें।
  • Manual cleanup को RAII से बदलें।
  • Allocation और virtual dispatch जाँचें।

चैलेंज से अभ्यास करें

इस पाठ में सीखी बात से एक असली समस्या हल करें। हर चैलेंज ब्राउज़र में चलता है, तुरंत टेस्ट और AI रिव्यू के साथ।

सभी चैलेंज