Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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;


Ïà¹ØÎĵµ£º

c/c++ÖÐÄÚ´æÇøÓò»®·Ö´ó×ܽá

Ò». ÔÚcÖзÖΪÕ⼸¸ö´æ´¢Çø
1.Õ» - ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å
2.¶Ñ - Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ
3.È«¾ÖÇø£¨¾²Ì¬Çø£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬Î´³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£- ³ÌÐò½áÊøÊÍ·Å
4.ÁíÍ ......

×Ô¶¯¸ü¸Ä×ÀÃæ±³¾° c/c++ win32

Õâ¸ö³ÌÐò½ö¹©±à³Ì²Î¿¼
ÈôÏëÔÚƽʱÓã¬ÇëÏÂÔØ΢ÈíµÄwallpaper changer
ÎÒÕâ¸ö³ÌÐòʵÏÖÁ˶¨Ê±¸ü»»×ÀÃæ±³¾°µÄ¹¦ÄÜ
ÃüÁîÐÐ wallpaper "your images' directory path" time_in_minute
±à³ÌÒªµã
findfirstfile findnextfile ²éÕÒͼÏñÎļþ
SystemParametersInfo  ÐÞ¸ÄϵͳÐÅÏ¢£¬ÔÚÕâ¶ùµ±È»ÊÇ×ÀÃæ±³¾°
×¢²á±í²Ù×÷ ±£´æÐ ......

תÌù C/C++³ÌÐòÔ±³£¼ûÃæÊÔÌâÉîÈëÆÊÎö

1.ÒýÑÔ   ±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº­¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û-¡£
 Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔ ......

c/c++ Êý×Öת³É×Ö·û´®, ×Ö·û´®×ª³ÉÊý×Ö

Êý×Öת×Ö·û´®£º
ÓÃC++µÄstreanstream:
#include <sstream>
#Include <string>
string num2str(double i)
...{
        stringstream ss;
        ss<<i;
        return ss.str();
......

¶¨ÒåC/C++È«¾Ö±äÁ¿/³£Á¿¼¸ÖÖ·½·¨µÄÇø±ð£¨×ª£©


 
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
1. ±àÒëµ¥Ôª(Ä£¿é)£º
    ÔÚIDE¿ª·¢¹¤¾ß´óÐÐÆäµÀµÄ½ñÌ죬¶ÔÓÚ±àÒëµÄһЩ¸ÅÄîºÜ¶àÈËÒѾ­²»ÔÙÇå³þÁË£¬ºÜ¶à³ÌÐòÔ±×îŵľÍÊÇ´¦ÀíÁ¬½Ó´íÎó(LINK ERROR), ÒòΪËü²»Ïñ±àÒë´íÎóÄÇÑù¿ÉÒÔ¸ø³öÄã³ÌÐò´íÎóµÄ¾ßÌåλÖã¬Äã³£³£¶ÔÕâÖÖ´íÎó¸Ðµ½°ÃÄÕ£¬µ«ÊÇÈç¹ûÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ