संभव डुप्लिकेट:
What is “->” after function declaration?उपयोग - समारोह घोषणा में>
मैं सिर्फ सी ++ नई auto
कीवर्ड का उपयोग कार्यों का निम्न उदाहरण का सामना करना पड़ा है, और मुझे उम्मीद थी कोई मुझे समझने में मदद कर सकता है कि वाक्यविन्यास का क्या अर्थ है।
template <class T, class U>
auto add(T t, U u) -> decltype(t + u);
auto f = [](int a, int b) -> int {
return a*b;
};
विशेष रूप से, मैं समारोह हस्ताक्षर में ->
के उपयोगकर्ता लेकर संदेह में हूँ और मैं उम्मीद होती है इन के रूप में
template <class T, class U>
auto add(T t, U u)
{
decltype(t + u);
}
auto f = [](int a, int b){
return a*b;
};
में लिखे जाने की क्या है ->
ऑपरेटर वहाँ में कर रही है, और जहां क्या मैं इस वाक्यविन्यास के बारे में और जान सकता हूं?
template <class T, class U>
decltype(t + u) add(T t, U u) { ... }
... सी में सही नहीं होगा ++:
... यह सही नहीं है क्योंकि यह दायरे में होने से पहले 't' और' u' का उपयोग करता है (वे केवल पैरामीटर सूची में घोषित किए जाते हैं)। –