[ת] C/C++ STL֮remove
http://www.cppreference.com/wiki/cn/stl/algorithm/remove
Óï·¨:
#include <algorithm>
forward_iterator remove( forward_iterator start, forward_iterator end, const TYPE& val );
remove Ëã·¨ÒÆ³ý [start,end) ·¶Î§Ö®ÄÚµÄËùÓÐÓë val ÏàµÈµÄÔªËØ¡£
´Ëº¯ÊýµÄ·µ»ØÖµÊÇÒ»¸öµü´úÆ÷£¬ËüÖ¸Ïò²»°üº¬Óë val ÏàµÈµÄÔªËØµÄÐÂÐòÁеÄ×îºóÒ»¸öÔªËØµÄºóÃæ¡£
×¢ÒâremoveµÄʵÏÖͨ³£²¢²»ÕæµÄ´Ó [start, end) ·¶Î§ÄÚÒÆ³ýÔªËØ£»Èç¹ûÔÚÒ»¸öÈÝÆ÷ÉÏÃæµ÷ÓÃremove£¬ÔÚµ÷ÓÃÖ®ºó´ËÈÝÆ÷µÄ³¤¶È²¢²»»á·¢Éú¸Ä±ä£¨Ö»Í¨¹ýiterators£¬remove²¢²»ÄÜÓ°ÏìÈÝÆ÷µÄ³¤¶È£©£¬ËùÓÐÔªËØ»¹ÊÇÁôÔÚÈÝÆ÷ÄÚ¡£È»¶ø£¬remove½«ËùÓб» “removed” µÄÔªËØ·ÅÔÚÈÝÆ÷µÄβ²¿£¬È»ºó·µ»ØÒ»¸öÇø·Öδ±»É¾³ýºÍ±»É¾³ýÔªËØµÄµü´úÆ÷¡£ÎªÁË´ÓÒ»¸öÈÝÆ÷ɾ³ýÔªËØ£¬ÄãÓ¦¸Ãµ÷ÓôËÈÝÆ÷µÄ erase ·½·¨É¾³ý´Ó·µ»ØµÄµü´úÆ÷£¨iterator£©´¦¿ªÊ¼µÄÔªËØ¡£Õâͨ³£±»ÁªºÏÆðÀ´³Æ×÷£ºerase-remove idiom:
container.erase(remove(container.begin(), container.end(), val), container.end());
(container can be of type vector, string or deque)
remove º¯ÊýµÄʱ¼ä¸´ÔÓ¶ÈÊÇÏßÐԵģ¨linear time£©¡£
Ïà¹Ø»°Ì⣺remove_copy, remove_copy_if, remove_if, unique, unique_copy
Ïà¹ØÎĵµ£º
/*
* 2010-1-21
* ¸ÃÎļþʱÄÚºËÖÐÓйØÈÎÎñµ÷¶ÈµÄº¯Êý³ÌÐò£¬ÆäÖаüº¬»ù±¾º¯Êýsleep_on£¬
* wakeup£¬scheduleµÈ£¬ÒÔ¼°Ò»Ð©¼òµ¥µÄϵͳµ÷Óá£Í¬Ê±½«ÈíÅ̵ö²Ù×÷
* º¯ÊýÒ²·ÅÖÃÔÚÕâÀï¡£
*
* scheduleº¯ÊýÊ×ÏȶÔËùÓеÄÈÎÎñ¼ì²é£¬»½ÐÑÈκÎÒ»¸öÒѾµÃµ½ÐźŵÄÈÎÎñ£¬
* ......
http://public0821.javaeye.com/blog/423941
C++µ÷ÓÃJAVAÖ÷ÒªÓõ½ÁËSUN¹«Ë¾µÄJNI¼¼Êõ£¬ JNIÊÇJava Native InterfaceµÄ Ëõд¡£´ÓJava 1.1¿ªÊ¼£¬Java Native Interface (JNI)±ê×¼³ÉΪjavaƽ̨µÄÒ»²¿·Ö£¬ËüÔÊÐíJava´úÂëºÍÆäËûÓïÑÔдµÄ´úÂë½øÐн»»¥¡£Ïà¹Ø×ÊÁϼûhttp://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.htm ......
²ÉÓÃ×¢Èëµ½ÆäËû½ø³ÌµÄ·½·¨À´Òþ²Ø×Ô¼ºµÄ½ø³Ì¡£¾ÍÊÇ˵£¬°ÑÄãÏë×öµÄÊÂÇé¼ÄÉúµ½±ðÈ˵Ľø³ÌÀïÃæ¡£±ÈÈçIEʲôµÄ¡£¹ØÓÚ×¢ÈëµÄ·½·¨ºÜ¶à£¬ÏÂÃæÎÒ¸øÄãÒ»¸öDLL×¢ÈëµÄ·½·¨£¬Õâ¸öÊÇÎÒ×öijÍâ¹ÒʱÓùýµÄ´úÂ룬Äã²Î¿¼Ò»Ï°ѡ£
int APIENTRY _tWinMain( HINSTANCE hInstance,
  ......
LinuxÏÂCºÍC++¿ª·¢»ù´¡
»ù±¾±à³Ì¸ÅÄî
n ±à³ÌÓïÑÔ£ºC ¡¢C++
n ±àÒë(compile)£ºÔ´Îļþ£¨.c£©->Ä¿±êÎļþ(.o)
n Á¬½Ó(link)£ºÄ¿±êÎļþ(.o)->¿ÉÖ´ÐÐÎļþ
n ¿â(library)£º¾²Ì¬Á¬½Ó¿â(.a)¡¢¶¯Ì¬Á¬½Ó¿â(.so)
LinuxÏ¿ª·¢¹¤¾ß
n±à¼Æ÷£ºvi¡¢emacs¡¢´°¿Ú±à¼Æ÷
n±àÒëÆ÷£ºGCC
nµ÷ÊÔÆ÷£ºGDB
n¿ÉÖ´ÐÐÎļþ¹¤¾ß£ ......
/*
* linux/kernel/floppy.c
*
* (C) 1991 Linus Torvalds
*/
/*
* 02.12.91 - Changed to static variables to indicate need for reset
* and recalibrate. This makes some things easier (output_byte reset
* checking etc), and means less i ......