C++ में फंक्शन और मेथड के लिए inline कीवर्ड कब लिखना चाहिए?
सभी को नमस्ते! मैं एक शुरुआती C++ डेवलपर हूँ, और मुझे inline कीवर्ड के बारे में हमेशा एक सवाल परेशान करता है। मैं समझता हूँ कि यह फंक्शन के कोड को कॉल की जगह पर "डाल" देता है, ताकि कॉल के ओवरहेड से बचा जा सके। लेकिन व्यवहार में, मैं देखता हूँ कि आधुनिक कंपाइलर (GCC, Clang, MSVC) अक्सर खुद तय करते हैं कि फंक्शन को इनलाइन करना है या नहीं, भले ही मैंने inline न लिखा हो। और इसके विपरीत, अगर मैं inline लिखता हूँ, तो कंपाइलर इसे अनदेखा कर सकता है और इनलाइन नहीं कर सकता।
अंत में, मैं उलझन में हूँ। यहाँ एक उदाहरण है:
```cpp
// फ़ाइल utils.h
int square(int x) {
return x * x;
}
// फ़ाइल main.cpp
#include "utils.h"
int main() {
int a = square(5);
return 0;
}
```
अगर मैं इस हेडर फ़ाइल को कई .cpp फ़ाइलों में शामिल करूँ, तो लिंकर मल्टीपल डेफ़िनिशन की त्रुटि देगा। मुझे बताया गया कि मुझे जोड़ना चाहिए