Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C++0x³¢ÏÊ ÓÃlambda±í´ïʽģÄâRubyµÄ¹ý³Ì¶ÔÏó

¹ØÓÚC++0x
Ô¤¼ÆÓÚÃ÷Äêµ×ÍƳöµÄбê×¼C++0x£¬Ëä˵ÒѽӽüÊչٽ׶Σ¬È´ÈÔÓÐÈô¸ÉÓдý½ÓÄɵÄÐÂÌá°¸±»Ìá³ö¡£ÓÈÆäÖµµÃ¹Ø×¢µÄÊÇ£¬Óëlambda±í´ïʽÒÔ¼°¾Ö²¿º¯ÊýÏà¹ØµÄÌá°¸“Unified Function Syntax£¨Í³Ò»µÄº¯ÊýÓï·¨£©”£¬¾¡¹Ü²»Êܱê׼ίԱ»á´ý¼û£¨Á½Äê¼äÀú¾­ËÄ´ÎÑÓ³Ù±í¾ö£¬Á½´Î²»Óèͨ¹ý£©£¬ÈÔÈ»“ÍçÇ¿µØ”ÍƳöÁËÆäµÚ7¸ö°æ±¾N2989£¬Ìá°¸×÷Õßïƶø²»ÉáµÄ¾«ÉñʵÔÚÁîÈËÇÕÅå¡£
 
¹ØÓÚlambda±í´ïʽ
Êܺ¯ÊýÐͱà³Ì·ç¸ñµÄÓ°Ï죬һЩOOPΪÖ÷Ìâ˼ÏëµÄ¾²Ì¬ÓïÑÔ·×·×ÍƳöÁËlambdaÕâÒ»ÒÔ¶ÌСµÄÄäÃûº¯ÊýΪÌصãµÄÓïÑÔÉèÊ©£¬µäÐ͵ÄÈç΢ÈíµÄVB9ºÍC#3.0¡£Óë´ËÏà¶ÔÓ¦µÄÊÇ£¬Öڶද̬½Å±¾ÓïÑÔ£¨python, ruby, javascript£©ÔòÔç¾Í¾ß±¸ÁËÏàÓ¦µÄÓïÑÔÌØÐÔ£¬RubyµÄ¹ý³Ì¶ÔÏó±ãÊÇÆäÖÐÒ»Àý¡£ÕâÒ»´Î½èC++0xбê×¼µÄ¶«·ç£¬C++ÓïÑÔ²»¸ÊÈ˺óͬÑùÒýÈëÁËÕâÒ»¼¤¶¯ÈËÐĵÄÐÂÌØÐÔ£¬Îªº¯ÊýÐͱà³Ì·ç¸ñÔÚC++ÓïÑÔÄڵĽøÒ»²½Íƹã´òÏÂÁ˼áʵµÄ»ù´¡¡£
 
ÒÔÏÂÓÃC++0xÖеÄlambda±í´ïʽÀ´Ä£ÄâRubyµÄ¹ý³Ì¶ÔÏó¡£
 
Ruby´úÂë
class Array
def inject(n)
each { |value| n = yield(n, value) }
n
end
def sum
inject(0) { |n, value| n + value }
end
def product
inject(1) { |n, value| n * value }
end
def find
for i in 0...size
value = self[i]
return value if yield(value)
end
return nil
end
end
[ 1, 2, 3, 4, 5 ].sum # 15
[ 1, 2, 3, 4, 5 ].product # 120
[ 1, 2, 3, 4, 5 ].find {|v| v*v > 10 } # 4

ÓйØRubyµÄ¹ý³Ì¶ÔÏóÒÔ¼°Õâ¶ÎRuby´úÂëµÄ˵Ã÷£¬Çë²Î¿¼RubyÓïÑÔÖеķº»Øµ÷¼°ÆäÔÚC++ÓïÑÔÖеÄÄ£ÄâʵÏÖÒ»ÎÄ¡£
 
C++´úÂë
#include <array>
#include <functional>
//#include <numeric>
#include <algorithm>
#include <boost/assign.hpp>
#include <iostream>
using namespace std;
template<typename T>
struct Array : public vector<T>
{
template<typename _Iter>
Array(_Iter _First, _Iter _Last) : vector(_First, _Last) {}
T inject(T n, function<T(T,T)> f) const {
for_each(begin(), end(), [&](T value){n = f(n, value);});
return n;


Ïà¹ØÎĵµ£º

DelphiºÍC++Êý¾ÝÀàÐͶÔÕÕ±í

DelphiºÍC++Êý¾ÝÀàÐͶÔÕÕ±í
Delphi        ×Ö³¤/ÖµÓò                                C++
ShortInt  &n ......

C++ÖÐextern ¡°C¡±º¬ÒåÉî²ã̽Ë÷ [ת]



1.
ÒýÑÔ
¡¡¡¡C++
ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”
£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++
ÖÐÀàËÆC
ÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëC
ÓïÑÔÍêÈ«Ïàͬ¡£×÷ ΪһÖÖÓûÓëC
¼æÈݵÄÓïÑÔ£¬C++
±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌص㣨±»ÊÀÈ˳ÆΪ“
²»³¹µ×µØÃæÏò¶ÔÏó”
£©£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚ ......

C/C++ÓïÑÔ±à³ÌÐÞÑø£¨×ª£©

±à³ÌÐÞÑø £¨×÷Õߣº³Â𩣩
————
ת×Ô:http://blog.chinaunix.net/u1/49717/showart.php?id=2138481 
ʲôÊǺõijÌÐòÔ±£¿ÊDz»ÊǶ®µÃºÜ¶à¼¼Êõϸ½Ú£¿»¹ÊǶ®µ×²ã±à³Ì£¿»¹ÊDZà³ÌËٶȱȽϿ죿
ÎÒ¾õµÃ¶¼²»ÊÇ¡£¶ÔÓÚһЩ¼¼Êõϸ½ÚÀ´ËµºÍµ×²ãµÄ¼¼Êõ£¬Ö»Òª¿´°ïÖú£¬²é×ÊÁϾÍÄÜÕÒµ½£¬¶Ô
ÓÚËÙ¶È¿ì£¬Ö ......

c/c++ °æ¡°¾­µä¡±ÎÊÌâ½â´ð


·¢ÌùÇ°ÇëÏȶÁ£ºc/c++ °æ“¾­µä”ÎÊÌâ½â´ð
C/C++Ò»Ö±¶¼ÊǵØÇòÉÏʹÓÃ×î¹ã·ºµÄ±à³ÌÓïÑÔ£¬¶øÎÒÃǵÄC/C++°æ×ÔÈ»ÈËÆøÒ²²»²î£¬µ«ÊÇÒ»Ö±¶¼ÓÐһЩºÝ³õ¼¶µÄÎÊÌâÌáÁËÓÖÌᣬ²¢²»ÊÇ˵ÕâЩÎÊÌâÈçºÎÈçºÎµÄ²»ºÃ£¬»¹ÊÇÈçºÎÈçºÎµÄÈõÖÇ£¬ÕâЩÎÊÌâÒ»Ö±¶¼ÊÇÐÂÊÖѧϰµÄ»ù´¡£¬ÊDZØÐëÒª¾­¹ýµÄÃż÷£¬ËùÒÔÒ²ÓдæÔڵıØÒª£¬µ«ÊÇÌáµÄ¶àÁË£¬ ......

ǶÈëʽC/C++¿ª·¢ÖеĴúÂëÓÅ»¯

ÊÂÇéÓ¦¸Ã±»×öµÃ¾¡¿ÉÄܵļòµ¥£¬µ«²»ÊÇÈÎÒâµØ¼òµ¥»¯¡£
¨D¨D°®Òò˹̹
ËäÈ»×öºÃµÄ³ÌÐòÄÜ°´ÏîÄ¿ÐèÇóÕýÈ·ÔËÐе½×îºóÒ»²½£¬µ«ÔÚǶÈëʽϵͳ¿ª·¢Öв¢²»×ÜÊÇÄܳɹ¦µÄ¡£ÓÉÓڵͳɱ¾µÄÐèÒªÓ²¼þÉè¼ÆÕß¼¸ºõ²»¿ÉÄÜÉè¼Æ³ö×ã¹»µÄÄÚ´æºÍ´¦ÀíÆ÷ÐÔÄÜÀ´Ê¹µÃ³ÌÐòÄܱ»ÔËÐС£µ±È»£¬ÔÚÈí¼þ¿ª·¢¹ý³ÌÖÐʹµÃ³ÌÐòÄܹ»ÕýÈ·ÔËÐÐÊǸüÖØÒªµÄ¡£ÎªÁËÕâµã£¬Í¨³£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ