2013-04-20 10 views
8

मैंने देखा < = और > = एक कोड में प्रयोग किया जाता? http://community.topcoder.com/stat?c=problem_solution&rm=151152&rd=5854&pm=2923&cr=310333<= ऑपरेटर सी ++ अधिक से अधिक कम प्रश्न चिह्न पर हस्ताक्षर के बराबर होती है

मैं अगर यह मानक है परीक्षण करने के लिए शामिल किए बिना संकलन करने की कोशिश की है, लेकिन यह नहीं था काम नहीं करता

question-mark.cpp:15:5: error: expected primary-expression before ‘?’ token question-mark.cpp:15:6: error: expected primary-expression before ‘=’ token question-mark.cpp:15:9: error: expected ‘:’ before ‘;’ token question-mark.cpp:15:9: error: expected primary-expression before ‘;’ token

#include <stdio.h> 
#include <algorithm> 
#include <iostream> 
#include <sstream> 
#include <string> 
#include <vector> 

using namespace std; 

int main() 
{ 

    int x = 3; 
    int y = 2; 
    x >?= y; 
    printf("x = %d\n", x); 

    return 0; 
} 

यहाँ कैसे यह लिंक से कोड में प्रयोग किया जाता है है::

x <?= h[i][j]; // x = (h[i][j] < x) ? h[i][j] : x; 

मैं इस काम कैसे कर सकते हैं मैं तो शामिल है, लेकिन यह अभी भी एक ही त्रुटि देता है जोड़ा?

+0

संभावित डुप्लिकेट [> = = ऑपरेटर का मतलब क्या है?] (Http://stackoverflow.com/questions/5199630/what-does-the-operator-mean) – 0x499602D2

+0

कृपया एक सर्वोत्तम उत्तर चुनें। – 0x499602D2

उत्तर

9

ये जीसीसी एक्सटेंशन ऑपरेटर हैं। a <?= b का अर्थ है a = min(a, b) (>?= "अधिकतम" ऑपरेटर है), लेकिन यह केवल एक बार बाएं हाथ की ओर अभिव्यक्ति का मूल्यांकन करता है। यह महत्वपूर्ण नहीं है जब a एक चर है, लेकिन यह एक फर्क पड़ सकता है जब a एक अभिव्यक्ति का प्रतिनिधित्व करता है, खासकर जब अभिव्यक्ति का दुष्प्रभाव होता है। उदाहरण के लिए,

*dest++ <?= *src++; 

में dest++ में ++ केवल एक बार मूल्यांकन किया जाना होगा।

दोनों ऑपरेटर अब deprecated रहे हैं।

+0

धन्यवाद! अच्छा लगा। न्यूनतम और अधिकतम अधिक पठनीय हैं। =) – Leandro

+1

मुझे यकीन नहीं है कि यह वही है, क्योंकि '

3

यह एक जीसीसी विस्तार है।

x = max(x, y); 

मैं इसे हालांकि थोड़ी देर में इस्तेमाल नहीं देखा है: x >?= y बराबर है।

+0

निश्चित रूप से यह 'x = अधिकतम (x, y)' होना चाहिए? –

+0

+1 यदि आप संभव हो तो कुछ स्रोत प्रदान कर सकते हैं? – taocp

+1

@tacp: उनका उल्लेख किया गया है [यहां] (http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Deprecated-Features.html#Drerecated- विशेषताएं), लेकिन केवल यह कहने के लिए कि वे ' हटा दिया गया है। –

संबंधित मुद्दे