int DFS(a, b,c,d)
{
first=a+b;
second=c+d;
return(first,second);
}
solution, cost_limit = DFS(a, b,c,d);
क्या मैं ऐसा कुछ कर सकता हूं? और कैसे?क्या मैं सी ++ पर एक ही समय में 2 चर में असाइन कर सकता हूं?
int DFS(a, b,c,d)
{
first=a+b;
second=c+d;
return(first,second);
}
solution, cost_limit = DFS(a, b,c,d);
क्या मैं ऐसा कुछ कर सकता हूं? और कैसे?क्या मैं सी ++ पर एक ही समय में 2 चर में असाइन कर सकता हूं?
सी ++ में आप टुपल प्रकार और tie
का उपयोग कर सकते हैं।
#include <tuple>
std::tuple<int, int> DFS (int a, int b, int c, int d)
{
return std::make_tuple(a + b, c + d);
}
...
int solution, cost_limit;
std::tie(solution, cost_limit) = DFS(a, b, c, d);
यदि सी ++ 11 कोई विकल्प नहीं है, तो [बूस्ट टुपल लाइब्रेरी] (http: //www.boost। संगठन/डॉक्टर/libs/रिलीज/libs/tuple/डॉक्टर/tuple_users_guide.html) इन सुविधाओं को प्रदान करता है। –
यदि सी ++ 11 कोई विकल्प नहीं है, तो भी आप सी ++ 03 की 'std :: जोड़ी
@Antionio का उपयोग कर सकते हैं: लेकिन सी ++ 03 में कोई 'टाई' नहीं है, इसलिए यह बहुत बदसूरत लग रहा है: 'std :: जोड़ी
आप इस दो तरीकों कर सकते हैं:
दो मूल्यों के साथ एक struct बनाएँ और इसे वापस: साथ
void DFS(a, b, c, d, int& first, int& second)
{
// assigning first and second will be visible outside
}
कॉल:
struct result
{
int first;
int second;
};
struct result DFS(a, b, c, d)
{
// code
}
मापदंडों बाहर है:
DFS(a, b, c, d, first, second);
एक बात आप को पता होना चाहिए कि अगर ए, बी, सी, डी आधार प्रकार नहीं हैं, लेकिन एक वर्ग आप परिभाषित के उदाहरण, के फू कहते हैं, और आप = वर्ग के ऑपरेटर को ओवरलोड, आपको यह तथ्य सुनिश्चित करना होगा कि ऑपरेटर असाइन किए गए ऑब्जेक्ट का संदर्भ वापस करेगा, या नहीं, आप श्रृंखला असाइनमेंट (समाधान = cost_limit = DFS (..) केवल cost_limit को असाइन नहीं कर पाएंगे)। = ऑपरेटर इस तरह दिखना चाहिए:
Foo& Foo::operator =(const Foo& other)
{
//do stuff
return other;
}
तो सी ++ 11 संभव नहीं है, यह संदर्भ का उपयोग करना संभव है।
पैरामीटर में चर के संदर्भ को पारित करके।
int DFS(int a, int b, int c, int d, int &cost_limit)
{
cost_limit = c + d;
return a + b;
}
int solution, cost_limit;
solution = DFS(a, b, c, d, cost_limit);
यह बहुत अस्पष्ट है कि आप यहां क्या पूछ रहे हैं। मैं आपको सुझाव दूंगा कि आप असाइन करके क्या मतलब रखते हैं, और एक चर द्वारा आपका क्या मतलब है। –