锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲黄色小视频,99riav国产精品,狠狠色综合色综合网络http://m.shnenglu.com/lovefeel2004/涓撴敞C/C++錛孡inuxzh-cnFri, 26 Sep 2025 18:38:05 GMTFri, 26 Sep 2025 18:38:05 GMT60涓涓潪甯告湁鐢ㄧ殑Linux鍛戒護--cuthttp://m.shnenglu.com/lovefeel2004/archive/2010/08/15/123473.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Sat, 14 Aug 2010 17:11:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/08/15/123473.htmlhttp://m.shnenglu.com/lovefeel2004/comments/123473.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/08/15/123473.html#Feedback1http://m.shnenglu.com/lovefeel2004/comments/commentRss/123473.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/123473.html闃呰鍏ㄦ枃

騫芥ⅵ鏂板獎 2010-08-15 01:11 鍙戣〃璇勮
]]>
CentOS甯哥敤鍛戒護(鏀惰棌)http://m.shnenglu.com/lovefeel2004/archive/2010/08/15/123472.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Sat, 14 Aug 2010 17:03:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/08/15/123472.htmlhttp://m.shnenglu.com/lovefeel2004/comments/123472.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/08/15/123472.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/123472.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/123472.html鍦ㄧ數鑴戝父鐢ㄦ搷浣滀腑錛屾垜浠粡甯鎬細鐢ㄥ埌CentOS甯哥敤鍛戒護銆傛墍浠ワ紝鎴戜滑瀵逛竴浜涚粡甯鎬嬌鐢ㄥ張寰堥噸瑕佺殑CentOS甯哥敤鍛戒護榪涜浜嗗叏闈㈢殑鏁寸悊銆備笅闈紝灝辯粰澶у浠嬬粛榪欎簺CentOS甯哥敤鍛戒護銆?/p>

涓錛氫嬌鐢–entOS甯哥敤鍛戒護鏌ョ湅cpu

more /proc/cpuinfo | grep "model name"  
grep "model name" /proc/cpuinfo  
[root@localhost /]# grep "CPU" /proc/cpuinfo  
model name      : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz  
model name      : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz  
濡傛灉瑙夊緱闇瑕佺湅鐨勬洿鍔犺垝鏈?br>grep "model name" /proc/cpuinfo | cut -f2 -d:

浜岋細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅鍐呭瓨

grep MemTotal /proc/meminfo  grep MemTotal /proc/meminfo | cut -f2 -d:  free -m |grep "Mem" | awk '{print $2}'

涓夛細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅cpu鏄?2浣嶈繕鏄?4浣?/strong>

鏌ョ湅CPU浣嶆暟(32 or 64)
getconf LONG_BIT

鍥涳細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅褰撳墠linux鐨勭増鏈?/strong>

more /etc/redhat-release
cat /etc/redhat-release

浜旓細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅鍐呮牳鐗堟湰

uname -r
uname -a

鍏細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅褰撳墠鏃墮棿

date涓婇潰宸茬粡浠嬬粛濡備綍鍚屾鏃墮棿浜?/p>

涓冿細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅紜洏鍜屽垎鍖?/strong>

df -h
fdisk -l
涔熷彲浠ユ煡鐪嬪垎鍖?br>du -sh
鍙互鐪嬪埌鍏ㄩ儴鍗犵敤鐨勭┖闂?br>du /etc -sh
鍙互鐪嬪埌榪欎釜鐩綍鐨勫ぇ灝?/p>

鍏細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅瀹夎鐨勮蔣浠跺寘

鏌ョ湅緋葷粺瀹夎鐨勬椂鍊欒鐨勮蔣浠跺寘
cat -n /root/install.log
more /root/install.log | wc -l
鏌ョ湅鐜板湪宸茬粡瀹夎浜嗛偅浜涜蔣浠跺寘
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
涓嶈繃寰堝鎬紝鎴戦氳繃rpm錛屽拰yum榪欎袱縐嶆柟寮忔煡璇㈢殑瀹夎杞歡鍖咃紝鏁伴噺騫朵笉涓鏍楓傛病鏈夋壘鍒板師鍥犮?/p>

涔濓細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅閿洏甯冨眬

cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=

鍗侊細浣跨敤CentOS甯哥敤鍛戒護鏌ョ湅selinux鎯呭喌

sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux

鍗佷竴錛氫嬌鐢–entOS甯哥敤鍛戒護鏌ョ湅ip錛宮ac鍦板潃

鍦╥fcfg-eth0 鏂囦歡閲屼綘鍙互鐪嬪埌mac錛岀綉鍏崇瓑淇℃伅銆?nbsp; ifconfig  cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR  cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=  ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-  ifconfig   | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'  鏌ョ湅緗戝叧  cat /etc/sysconfig/network  鏌ョ湅dns  cat /etc/resolv.conf  鍗佷簩錛氫嬌鐢–entOS甯哥敤鍛戒護鏌ョ湅榛樿璇█
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n

鍗佷簩錛氫嬌鐢–entOS甯哥敤鍛戒護鏌ョ湅鎵灞炴椂鍖哄拰鏄惁浣跨敤UTC鏃墮棿

cat /etc/sysconfig/clock

鍗佷笁錛氫嬌鐢–entOS甯哥敤鍛戒護鏌ョ湅涓繪満鍚?/strong>

hostname
cat /etc/sysconfig/network
淇敼涓繪満鍚嶅氨鏄慨鏀硅繖涓枃浠訛紝鍚屾椂鏈濂戒篃鎶奾ost鏂囦歡涔熶慨鏀廣?/p>

鍗佸洓錛氫嬌鐢–entOS甯哥敤鍛戒護鏌ョ湅寮鏈鴻繍琛屾椂闂?/strong>

uptime
09:44:45 up 67 days, 23:32, ...
鐪嬫潵鍒氭墠紜疄鏄綉孌電殑闂錛屾垜鐨勬満鍣ㄨ繕鏄?7澶╁墠寮鏈虹殑銆?br>#緋葷粺璧勬簮浣跨敤鎯呭喌

vmstat 1 -S m  procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------  r b   swpd   free   buff cache   si   so    bi    bo   in   cs us sy id wa st  0 0      0    233    199    778    0    0     4    25    1    1 3 0 96 0 0  0 0      0    233    199    778    0    0     0     0 1029 856 13 1 86 0 0



]]>
Oracle 10G Linux 瀹夎絎旇 http://m.shnenglu.com/lovefeel2004/archive/2010/07/03/119208.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Fri, 02 Jul 2010 16:40:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/07/03/119208.htmlhttp://m.shnenglu.com/lovefeel2004/comments/119208.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/07/03/119208.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/119208.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/119208.html絎竴閮ㄥ垎 瀹夎linux

    1.  鎿嶄綔緋葷粺鐨勫畨瑁呯渷鐣ワ紝娉ㄦ剰閰嶇疆鍥懼艦鐣岄潰

    2.  楠岃瘉瀹夎

    閫氳繃榪愯浠ヤ笅鍛戒護媯鏌ュ唴鏍哥増鏈細

    uname –r

    鍏朵粬鎵闇紼嬪簭鍖呯殑鐗堟湰錛堟垨鏇撮珮鐗堟湰錛夛細

    gcc-3.2.3-2

    make-3.79

    binutils-2.11

    openmotif-2.2.2-16

    setarch-1.3-1

    compat-db-4.0.14.5

    浠ヤ笂涓哄繀闇鐨勭▼搴忓寘

    compat-gcc-7.3-2.96.122

    compat-gcc-c++-7.3-2.96.122

    compat-libstdc++-7.3-2.96.122

    compat-libstdc++-devel-7.3-2.96.122

    浠ヤ笂涓哄彲閫夌▼搴忓寘錛屾渶濂藉畨瑁呬笂

    瑕佹煡鐪嬬郴緇熶笂瀹夎浜嗚繖浜涚▼搴忓寘鐨勫摢浜涚増鏈紝浠?root 鐢ㄦ埛韜喚榪愯浠ヤ笅鍛戒護錛?/p>

    rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel

絎簩閮ㄥ垎錛氶拡瀵?nbsp;Oracle 閰嶇疆 Linux

    1.  楠岃瘉緋葷粺瑕佹眰

    瑕侀獙璇佺郴緇熸槸鍚︽弧瓚?Oracle 10g 鏁版嵁搴?/a>鐨勬渶浣庤姹傦紝浠?root 鐢ㄦ埛韜喚鐧誨綍騫惰繍琛屼互涓嬪懡浠ゃ?/p>

    瑕佹煡鐪嬪彲鐢?RAM 鍜屼氦鎹㈢┖闂村ぇ灝忥紝榪愯浠ヤ笅鍛戒護錛?/p>

    grep MemTotal /proc/meminfo

    grep SwapTotal /proc/meminfo

    鎵闇鏈灝?RAM 涓?512MB錛岃屾墍闇鏈灝忎氦鎹㈢┖闂翠負 1GB.瀵逛簬 RAM 灝忎簬鎴栫瓑浜?2GB 鐨勭郴緇燂紝浜ゆ崲絀洪棿搴斾負 RAM 鏁伴噺鐨勪袱鍊嶏紱瀵逛簬 RAM 澶т簬 2GB 鐨勭郴緇燂紝浜ゆ崲絀洪棿搴斾負 RAM 鏁伴噺鐨勪竴鍒頒袱鍊嶃?/p>

    Oracle 10g 杞歡榪橀渶瑕?2.5GB 鐨勫彲鐢ㄧ鐩樼┖闂達紝鑰屾暟鎹簱鍒欏彟闇 1.2GB 鐨勫彲鐢ㄧ鐩樼┖闂淬?tmp 鐩綍鑷沖皯闇瑕?400MB 鐨勫彲鐢ㄧ┖闂淬傝媯鏌ョ郴緇熶笂鐨勫彲鐢ㄧ鐩樼┖闂達紝榪愯浠ヤ笅鍛戒護錛?/p>

    df –h

    2.  鍒涘緩 Oracle 緇勫拰鐢ㄦ埛甯愭埛

    鎺ヤ笅鏉ワ紝鍒涘緩鐢ㄤ簬瀹夎鍜岀淮鎶?Oracle 10g 杞歡鐨?Linux 緇勫拰鐢ㄦ埛甯愭埛銆傜敤鎴峰笎鎴峰皢縐頒負 oracle錛岃岀粍灝嗙О涓?oinstall 鍜?dba.浠? root 鐢ㄦ埛韜喚鎵ц浠ヤ笅鍛戒護錛?/p>

    /usr/sbin/groupadd oinstall

    /usr/sbin/groupadd dba

    /usr/sbin/useradd -m -g oinstall -G dba oracle

    璁劇疆 oracle 甯愭埛鐨勫彛浠わ細

    passwd oracle

    3.  鍒涘緩鐩綍

    鐜板湪錛屽垱寤哄瓨鍌?Oracle 10g 杞歡鍜屾暟鎹簱鏂囦歡鐨勭洰褰曘傛湰鎸囧崡鍦ㄥ垱寤虹洰褰曠粨鏋勬椂鎵鐢ㄧ殑鍛藉悕鎯緥絎﹀悎鏈浣崇伒媧葷粨鏋?錛圤FA錛?瑙勮寖銆傛湁鍏?OFA 鏍囧噯鐨勬洿澶氫俊鎭紝璇峰弬闃呴拡瀵?UNIX 緋葷粺鐨?Oracle 鏁版嵁搴?10g 瀹夎鎸囧崡 鐨勯檮褰?D.

    浠ヤ笅鍋囪鍦ㄦ牴鏂囦歡緋葷粺涓垱寤虹洰褰曘傝繖鏍峰仛鏄負浜嗙畝渚胯搗瑙侊紝涓嶅緩璁皢鍏朵綔涓洪氱敤鍋氭硶銆傝繖浜涚洰褰曢氬父琚垱寤轟負鍗曠嫭鐨勬枃浠剁郴緇熴?/p>

    浠?root 鐢ㄦ埛韜喚鎵ц浠ヤ笅鍛戒護錛?/p>

    mkdir -p /u01/app/oracle

    mkdir -p /u02/oradata

    chown -R oracle錛歰install /u01/app/oracle /u02/oradata

    chmod -R 775 /u01/app/oracle /u02/oradata

    4.  閰嶇疆 Linux 鍐呮牳鍙傛暟

    Linux 鍐呮牳闈炲父鍑鴻壊銆備笌澶у鏁板叾浠?*NIX 緋葷粺涓嶅悓錛孡inux 鍏佽鍦ㄧ郴緇熷惎鍔ㄥ拰榪愯鏃朵慨鏀瑰ぇ澶氭暟鍐呮牳鍙傛暟銆傚畬鎴愬唴鏍稿弬鏁版洿鏀瑰悗涓嶅繀閲嶆柊鍚姩緋葷粺銆侽racle 鏁版嵁搴?10g 闇瑕佷互涓嬫墍紺虹殑鍐呮牳鍙傛暟璁劇疆銆傚叾涓粰鍑虹殑鏄渶灝忓鹼紝鍥犳濡傛灉鎮ㄧ殑緋葷粺浣跨敤鐨勫艱緝澶э紝鍒欎笉瑕佹洿鏀瑰畠銆?/p>

    kernel.shmall = 2097152

    kernel.shmmax = 2147483648

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    fs.file-max = 65536

    net.ipv4.ip_local_port_range = 1024 65000

    濡傛灉鎮ㄦ紜殑瀹夎浜唋inux錛屼笖鍐呮牳鍙傛暟鍏ㄩ儴閲囩敤榛樿鍊鹼紝鍒欏彧闇鍦ㄤ互 root 鐢ㄦ埛韜喚鐧誨綍鍚庢墽琛屼笅鍛戒護銆?/p>

    cat >> /etc/sysctl.conf <<EOF

    kernel.shmall = 2097152

    kernel.shmmax = 2147483648

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    fs.file-max = 65536

    net.ipv4.ip_local_port_range = 1024 65000

    EOF

    /sbin/sysctl –p

    浠?root 鐢ㄦ埛韜喚榪愯浠ヤ笅鍛戒護鏉ラ獙璇佹偍鐨勮緗細

    /sbin/sysctl -a | grep shm

    /sbin/sysctl -a | grep sem

    /sbin/sysctl -a | grep file-max

    /sbin/sysctl -a | grep ip_local_port_range

    濡傛灉緋葷粺鐨勫弬鏁拌緗殑姣斾笂榪板弬鏁板煎皬錛屽垯緙栬緫 /etc/sysctl.conf 鏂囦歡錛屾坊鍔犳垨鏇存敼榪欎簺鍙傛暟銆傚畬鎴愬悗錛岃繍琛屼互涓嬪懡浠ゆ縺媧繪洿鏀癸細

    /sbin/sysctl –p

    5.  涓?oracle 鐢ㄦ埛璁劇疆 Shell 闄愬埗

    Oracle 寤鴻瀵規瘡涓?Linux 甯愭埛鍙互浣跨敤鐨勮繘紼嬫暟鍜屾墦寮鐨勬枃浠舵暟璁劇疆闄愬埗銆傝榪涜榪欎簺鏇存敼錛屼互 root 鐢ㄦ埛鐨勮韓浠芥墽琛屼笅鍒楀懡浠わ細

    cat >> /etc/security/limits.conf <<EOF

    oracle               soft    nproc   2047

    oracle               hard    nproc   16384

    oracle               soft    nofile  1024

    oracle               hard    nofile  65536

    EOF

    cat >> /etc/pam.d/login <<EOF

    session    required     /lib/security/pam_limits.so

    EOF

    cat >> /etc/profile <<EOF

    if [ \$USER = "oracle" ]錛?then

    if [ \$SHELL = "/bin/ksh" ]錛?then

    ulimit -p 16384

    ulimit -n 65536

    else

    ulimit -u 16384 -n 65536

    fi

    umask 022

    fi

    EOF

    cat >> /etc/csh.login <<EOF

    if 錛?\$USER == "oracle" 錛?then

    limit maxproc 16384

    limit descriptors 65536

    umask 022

    endif

    EOF

    6.  oracle 鐢ㄦ埛鐨勭幆澧冨彉閲?/p>

    瑕佷嬌鐢?Oracle 浜у搧錛屽簲璇ユ垨蹇呴』璁劇疆鍑犱釜鐜鍙橀噺銆傚浜庢暟鎹簱鏈嶅姟鍣?/a>錛屽緩璁緗互涓嬬幆澧冨彉閲忥細

    ORACLE_BASE

    ORACLE_HOME

    ORACLE_SID

    PATH

    濡傛灉鎮ㄥ湪鍚屼竴鏈嶅姟鍣ㄤ笂瀹夎浜嗗涓?Oracle 浜у搧鎴栨暟鎹簱錛屽垯 ORACLE_HOME銆丱RACLE_SID 鍜?PATH 鍙橀噺鍙兘浼氭洿鏀廣侽RACLE_BASE 鍙橀噺涓嶅簲鏇存敼錛屽茍鍙互鍦ㄩ渶瑕佹椂鍦ㄦ偍鐨勭櫥褰曢厤緗枃浠朵腑璁劇疆瀹冦侽racle 鎻愪緵浜嗕竴涓О浣?oraenv 鐨勫疄鐢ㄧ▼搴忔潵璁劇疆鍏朵粬鍙橀噺銆?/p>

    浠?oracle 韜喚鐧誨綍錛屽茍閫氳繃鍦?.bash_profile涓坊鍔犱互涓嬭錛?/p>

    TMP=/tmp錛?/p>

    export TMP

    TMPDIR=$TMP錛?/p>

    export TMPDIR

    ORACLE_BASE=/u01/app/oracle錛?/p>

    export ORACLE_BASE

    ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1錛?/p>

    export ORACLE_HOME

    ORACLE_SID=mydb錛?/p>

    export ORACLE_SID

    ORACLE_TERM=xterm錛?/p>

    export ORACLE_TERM

    PATH=/usr/sbin錛?PATH錛?/p>

    export PATH

    PATH=$ORACLE_HOME/bin錛?PATH錛?/p>

    export PATH

    LD_LIBRARY_PATH=$ORACLE_HOME/lib錛?lib錛?usr/lib錛?/p>

    export LD_LIBRARY_PATH

    CLASSPATH=$ORACLE_HOME/JRE錛?ORACLE_HOME/jlib錛?ORACLE_HOME/rdbms/jlib錛?/p>

    export CLASSPATH

    NLS_LANG="Simplified Chinese_china".ZHS16GBK錛?/p>

    export NLS_LANG

    姝ゆ洿鏀瑰皢鍦ㄦ偍涓嬫鐧誨綍鍒?oracle 甯愭埛鏃剁敓鏁堛?/p>

  絎笁閮ㄥ垎錛氬畨瑁?nbsp;Oracle

    1.瀹夎杞歡

    浣跨敤 oracle 甯愭埛鐧誨綍銆?/p>

    灝嗙洰褰曟洿鏀逛負 Oracle 10g 杞歡瑙e帇緙╁埌鐨勪綅緗?/p>

    鍚姩 Oracle 閫氱敤瀹夎紼嬪簭銆?/p>

    $ ./runInstaller

    1錛夋榪?/p>

    Ø         鍗曞嚮 Next.

    2錛夋寚瀹氭竻鍗曠洰褰曞拰璇佷功

    Ø         濡傛灉鎮ㄤ竴鐩村湪渚濆驚鏈寚鍗椾腑鐨勬楠わ紝鍒欎嬌鐢ㄩ粯璁ゅ煎嵆鍙傚惁鍒欙紝緙栬緫娓呭崟鐩綍鐨勮礬寰勶紝浠ユ寚鍚戞紜洰褰曘?/p>

    Ø         鎿嶄綔緋葷粺緇勫悕縐板簲涓?oinstall.

    3錛夊鏋滆繖鏄嬈″湪姝ゆ満鍣ㄤ笂瀹夎 Oracle錛屽垯鎮ㄥ皢鏀跺埌涓涓脊鍑虹獥鍙o紝鎻愮ず闇瑕佷互 root 鐢ㄦ埛韜喚榪愯 orainstRoot.sh 鑴氭湰銆備互 root 鐢ㄦ埛韜喚鐧誨綍錛屾洿鏀瑰埌紿楀彛涓寚瀹氱殑鐩綍錛屾墽琛岃鑴氭湰錛岀劧鍚庣戶緇搷浣溿?/p>

    4錛夋寚瀹氭枃浠朵綅緗?/p>

    Ø         濡傛灉鎮ㄤ竴鐩村湪渚濆驚鏈寚鍗椾腑鐨勬楠わ紝鍒欎嬌鐢ㄩ粯璁ゅ煎嵆鍙傚惁鍒欙紝鍦ㄧ戶緇搷浣滃墠紜繚婧愯礬寰勫拰鐩爣璺緞姝g‘銆?/p>

    5錛夐夋嫨瀹夎綾誨瀷

    Ø         鎺ュ彈榛樿鍊?Enterprise Edition.

    6錛変笌鐗瑰畾浜у搧鐩稿叧鐨勫厛鍐蟲潯浠剁殑媯鏌?/p>

    Ø         濡傛灉鎮ㄤ竴鐩村湪渚濆驚鏈寚鍗椾腑鐨勬楠わ紝鍒欐墍鏈夋鏌ラ兘搴旈『鍒╅氳繃銆傚鏋滀竴涓垨澶氫釜媯鏌ュけ璐ワ紝鍒欏湪緇х畫鎿嶄綔鍓嶇籂姝h闂銆?/p>

    7錛夐夋嫨鏁版嵁搴?/a>閰嶇疆

    Ø         鎺ュ彈榛樿鍊?Create a starter database 鍜?General Purpose.

    8錛夋寚瀹氭暟鎹簱閰嶇疆閫夐」

    Ø         杈撳叆鏁版嵁搴撶殑鍏ㄥ眬鏁版嵁搴撳悕縐般傝鍚嶇О搴斿寘鍚?ORACLE_SID 鍜?a style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(48,128,203); PADDING-TOP: 0px; BORDER-BOTTOM: rgb(104,195,238) 1px dotted; TEXT-DECORATION: none" target="_blank">鏈嶅姟鍣?/a>鍩熷悕錛堜緥濡傦紝demo1.orademo.org錛屽叾涓?demo1 鏄?ORACLE_SID錛宱rademo.org 鏄煙鍚嶏級銆?/p>

    Ø         杈撳叆鍏ㄥ眬鏁版嵁搴撳悕縐版椂錛孲ID 妗嗗皢鑷姩濉厖銆?/p>

    Ø         鎺ュ彈榛樿鐨勬暟鎹簱瀛楃闆嗐?/p>

    Ø         閫夋嫨 Create database with sample schemas.

    9錛夐夋嫨鏁版嵁搴撶鐞嗛夐」

    Ø         閫夋嫨 Use Database Control for Database Management.

    10錛夋寚瀹氭暟鎹簱鏂囦歡瀛樺偍閫夐」

    Ø         閫夋嫨 File System錛岀劧鍚庤緭鍏ユ暟鎹簱鏂囦歡瑕佷嬌鐢ㄧ殑璺緞鍚嶏紙鍦ㄦ湰渚嬩腑涓?/u02/oradata錛夈?/p>

    11錛夋寚瀹氬浠藉拰鎭㈠閫夐」

    Ø          閫夋嫨 Do not enable Automated backups.

    12錛夋寚瀹氭暟鎹簱妯″紡鍙d護

    Ø         閫夋嫨 Use the same password for all the accounts.

    Ø         閫夋嫨涓涓彛浠わ紝鐒跺悗杈撳叆涓ゆ榪涜紜銆?/p>

    13錛夋憳瑕?/p>

    Ø         鏄劇ず宸插畨瑁呬駭鍝佺殑鎽樿銆?/p>

    鍗曞嚮 Install.



]]>
Oracle 璇彞澶у叏http://m.shnenglu.com/lovefeel2004/archive/2010/07/03/119207.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Fri, 02 Jul 2010 16:38:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/07/03/119207.htmlhttp://m.shnenglu.com/lovefeel2004/comments/119207.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/07/03/119207.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/119207.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/119207.html闃呰鍏ㄦ枃

]]>
涓浗浣涘66鍙ラ渿鎾間笘鐣岀殑紱呰 http://m.shnenglu.com/lovefeel2004/archive/2010/06/24/118666.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Thu, 24 Jun 2010 13:18:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/06/24/118666.htmlhttp://m.shnenglu.com/lovefeel2004/comments/118666.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/06/24/118666.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/118666.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/118666.html2.濡傛灉浣犱笉緇欒嚜宸辯儲鎭鹼紝鍒漢涔熸案榪滀笉鍙兘緇欎綘鐑︽伡銆傚洜涓轟綘鑷繁鐨勫唴蹇冿紝浣犳斁涓嶄笅銆?
3.浣犳案榪滆鎰熻阿緇欎綘閫嗗鐨勪紬鐢熴?
4.浣犳案榪滆瀹芥仌浼楃敓錛屼笉璁轟粬鏈夊鍧忥紝鐢氳嚦浠栦激瀹寵繃浣狅紝浣犱竴瀹氳鏀句笅錛屾墠鑳藉緱鍒扮湡姝g殑蹇箰銆?
5.褰撲綘蹇箰鏃訛紝浣犺鎯寵繖蹇箰涓嶆槸姘告亽鐨勩傚綋浣犵棝鑻︽椂錛屼綘瑕佹兂榪欑棝鑻︿篃涓嶆槸姘告亽鐨勩?
6.浠婃棩鐨勬墽钁楋紝浼氶犳垚鏄庢棩鐨勫悗鎮斻?
7.浣犲彲浠ユ嫢鏈夌埍錛屼絾涓嶈鎵ц憲錛屽洜涓哄垎紱繪槸蹇呯劧鐨勩?
8.涓嶈嫻垂浣犵殑鐢熷懡鍦ㄤ綘涓瀹氫細鍚庢倲鐨勫湴鏂逛笂銆?
9.浣犱粈涔堟椂鍊欐斁涓嬶紝浠涔堟椂鍊欏氨娌℃湁鐑︽伡銆?
10.姣忎竴縐嶅垱浼わ紝閮芥槸涓縐嶆垚鐔熴?
11.鐙傚鐨勪漢鏈夋晳錛岃嚜鍗戠殑浜烘病鏈夋晳錛岃璇嗚嚜宸憋紝闄嶄紡鑷繁錛屾敼鍙樿嚜宸憋紝鎵嶈兘鏀瑰彉鍒漢銆?
12.浣犱笉瑕佷竴鐩翠笉婊′漢瀹訛紝浣犲簲璇ヤ竴鐩存璁ㄨ嚜宸辨墠瀵廣備笉婊′漢瀹訛紝鏄嫤浜嗕綘鑷繁銆?
13.涓涓漢濡傛灉涓嶈兘浠庡唴蹇冨幓鍘熻皡鍒漢錛岄偅浠栧氨姘歌繙涓嶄細蹇冨畨鐞嗗緱銆?
14.蹇冧腑瑁呮弧鐫鑷繁鐨勭湅娉曚笌鎯蟲硶鐨勪漢錛屾案榪滃惉涓嶈鍒漢鐨勫績澹般?
15.姣佺伃浜哄彧瑕佷竴鍙ヨ瘽錛屽煿妞嶄竴涓漢鍗磋鍗冨彞璇濓紝璇蜂綘澶氬彛涓嬬暀鎯呫?
16.鏍規湰涓嶅繀鍥炲ご鍘葷湅鍜掗獋浣犵殑浜烘槸璋侊紵濡傛灉鏈変竴鏉$柉鐙楀挰浣犱竴鍙o紝闅鵑亾浣犱篃瑕佽洞涓嬪幓鍙嶅挰浠栦竴鍙e悧錛?
17.姘歌繙涓嶈嫻垂浣犵殑涓鍒嗕竴縐掞紝鍘繪兂浠諱綍涓嶅枩嬈綘鐨勪漢銆?
18.璇蜂綘鐢ㄦ厛鎮插績鍜屾俯鍜岀殑鎬佸害錛屾妸浣犵殑涓嶆弧涓庡灞堣鍑烘潵錛屽埆浜哄氨瀹規槗鎺ュ彈銆?
19.鍚屾牱鐨勭摱瀛愶紝浣犱負浠涔堣瑁呮瘨鑽憿錛熷悓鏍風殑蹇冮噷錛屼綘涓轟粈涔堣鍏呮弧鐫鐑︽伡鍛紵
20.寰椾笉鍒扮殑涓滆タ錛屾垜浠細涓鐩翠互涓轟粬鏄編濂界殑錛岄偅鏄洜涓轟綘瀵逛粬浜嗚В澶皯錛屾病鏈夋椂闂翠笌浠栫浉澶勫湪涓璧楓傚綋鏈変竴澶╋紝浣犳繁鍏ヤ簡瑙e悗錛屼綘浼氬彂鐜板師涓嶆槸浣犳兂鍍忎腑鐨勯偅涔堢編濂姐?
21.媧葷潃涓澶╋紝灝辨槸鏈夌姘旓紝灝辮鐝嶆儨銆傚綋鎴戝摥娉f垜娌℃湁闉嬪瓙絀跨殑鏃跺欙紝鎴戝彂鐜版湁浜哄嵈娌℃湁鑴氥?
22.澶氫竴鍒嗗績鍔涘幓娉ㄦ剰鍒漢錛屽氨灝戜竴鍒嗗績鍔涘弽鐪佽嚜宸憋紝浣犳噦鍚楋紵
23.鎲庢仺鍒漢瀵硅嚜宸辨槸涓縐嶅緢澶х殑鎹熷け銆?
24.姣忎竴涓漢閮芥嫢鏈夌敓鍛斤紝浣嗗茍闈炴瘡涓漢閮芥噦寰楃敓鍛斤紝涔冭嚦浜庣弽鎯滅敓鍛姐備笉浜嗚В鐢熷懡鐨勪漢錛岀敓鍛藉浠栨潵璇達紝鏄竴縐嶆儵緗氥?
25.鎯呮墽鏄嫤鎭肩殑鍘熷洜錛屾斁涓嬫儏鎵э紝浣犳墠鑳藉緱鍒拌嚜鍦?
26.涓嶈澶偗瀹氳嚜宸辯殑鐪嬫硶錛岃繖鏍峰瓙姣旇緝灝戝悗鎮斻?
27.褰撲綘瀵硅嚜宸辮瘹瀹炵殑鏃跺欙紝涓栫晫涓婃病鏈変漢鑳藉嬈洪獥寰椾簡浣犮?
28.鐢ㄤ激瀹沖埆浜虹殑鎵嬫鏉ユ帺楗拌嚜宸辯己鐐圭殑浜猴紝鏄彲鑰葷殑銆?
29.榛橀粯鐨勫叧鎬涓庣紱忓埆浜猴紝閭f槸涓縐嶆棤褰㈢殑甯冩柦銆?
30.涓嶈鍒繪剰鍘葷寽嫻嬩粬浜虹殑鎯蟲硶錛屽鏋滀綘娌℃湁鏅烘収涓庣粡楠岀殑姝g‘鍒ゆ柇錛岄氬父閮戒細鏈夐敊璇殑銆?
31.瑕佷簡瑙d竴涓漢錛屽彧闇瑕佺湅浠栫殑鍑哄彂鐐逛笌鐩殑鍦版槸鍚︾浉鍚岋紝灝卞彲浠ョ煡閬撲粬鏄惁鐪熷績鐨勩?
32.浜虹敓鐨勭湡鐞嗭紝鍙槸钘忓湪騫蟲貳鏃犲懗涔嬩腑銆?
33.涓嶆礂婢$殑浜猴紝紜摝棣欐按鏄笉浼氶鐨勩傚悕澹頒笌灝婅吹錛屾槸鏉ヨ嚜浜庣湡鎵嶅疄瀛︾殑銆傛湁寰瘋嚜鐒墮銆?
34.鏃墮棿鎬諱細榪囧幓鐨勶紝璁╂椂闂存祦璧頒綘鐨勭儲鎭煎惂錛?
35.浣犵‖瑕佹妸鍗曠函鐨勪簨鎯呯湅寰楀緢涓ラ噸錛岄偅鏍峰瓙浣犱細寰堢棝鑻︺?
36.姘歌繙鎵洸鍒漢鍠勬剰鐨勪漢錛屾棤鑽彲鏁戙?
37.璇翠竴鍙ヨ皫璇濓紝瑕佺紪閫犲崄鍙ヨ皫璇濇潵寮ヨˉ錛屼綍鑻﹀憿錛?
38.鐧界櫧鐨勮繃涓澶╋紝鏃犳墍浜嬩簨錛屽氨鍍忕姱浜嗙獌鐩楃姜涓鏍?
39.騫跨粨浼楃紭錛屽氨鏄笉瑕佸幓浼ゅ浠諱綍涓涓漢銆?
40.娌夐粯鏄瘉璋ゆ渶濂界殑絳旇銆?
41.瀵逛漢鎭暚錛屽氨鏄湪搴勪弗浣犺嚜宸便?
42.鎷ユ湁涓棰楁棤縐佺殑鐖卞績錛屼究鎷ユ湁浜嗕竴鍒囥?
43.鏉ユ槸鍋剁劧鐨勶紝璧版槸蹇呯劧鐨勩傛墍浠ヤ綘蹇呴』錛岄殢緙樹笉鍙橈紝涓嶅彉闅忕紭銆?
44.鎱堟偛鏄綘鏈濂界殑姝﹀櫒銆?
45.鍙闈㈠鐜板疄錛屼綘鎵嶈兘瓚呰秺鐜板疄銆?
46.鑹績鏄瘡涓涓漢鏈鍏鐨勫鍒ゅ畼錛屼綘楠楀緱浜嗗埆浜猴紝鍗存案榪滈獥涓嶄簡浣犺嚜宸辯殑鑹績銆?
47.涓嶆噦寰楄嚜鐖辯殑浜猴紝鏄病鏈夎兘鍔涘幓鐖卞埆浜虹殑銆?
48.鏈夋椂鍊欐垜浠鍐烽潤闂棶鑷凡錛屾垜浠湪榪芥眰浠涔堬紵鎴戜滑媧葷潃涓轟簡浠涔堬紵
49.涓嶈鍥犱負灝忓皬鐨勪簤鎵э紝榪滅浜嗕綘鑷充翰鐨勫ソ鍙嬶紝涔熶笉瑕佸洜涓哄皬灝忕殑鎬ㄦ仺錛屽繕璁頒簡鍒漢鐨勫ぇ鎭┿?
50.鎰熻阿涓婅媿鎴戞墍鎷ユ湁鐨勶紝鎰熻阿涓婅媿鎴戞墍娌℃湁鐨勩?
51.鍑℃槸鑳界珯鍦ㄥ埆浜虹殑瑙掑害涓轟粬浜虹潃鎯籌紝榪欎釜灝辨槸鎱堟偛銆?
52.璇磋瘽涓嶈鏈夋敾鍑繪э紝涓嶈鏈夋潃浼ゅ姏錛屼笉澶稿凡鑳斤紝涓嶆壃浜烘伓錛岃嚜鐒惰兘鍖栨晫涓哄弸銆?
53.璇氬疄鐨勯潰瀵逛綘鍐呭績鐨勭煕鐩懼拰姹$偣錛屼笉瑕佹楠椾綘鑷繁銆?
54.鍥犳灉涓嶆浘浜忔瑺榪囨垜浠粈涔堬紝鎵浠ヨ涓嶈鎶辨ㄣ?
55.澶у鏁扮殑浜轟竴杈堝瓙鍙仛浜嗕笁浠朵簨錛涜嚜嬈恒佹浜恒佽浜烘銆?
56.蹇冩槸鏈澶х殑楠楀瓙錛屽埆浜鴻兘楠椾綘涓鏃訛紝鑰屽畠鍗翠細楠椾綘涓杈堝瓙
57.鍙鑷蹇冨畨錛屼笢瑗垮崡鍖楅兘濂姐傚鏈変竴浜烘湭搴︼紝鍒囪帿鑷繁閫冧簡銆?
58.褰撲綘鎵嬩腑鎶撲綇涓浠朵笢瑗夸笉鏀炬椂錛屼綘鍙兘鎷ユ湁榪欎歡涓滆タ錛屽鏋滀綘鑲斁鎵嬶紝浣犲氨鏈夋満浼氶夋嫨鍒殑銆備漢鐨勫績鑻ユ鎵ц嚜宸辯殑瑙傚康錛屼笉鑲斁涓嬶紝閭d箞浠栫殑鏅烘収涔熷彧鑳借揪鍒版煇縐嶇▼搴﹁屽凡
59.濡傛灉浣犺兘澶熷鉤騫沖畨瀹夌殑娓¤繃涓澶╋紝閭e氨鏄竴縐嶇姘斾簡銆傚灝戜漢鍦ㄤ粖澶╁凡緇忚涓嶅埌鏄庡ぉ鐨勫お闃籌紝澶氬皯浜哄湪浠婂ぉ宸茬粡鎴愪簡孌嬪簾錛屽灝戜漢鍦ㄤ粖澶╁凡緇忓け鍘諱簡鑷敱錛屽灝戜漢鍦ㄤ粖澶╁凡緇忓鐮翠漢浜°?
60.浣犳湁浣犵殑鐢熷懡瑙傦紝鎴戞湁鎴戠殑鐢熷懡瑙傦紝鎴戜笉騫叉秹浣犮傚彧瑕佹垜鑳斤紝鎴戝氨鎰熷寲浣犮傚鏋滀笉鑳斤紝閭f垜灝辮鍛姐?
61.浣犲笇鏈涙帉鎻℃案鎭掞紝閭d綘蹇呴』鎺у埗鐜板湪銆?
62.鎭跺彛姘歌繙涓嶈鍑鴻嚜浜庢垜浠殑鍙d腑錛屼笉綆′粬鏈夊鍧忥紝鏈夊鎭躲備綘鎰堥獋浠栵紝浣犵殑蹇冨氨琚薄鏌撲簡錛屼綘瑕佹兂錛屼粬灝辨槸浣犵殑鍠勭煡璇嗐?
63.鍒漢鍙互榪濊儗鍥犳灉錛屽埆浜哄彲浠ュ鎴戜滑錛屾墦鎴戜滑錛屾瘉璋ゆ垜浠傚彲鏄垜浠笉鑳藉洜姝よ屾啂鎭ㄥ埆浜猴紝涓轟粈涔堬紵鎴戜滑涓瀹氳淇濇湁涓棰楀畬鏁寸殑鏈у拰涓棰楁竻鍑鐨勫績銆?
64.濡傛灉涓涓漢娌℃湁鑻﹂毦鐨勬劅鍙楋紝灝變笉瀹規槗瀵逛粬浜虹粰浜堝悓鎯呫備綘瑕佸鏁戣嫤鏁戦毦鐨勭簿紲烇紝灝卞緱鍏堝彈鑻﹀彈闅俱?
65.涓栫晫鍘熸湰灝變笉鏄睘浜庝綘錛屽洜姝や綘鐢ㄤ笉鐫鎶涘純錛岃鎶涘純鐨勬槸涓鍒囩殑鎵ц憲銆備竾鐗╃殕涓烘垜鎵鐢紝浣嗛潪鎴戞墍灞炪?
66.铏界劧鎴戜滑涓嶈兘鏀瑰彉鍛ㄩ伃鐨勪笘鐣岋紝鎴戜滑灝卞彧濂芥敼鍙樿嚜宸憋紝鐢ㄦ厛鎮插績鍜屾櫤鎱у績鏉ラ潰瀵硅繖涓鍒囥?br>

]]>
STL vector 瀹瑰櫒浠嬬粛http://m.shnenglu.com/lovefeel2004/archive/2010/06/23/118556.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Wed, 23 Jun 2010 05:56:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/06/23/118556.htmlhttp://m.shnenglu.com/lovefeel2004/comments/118556.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/06/23/118556.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/118556.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/118556.html浠嬬粛

榪欑瘒鏂囩珷鐨勭洰鐨勬槸涓轟簡浠嬬粛std::vector錛屽浣曟伆褰撳湴浣跨敤瀹冧滑鐨勬垚鍛樺嚱鏁扮瓑鎿嶄綔銆傛湰鏂囦腑榪樿璁轟簡鏉′歡鍑芥暟鍜屽嚱鏁版寚閽堝湪榪唬綆楁硶涓嬌鐢紝濡傚湪remove_if()鍜?/span>for_each()涓殑浣跨敤銆傞氳繃闃呰榪欑瘒鏂囩珷璇昏呭簲璇ヨ兘澶熸湁鏁堝湴浣跨敤vector瀹瑰櫒錛岃屼笖搴旇涓嶄細鍐嶅幓浣跨敤C綾誨瀷鐨勫姩鎬佹暟緇勪簡銆?/span>

 

Vector鎬昏

vector鏄?/span>C++鏍囧噯妯℃澘搴撲腑鐨勯儴鍒嗗唴瀹癸紝瀹冩槸涓涓鍔熻兘鐨勶紝鑳藉鎿嶄綔澶氱鏁版嵁緇撴瀯鍜岀畻娉曠殑妯℃澘綾誨拰鍑芥暟搴撱?/span>vector涔嬫墍浠ヨ璁や負鏄竴涓鍣紝鏄洜涓哄畠鑳藉鍍忓鍣ㄤ竴鏍峰瓨鏀懼悇縐嶇被鍨嬬殑瀵硅薄錛岀畝鍗曞湴璇達紝vector鏄竴涓兘澶熷瓨鏀句換鎰忕被鍨嬬殑鍔ㄦ佹暟緇勶紝鑳藉澧炲姞鍜屽帇緙╂暟鎹?/span>

涓轟簡鍙互浣跨敤vector錛屽繀欏誨湪浣犵殑澶存枃浠朵腑鍖呭惈涓嬮潰鐨勪唬鐮侊細

#include <vector>

 

vector灞炰簬std鍛藉悕鍩熺殑錛屽洜姝ら渶瑕侀氳繃鍛藉悕闄愬畾錛屽涓嬪畬鎴愪綘鐨勪唬鐮侊細

using std::vector;

vector<int> vInts;

 

鎴栬呰繛鍦ㄤ竴璧鳳紝浣跨敤鍏ㄥ悕錛?/span>

std::vector<int> vInts;

 

寤鴻浣跨敤鍏ㄥ眬鐨勫懡鍚嶅煙鏂瑰紡錛?/span>

using namespace std;

 

鍦ㄥ悗闈㈢殑鎿嶄綔涓叏灞鐨勫懡鍚嶅煙鏂瑰紡浼氶犳垚涓浜涢棶棰樸?/span>vector瀹瑰櫒鎻愪緵浜嗗緢澶氭帴鍙o紝鍦ㄤ笅闈㈢殑琛ㄤ腑鍒楀嚭vector鐨勬垚鍛樺嚱鏁板拰鎿嶄綔銆?/span>

 

Vector鎴愬憳鍑芥暟

鍑芥暟

琛ㄨ堪

c.assign(beg,end)

c.assign(n,elem)

灝?/span>[beg; end)鍖洪棿涓殑鏁版嵁璧嬪肩粰c銆?/span>

灝?/span>n涓?/span>elem鐨勬嫹璐濊祴鍊肩粰c銆?/span>

c.at(idx)

浼犲洖绱㈠紩idx鎵鎸囩殑鏁版嵁錛屽鏋?/span>idx瓚婄晫錛屾姏鍑?/span>out_of_range銆?/span>

c.back()

浼犲洖鏈鍚庝竴涓暟鎹紝涓嶆鏌ヨ繖涓暟鎹槸鍚﹀瓨鍦ㄣ?/span>

c.begin()

浼犲洖榪唬鍣ㄩ噸鐨勫彲涓涓暟鎹?/span>

c.capacity()

榪斿洖瀹瑰櫒涓暟鎹釜鏁般?/span>

c.clear()

縐婚櫎瀹瑰櫒涓墍鏈夋暟鎹?/span>

c.empty()

鍒ゆ柇瀹瑰櫒鏄惁涓虹┖銆?/span>

c.end()

鎸囧悜榪唬鍣ㄤ腑鐨勬渶鍚庝竴涓暟鎹湴鍧銆?/span>

c.erase(pos)

c.erase(beg,end)

鍒犻櫎pos浣嶇疆鐨勬暟鎹紝浼犲洖涓嬩竴涓暟鎹殑浣嶇疆銆?/span>

鍒犻櫎[beg,end)鍖洪棿鐨勬暟鎹紝浼犲洖涓嬩竴涓暟鎹殑浣嶇疆銆?/span>

c.front()

浼犲洖鍦頒竴涓暟鎹?/span>

get_allocator

浣跨敤鏋勯犲嚱鏁拌繑鍥炰竴涓嫹璐濄?/span>

c.insert(pos,elem)

c.insert(pos,n,elem)

c.insert(pos,beg,end)

鍦?/span>pos浣嶇疆鎻掑叆涓涓?/span>elem鎷瘋礉錛屼紶鍥炴柊鏁版嵁浣嶇疆銆?/span>

鍦?/span>pos浣嶇疆鎻掑叆n涓?/span>elem鏁版嵁銆傛棤榪斿洖鍊箋?/span>

鍦?/span>pos浣嶇疆鎻掑叆鍦?/span>[beg,end)鍖洪棿鐨勬暟鎹傛棤榪斿洖鍊箋?/span>

c.max_size()

榪斿洖瀹瑰櫒涓渶澶ф暟鎹殑鏁伴噺銆?/span>

c.pop_back()

鍒犻櫎鏈鍚庝竴涓暟鎹?/span>

c.push_back(elem)

鍦ㄥ熬閮ㄥ姞鍏ヤ竴涓暟鎹?/span>

c.rbegin()

浼犲洖涓涓嗗悜闃熷垪鐨勭涓涓暟鎹?/span>

c.rend()

浼犲洖涓涓嗗悜闃熷垪鐨勬渶鍚庝竴涓暟鎹殑涓嬩竴涓綅緗?/span>

c.resize(num)

閲嶆柊鎸囧畾闃熷垪鐨勯暱搴︺?/span>

c.reserve()

淇濈暀閫傚綋鐨勫閲忋?/span>

c.size()

榪斿洖瀹瑰櫒涓疄闄呮暟鎹殑涓暟銆?/span>

c1.swap(c2)

swap(c1,c2)

灝?/span>c1鍜?/span>c2鍏冪礌浜掓崲銆?/span>

鍚屼笂鎿嶄綔銆?/span>

vector<Elem> c

vector <Elem> c1(c2)

vector <Elem> c(n)

vector <Elem> c(n, elem)

vector <Elem> c(beg,end)

c.~ vector <Elem>()

鍒涘緩涓涓┖鐨?/span>vector銆?/span>

澶嶅埗涓涓?/span>vector銆?/span>

鍒涘緩涓涓?/span>vector錛屽惈鏈?/span>n涓暟鎹紝鏁版嵁鍧囧凡緙虹渷鏋勯犱駭鐢?/span>銆?/span>

鍒涘緩涓涓惈鏈?/span>n涓?/span>elem鎷瘋礉鐨?/span>vector銆?/span>

鍒涘緩涓涓互[beg;end)鍖洪棿鐨?/span>vector銆?/span>

閿姣佹墍鏈夋暟鎹紝閲婃斁鍐呭瓨銆?/span>

 

Vector鎿嶄綔

鍑芥暟

鎻忚堪

operator[]

榪斿洖瀹瑰櫒涓寚瀹氫綅緗殑涓涓紩鐢ㄣ?/span>

 

鍒涘緩涓涓?/span>vector

vector瀹瑰櫒鎻愪緵浜嗗縐嶅垱寤烘柟娉曪紝涓嬮潰浠嬬粛鍑犵甯哥敤鐨勩?/span>

鍒涘緩涓涓?/span>Widget綾誨瀷鐨勭┖鐨?/span>vector瀵硅薄錛?/span>

vector<Widget> vWidgets;

//     ------

//      |

//      |- Since vector is a container, its member functions

//         operate on iterators and the container itself so

//         it can hold objects of any type.

 

鍒涘緩涓涓寘鍚?/span>500涓?/span>Widget綾誨瀷鏁版嵁鐨?/span>vector錛?/span>

vector<Widget> vWidgets(500);

 

鍒涘緩涓涓寘鍚?/span>500涓?/span>Widget綾誨瀷鏁版嵁鐨?/span>vector錛屽茍涓旈兘鍒濆鍖栦負0錛?/span>

vector<Widget> vWidgets(500, Widget(0));

 

鍒涘緩涓涓?/span>Widget鐨勬嫹璐濓細

vector<Widget> vWidgetsFromAnother(vWidgets);

 

鍚?/span>vector娣誨姞涓涓暟鎹?/span>

vector娣誨姞鏁版嵁鐨勭己鐪佹柟娉曟槸push_back()銆?/span>push_back()鍑芥暟琛ㄧず灝嗘暟鎹坊鍔犲埌vector鐨勫熬閮紝騫舵寜闇瑕佹潵鍒嗛厤鍐呭瓨銆備緥濡傦細鍚?/span>vector<Widget>涓坊鍔?/span>10涓暟鎹紝闇瑕佸涓嬬紪鍐欎唬鐮侊細

for(int i= 0;i<10; i++)

    vWidgets.push_back(Widget(i));

 

鑾峰彇vector涓埗瀹氫綅緗殑鏁版嵁

寰堝鏃跺欐垜浠笉蹇呰鐭ラ亾vector閲岄潰鏈夊灝戞暟鎹紝vector閲岄潰鐨勬暟鎹槸鍔ㄦ佸垎閰嶇殑錛屼嬌鐢?/span>push_back()鐨勪竴緋誨垪鍒嗛厤絀洪棿甯稿父鍐沖畾浜庢枃浠舵垨涓浜涙暟鎹簮銆傚鏋滀綘鎯崇煡閬?/span>vector瀛樻斁浜嗗灝戞暟鎹紝浣犲彲浠ヤ嬌鐢?/span>empty()銆傝幏鍙?/span>vector鐨勫ぇ灝忥紝鍙互浣跨敤size()銆備緥濡傦紝濡傛灉浣犳兂鑾峰彇涓涓?/span>vector v鐨勫ぇ灝忥紝浣嗕笉鐭ラ亾瀹冩槸鍚︿負絀猴紝鎴栬呭凡緇忓寘鍚簡鏁版嵁錛屽鏋滀負絀烘兂璁劇疆涓?/span>-1錛屼綘鍙互浣跨敤涓嬮潰鐨勪唬鐮佸疄鐜幫細

int nSize = v.empty() ? -1 : static_cast<int>(v.size());

 

璁塊棶vector涓殑鏁版嵁

浣跨敤涓ょ鏂規硶鏉ヨ闂?/span>vector銆?/span>

1銆?span>   vector::at()

2銆?span>   vector::operator[]

operator[]涓昏鏄負浜嗕笌C璇█榪涜鍏煎銆傚畠鍙互鍍?/span>C璇█鏁扮粍涓鏍鋒搷浣溿備絾at()鏄垜浠殑棣栭夛紝鍥犱負at()榪涜浜嗚竟鐣屾鏌ワ紝濡傛灉璁塊棶瓚呰繃浜?/span>vector鐨勮寖鍥達紝灝嗘姏鍑轟竴涓緥澶栥傜敱浜?/span>operator[]瀹規槗閫犳垚涓浜涢敊璇紝鎵鏈夋垜浠緢灝戠敤瀹冿紝涓嬮潰榪涜楠岃瘉涓涓嬶細

鍒嗘瀽涓嬮潰鐨勪唬鐮侊細

vector<int> v;

v.reserve(10);

 

for(int i=0; i<7; i++)

    v.push_back(i);

 

try

{

 int iVal1 = v[7]; // not bounds checked - will not throw

 int iVal2 = v.at(7); // bounds checked - will throw if out of range

}

catch(const exception& e)

{

 cout << e.what();

}

 

鎴戜滑浣跨敤reserve()鍒嗛厤浜?/span>10涓?/span>int鍨嬬殑絀洪棿錛屼絾騫朵笉娌℃湁鍒濆鍖栥傚涓嬪浘鎵紺猴細


浣犲彲浠ュ湪榪欎釜浠g爜涓皾璇曚笉鍚屾潯浠訛紝瑙傚療瀹冪殑緇撴灉錛屼絾鏄棤璁轟綍鏃朵嬌鐢?/span>at()錛岄兘鏄紜殑銆?/span>

 

鍒犻櫎vector涓殑鏁版嵁

vector鑳藉闈炲父瀹規槗鍦版坊鍔犳暟鎹紝涔熻兘寰堟柟渚垮湴鍙栧嚭鏁版嵁錛屽悓鏍?/span>vector鎻愪緵浜?/span>erase()錛?/span>pop_back()錛?/span>clear()鏉ュ垹闄ゆ暟鎹紝褰撲綘鍒犻櫎鏁版嵁鐨勬椂鍊欙紝浣犲簲璇ョ煡閬撹鍒犻櫎灝鵑儴鐨勬暟鎹紝鎴栬呮槸鍒犻櫎鎵鏈夋暟鎹紝榪樻槸涓埆鐨勬暟鎹傚湪鑰冭檻鍒犻櫎絳夋搷浣滀箣鍓嶈鎴戜滑闈欎笅鏉ヨ冭檻涓涓嬪湪STL涓殑涓浜涘簲鐢ㄣ?/span>

 

Remove_if()綆楁硶

鐜板湪鎴戜滑鑰冭檻鎿嶄綔閲岄潰鐨勬暟鎹傚鏋滆浣跨敤remove_if()錛屾垜浠渶瑕佸湪澶存枃浠朵腑鍖呭惈濡備笅浠g爜錛氾細

#include <algorithm>

 

         Remove_if()鏈変笁涓弬鏁幫細

1銆?span>   iterator _First錛氭寚鍚戠涓涓暟鎹殑榪唬鎸囬拡銆?/span>

2銆?span>   iterator _Last錛氭寚鍚戞渶鍚庝竴涓暟鎹殑榪唬鎸囬拡銆?/span>

3銆?span>   predicate _Pred錛氫竴涓彲浠ュ榪唬鎿嶄綔鐨勬潯浠跺嚱鏁般?/span>

 

鏉′歡鍑芥暟

鏉′歡鍑芥暟鏄竴涓寜鐓х敤鎴峰畾涔夌殑鏉′歡榪斿洖鏄垨鍚︾殑緇撴灉錛屾槸鏈鍩烘湰鐨勫嚱鏁版寚閽堬紝鎴栬呮槸涓涓嚱鏁板璞°傝繖涓嚱鏁板璞¢渶瑕佹敮鎸佹墍鏈夌殑鍑芥暟璋冪敤鎿嶄綔錛岄噸杞?/span>operator()()鎿嶄綔銆?/span>remove_if()鏄氳繃unary_function緇ф壙涓嬫潵鐨勶紝鍏佽浼犻掓暟鎹綔涓烘潯浠躲?/span>

渚嬪錛屽亣濡備綘鎯充粠涓涓?/span>vector<CString>涓垹闄ゅ尮閰嶇殑鏁版嵁錛屽鏋滃瓧涓蹭腑鍖呭惈浜嗕竴涓鹼紝浠庤繖涓煎紑濮嬶紝浠庤繖涓肩粨鏉熴傞鍏堜綘搴旇寤虹珛涓涓暟鎹粨鏋勬潵鍖呭惈榪欎簺鏁版嵁錛岀被浼間唬鐮佸涓嬶細

#include <functional>

enum findmodes

{

 FM_INVALID = 0,

 FM_IS,

 FM_STARTSWITH,

 FM_ENDSWITH,

 FM_CONTAINS

};

typedef struct tagFindStr

{

 UINT iMode;

 CString szMatchStr;

} FindStr;

typedef FindStr* LPFINDSTR;

 

鐒跺悗澶勭悊鏉′歡鍒ゆ柇錛?/span>

class FindMatchingString

    : public std::unary_function<CString, bool>

{

   

public:

 FindMatchingString(const LPFINDSTR lpFS) : m_lpFS(lpFS) {}

   

 bool operator()(CString& szStringToCompare) const

 {

     bool retVal = false;

 

     switch(m_lpFS->iMode)

     {

     case FM_IS:

       {

         retVal = (szStringToCompare == m_lpFDD->szMatchStr);

         break;

       }

     case FM_STARTSWITH:

       {

         retVal = (szStringToCompare.Left(m_lpFDD->szMatchStr.GetLength())

               == m_lpFDD->szWindowTitle);

         break;

       }

     case FM_ENDSWITH:

       {

         retVal = (szStringToCompare.Right(m_lpFDD->szMatchStr.GetLength())

               == m_lpFDD->szMatchStr);

         break;

       }

     case FM_CONTAINS:

       {

         retVal = (szStringToCompare.Find(m_lpFDD->szMatchStr) != -1);

         break;

       }

     }

       

     return retVal;

 }

       

private:

    LPFINDSTR m_lpFS;

};

 

閫氳繃榪欎釜鎿嶄綔浣犲彲浠ヤ粠vector涓湁鏁堝湴鍒犻櫎鏁版嵁錛?/span>

// remove all strings containing the value of

// szRemove from vector<CString> vs.

 

FindStr fs;

fs.iMode = FM_CONTAINS;

fs.szMatchStr = szRemove;

 

vs.erase(std::remove_if(vs.begin(), vs.end(), FindMatchingString(&fs)), vs.end());

 

Remove_if()鑳藉仛浠涔堬紵

浣犲彲鑳戒細鐤戞儜錛屽浜庝笂闈㈤偅涓緥瀛愬湪璋冪敤remove_if()鐨勬椂鍊欒繕瑕佷嬌鐢?/span>erase()鍛紵榪欐槸鍥犱負澶у騫朵笉鐔熸倝STL涓殑綆楁硶銆?/span>Remove(),remove_if()絳夋墍鏈夌殑縐誨嚭鎿嶄綔閮芥槸寤虹珛鍦ㄤ竴涓凱浠h寖鍥翠笂鐨勶紝閭d箞涓嶈兘鎿嶄綔瀹瑰櫒涓殑鏁版嵁銆傛墍浠ュ湪浣跨敤remove_if()錛屽疄闄呬笂鎿嶄綔鐨勬椂瀹瑰櫒閲屾暟鎹殑涓婇潰鐨勩傛濊冧笂闈㈢殑渚嬪瓙錛?/span>

1銆?span>   szRemove = “o”.

2銆?span>   vs瑙佷笅闈㈠浘琛ㄤ腑鐨勬樉紺恒?br>

瑙傚療榪欎釜緇撴灉錛屾垜浠彲浠ョ湅鍒?/span>remove_if()瀹為檯涓婃槸鏍規嵁鏉′歡瀵硅凱浠e湴鍧榪涜浜嗕慨鏀癸紝鍦ㄦ暟鎹殑鍚庨潰瀛樺湪涓浜涙畫浣欑殑鏁版嵁錛岄偅浜涢渶瑕佸垹闄ょ殑鏁版嵁銆傚墿涓嬬殑鏁版嵁鐨勪綅緗彲鑳戒笉鏄師鏉ョ殑鏁版嵁錛屼絾浠栦滑鏄笉鐭ラ亾鐨勩?/span>

璋冪敤erase()鏉ュ垹闄ら偅浜涙畫浣欑殑鏁版嵁銆傛敞鎰忎笂闈緥瀛愪腑閫氳繃erase()鍒犻櫎remove_if()鐨勭粨鏋滃拰vs.enc()鑼冨洿鐨勬暟鎹?/span>

 

鍘嬬緝涓涓噧鑲跨殑vector

寰堝鏃跺欏ぇ閲忕殑鍒犻櫎鏁版嵁錛屾垨鑰呴氳繃浣跨敤reserve()錛岀粨鏋?/span>vector鐨勭┖闂磋繙榪滃ぇ浜庡疄闄呴渶瑕佺殑銆傛墍鏈夐渶瑕佸帇緙?/span>vector鍒板畠瀹為檯鐨勫ぇ灝忋?/span>resize()鑳藉澧炲姞vector鐨勫ぇ灝忋?/span>Clear()浠呬粎鑳藉鏀瑰彉緙撳瓨鐨勫ぇ灝忥紝鎵鏈夌殑榪欎簺瀵逛簬vector閲婃斁鍐呭瓨絳変節闈炲父閲嶈浜嗐傚浣曟潵瑙e喅榪欎簺闂鍛紝璁╂垜浠潵鎿嶄綔涓涓嬨?/span>

鎴戜滑鍙互閫氳繃涓涓?/span>vector鍒涘緩鍙︿竴涓?/span>vector銆傝鎴戜滑鐪嬬湅榪欏皢鍙戠敓浠涔堛傚亣瀹氭垜浠凡緇忔湁涓涓?/span>vector v錛屽畠鐨勫唴瀛樺ぇ灝忎負1000錛屽綋鎴戜滑璋冪敤size()鐨勬椂鍊欙紝瀹冪殑澶у皬浠呬負7銆傛垜浠氮璐逛簡澶ч噺鐨勫唴瀛樸傝鎴戜滑鍦ㄥ畠鐨勫熀紜涓婂垱寤轟竴涓?/span>vector銆?/span>

 

std::vector<CString> vNew(v);

cout << vNew.capacity();

 

vNew.capacity()榪斿洖鐨勬槸7銆傝繖璇存槑鏂板垱寤虹殑鍙槸鏍規嵁瀹為檯澶у皬鏉ュ垎閰嶇殑絀洪棿銆傜幇鍦ㄦ垜浠笉鎯抽噴鏀?/span>v錛屽洜涓烘垜浠鍦ㄥ叾瀹冨湴鏂圭敤鍒板畠錛屾垜浠彲浠ヤ嬌鐢?/span>swap()灝?/span>v鍜?/span>vNew浜掔浉浜ゆ崲涓涓嬶紵

 

    vNew.swap(v);

    cout << vNew.capacity();

    cout << v.capacity();

 

鏈夎叮鐨勬槸錛?/span>vNew.capacity()鏄?/span>1000錛?/span>鑰?/span>v.capacity()鏄?/span>7銆?/span>

鐜板湪鏄揪鍒版垜鐨勭洰鐨勪簡錛屼絾鏄茍涓嶆槸寰堝ソ鐨勮В鍐蟲柟娉曪紝鎴戜滑鍙互鍍忎笅闈㈣繖涔堝啓錛?/span>

 

    std::vector<CString>(v).swap(v);

     

浣犲彲浠ョ湅鍒版垜浠仛浜嗕粈涔堬紵鎴戜滑鍒涘緩浜嗕竴涓復鏃跺彉閲忎唬鏇塊偅涓懡鍚嶇殑錛岀劧鍚庝嬌鐢?/span>swap(),榪欐牱鎴戜滑灝卞幓鎺変簡涓嶅繀瑕佺殑絀洪棿錛屽緱鍒板疄闄呭ぇ灝忕殑v銆?/span>

 

緇撹

鎴戝笇鏈涜繖涓枃妗e彲浠ョ粰閭d簺浣跨敤STL vector瀹瑰櫒鐨勫紑鍙戣呭緢鏈変環鍊肩殑鍙傝冦傛垜涔熷笇鏈涢氳繃闃呰榪欑瘒鏂囩珷浣犲彲浠ユ斁蹇冨湴浣跨敤vector鏉ヤ唬鏇?/span>C璇█涓殑鏁版嵁浜嗐?/span>

 

鍙傝?/span>

Plauger, P.J. Standard C++ Library Reference. February, 2003. MSDN.

Schildt, Herbert. C++ from the Ground Up, Second Edition. Berkeley: 1998.

Sutter, Herb. More Exceptional C++. Indianapolis: 2002.



]]>
C++ STL緙栫▼杞繪澗鍏ラ棬http://m.shnenglu.com/lovefeel2004/archive/2010/06/02/116947.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Tue, 01 Jun 2010 16:17:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/06/02/116947.htmlhttp://m.shnenglu.com/lovefeel2004/comments/116947.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/06/02/116947.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/116947.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/116947.html銆銆浣滀負C++鏍囧噯涓嶅彲緙哄皯鐨勪竴閮ㄥ垎錛孲TL搴旇鏄笚閫忓湪C++紼嬪簭鐨勮瑙掕惤钀介噷鐨勩係TL涓嶆槸瀹為獙瀹ら噷鐨勫疇鍎匡紝涔熶笉鏄▼搴忓憳妗屼笂鐨勬憜璁撅紝濂圭殑嬋鍔ㄤ漢蹇冨茍闈炴槞鑺變竴鐜般傛湰鏁欑▼鏃ㄥ湪浼犳挱鍜屾櫘鍙奡TL鐨勫熀紜鐭ヨ瘑錛岃嫢鑳藉熸鏈轟細涓篠TL鐨勬帹騫垮仛浜涘姏鎵鑳藉強鐨勪簨鎯咃紝鍒頒篃鏄歡璁╀漢鎰夊揩鐨勪簨鎯呫?span class=Apple-converted-space> 

銆銆1 鍒濊瘑STL錛氳В絳斾竴浜涚枒闂銆1.1 涓涓渶鍏沖績鐨勯棶棰橈細浠涔堟槸STL縐戝棰嗗煙閲屾墍甯哥敤鐨勫熀鏈暟鎹粨鏋勫拰鍩烘湰綆楁硶銆備負騫垮ぇC++紼嬪簭鍛樹滑鎻愪緵浜嗕竴涓彲鎵╁睍鐨勫簲鐢ㄦ鏋訛紝楂樺害浣撶幇浜?a class=article style="FONT-SIZE: 14px; COLOR: rgb(0,0,255); WORD-BREAK: break-all; LINE-HEIGHT: 19px; TEXT-DECORATION: none" target=_blank>杞歡鐨勫彲澶嶇敤鎬с傝繖縐嶇幇璞℃湁浜涚被浼間簬Microsoft Visual C++涓殑MFC錛圡icrosoft Foundation Class Library錛夛紝鎴栬呮槸Borland C++ Builder涓殑VCL(Visual Component Library)錛屽浜庢浜岃咃紝澶у涓瀹氫笉浼氶檶鐢熷惂銆?br style="WORD-BREAK: break-all">
銆銆"浠涔堟槸STL錛?錛屽亣濡備綘瀵筍TL榪樼煡涔嬬敋灝戯紝閭d箞鎴戞兂錛屼綘涓瀹氬緢鎯崇煡閬撹繖涓棶棰樼殑絳旀錛屽潶鐜囧湴璁詫紝瑕佹寚鏈涚敤鐭煭鏁拌█灝嗚繖涓棶棰橀槓榪版竻妤氾紝涔熷喅闈炴槗浜嬨傚洜姝わ紝濡傛灉浣犲湪鐪嬪畬鏈妭涔嬪悗榪樻槸瑙夊緱浼兼噦闈炴噦錛屽ぇ鍙笉蹇呯潃鎬ワ紝鍦ㄩ槄璇諱簡鍚庣畫鍐呭涔嬪悗錛岀浉淇′綘瀵筍TL鐨勮璇嗭紝灝嗕細鎰堝姞娓呮櫚銆佸噯紜拰瀹屾暣銆備笉榪囷紝涓婅堪榪欑暘璇濆惉璧鋒潵鏄惁鏈夌偣鍍忔槸鍦ㄤ負鑷繁緋熺硶鐨勮〃杈捐兘鍔涘紑鑴辯姜璐e憿錛?錛?span class=Apple-converted-space> 

銆銆涓嶇煡閬撲綘鏄惁鏈夎繃榪欐牱鐨勭粡鍘嗐傚湪浣犲噯澶囩潃鎵嬪畬鎴愭暟鎹粨鏋勮佸笀鎵甯冪疆鐨勫搴綔涓氭椂錛屾垨鑰呭湪浣犱負浣犳墍璐熻矗鐨勬煇涓蔣浠墮」鐩腑娣誨姞涓欏規柊鍔熻兘鏃訛紝浣犲彂鐜伴渶瑕佺敤鍒頒竴涓摼琛?List)鎴栬呮槸鏄犲皠琛紙Map錛変箣綾葷殑涓滆タ錛屼絾鏄墜澶村茍娌℃湁鐜版垚鐨勪唬鐮併備簬鏄湪浣犲紑濮嬫寮忚冭檻紼嬪簭鍔熻兘涔嬪墠錛屾墜宸ュ疄鐜癓ist鎴栬匨ap鏄笉鍙伩鍏嶇殑銆備簬鏄?#8230;…錛屾渶緇堜綘欏哄埄瀹屾垚浜嗕換鍔°傛垨璁告鏃訛紝浣滀負涓涓叿鏈夎緝楂樼礌鍏葷殑紼嬪簭鍛樼殑浣犺繕涓嶈偗緗紤錛堟垨鑰呮槸涓涓枩嬈㈠伔鎳掔殑浼樼瓑鐢?錛夛紝鍥犱負浣犱細鎯沖埌錛屽鏋滀互鍚庤繕閬囧埌榪欐牱鐨勬儏鍐墊庝箞鍔烇紵娌℃湁蹇呰鍐嶅仛涓閬嶅悓鏍風殑浜嬫儏鍚э紒 

銆銆濡傛灉璇翠笂榪拌繖縐嶆儏褰㈡瘡澶╅兘鍦ㄥ彂鐢燂紝鎴栬鏈夌偣澶稿紶銆備絾鏄紝濡傛灉璇存暣涓蔣浠墮鍩熼噷錛屾暟鍗佸勾鏉ョ‘瀹為兘鍦ㄤ負浜嗕竴涓洰鏍囪屽鏂?-鍙鐢ㄦэ紙reusability錛夛紝榪欑湅璧鋒潵浼間箮騫朵笉澶稿紶銆備粠鏈鏃╃殑闈㈠悜榪囩▼鐨勫嚱鏁板簱錛屽埌闈㈠悜瀵硅薄鐨?a style="FONT-SIZE: 12px; COLOR: rgb(78,78,78); WORD-BREAK: break-all; TEXT-DECORATION: none" >紼嬪簭璁捐鎬濇兂錛屽埌鍚勭緇勪歡鎶鏈紙濡傦細COM銆丒JB錛夛紝鍒拌璁℃ā寮忥紙design pattern錛夌瓑絳夈傝孲TL涔熷湪鍋氱潃綾諱技鐨勪簨鎯咃紝鍚屾椂鍦ㄥ畠鑳屽悗钑存兜鐫涓縐嶆柊鐨勭▼搴忚璁℃濇兂--娉涘瀷鍖栬璁★紙generic programming錛夈?span class=Apple-converted-space> 

銆銆緇х畫涓婇潰鎻愬埌鐨勯偅涓緥瀛愶紝鍋囧浣犳妸List鎴栬卪ap瀹屽ソ鐨勪繚鐣欎簡涓嬫潵錛屾鍦ㄦ殫鑷緱鎰忋備笖鎱紝濡傛灉涓嬩竴鍥炵殑List閲屾斁鐨勪笉鏄誕鐐規暟鑰屾槸鏁存暟鍛紵濡傛灉浣犳墍瀹炵幇鐨凪ap鍦ㄦ晥鐜囦笂鎬繪槸浠や綘涓嶅お婊℃剰騫朵笖鏈夋椂榪樹細鍑轟簺bug鍛紵浣犺濡備綍闈㈠榪欎簺闂錛熶嬌鐢⊿TL鏄竴涓笉閿欑殑閫夋嫨錛岀‘瀹炲姝わ紝STL鍙互婕備寒鍦拌В鍐充笂闈㈡彁鍒扮殑榪欎簺闂錛屽敖綆′綘榪樺彲浠ュ姹傚叾浠栨柟娉曘?br>
銆璇翠簡鍗婂ぉ錛屽埌搴昐TL鏄粈涔堜笢瑗垮憿錛?span class=Apple-converted-space> 

銆銆STL錛圫tandard Template Library錛夛紝鍗蟲爣鍑嗘ā鏉垮簱錛屾槸涓涓叿鏈夊伐涓氬己搴︾殑錛岄珮鏁堢殑C++紼嬪簭搴撱傚畠琚綰充簬C++鏍囧噯紼嬪簭搴擄紙C++ Standard Library錛変腑錛屾槸ANSI/ISO C++鏍囧噯涓渶鏂扮殑涔熸槸鏋佸叿闈╁懡鎬х殑涓閮ㄥ垎銆傝搴撳寘鍚簡璇稿鍦?a class=article style="FONT-SIZE: 14px; COLOR: rgb(0,0,255); WORD-BREAK: break-all; LINE-HEIGHT: 19px; TEXT-DECORATION: none" target=_blank>璁$畻鏈?/a> 

銆銆浠庨昏緫灞傛鏉ョ湅錛屽湪STL涓綋鐜頒簡娉涘瀷鍖栫▼搴忚璁$殑鎬濇兂錛坓eneric programming錛夛紝寮曞叆浜嗚澶氭柊鐨勫悕璇嶏紝姣斿鍍忛渶姹傦紙requirements錛夛紝姒傚康錛坈oncept錛夛紝妯″瀷錛坢odel錛夛紝瀹瑰櫒錛坈ontainer錛夛紝綆楁硶錛坅lgorithmn錛夛紝榪唬瀛愶紙iterator錛夌瓑銆備笌OOP錛坥bject-oriented programming錛変腑鐨勫鎬侊紙polymorphism錛変竴鏍鳳紝娉涘瀷涔熸槸涓縐?a class=article style="FONT-SIZE: 14px; COLOR: rgb(0,0,255); WORD-BREAK: break-all; LINE-HEIGHT: 19px; TEXT-DECORATION: none" target=_blank>杞歡鐨勫鐢ㄦ妧鏈?span class=Apple-converted-space> 


銆銆浠庡疄鐜板眰嬈$湅錛屾暣涓猄TL鏄互涓縐嶇被鍨嬪弬鏁板寲錛坱ype parameterized錛夌殑鏂瑰紡瀹炵幇鐨勶紝榪欑鏂瑰紡鍩轟簬涓涓湪鏃╁厛C++鏍囧噯涓病鏈夊嚭鐜扮殑璇█鐗規?-妯℃澘錛坱emplate錛夈傚鏋滄煡闃呬換浣曚竴涓増鏈殑STL婧愪唬鐮侊紝浣犲氨浼氬彂鐜幫紝妯℃澘浣滀負鏋勬垚鏁翠釜STL鐨勫熀鐭蟲槸涓浠跺崈鐪熶竾紜殑浜嬫儏銆傞櫎姝や箣澶栵紝榪樻湁璁稿C++鐨勬柊鐗規т負STL鐨勫疄鐜版彁渚涗簡鏂逛究銆?span class=Apple-converted-space> 

銆銆涓嶇煡浣犲榪欓噷涓涓嬪瓙鍐掑嚭榪欎箞澶氭湳璇仛浣曟劅鎯籌紝甯屾湜涓嶄細鍙︿綘涓嶆剦蹇傚亣濡備綘瀵瑰畠浠箣涓殑澶у鏁頒笉鐢氫簡瑙o紝鏁鏀懼績錛屽湪鍚庣畫鍐呭涓皢浼氬榪欎簺鍚嶈瘝閫愪竴璁鴻堪銆傛濡傚紑澶存墍鎻愬埌鐨勩?span class=Apple-converted-space> 

銆銆鏈夎叮鐨勬槸錛屽浜嶴TL榪樻湁鍙﹀涓縐嶈В閲?-STepanov & Lee錛屽墠鑰呮槸鎸嘇lexander Stepanov錛孲TL鐨勫垱濮嬩漢錛涜屽悗鑰呮槸Meng Lee錛屽ス涔熸槸浣縎TL寰椾互鎺ㄨ鐨勫姛鑷o紝絎竴涓猄TL鎴愬搧灝辨槸浠栦滑鍚堜綔瀹屾垚鐨勩傝繖涓鎻愭硶婧愯嚜1995騫?鏈堬紝Dr.Dobb's Journal鐗圭害璁拌? 钁楀悕鎶鏈功綾嶄綔瀹禔l Stevens瀵笰lexander Stepanov鐨勪竴綃囦笓璁褲?span class=Apple-converted-space> 

銆銆1.2 榪芥牴婧簮錛歋TL鐨勫巻鍙插闄㈡暀鎺圖avid Musser鍏卞悓寮鍙戜簡涓縐嶅彨鍋歍ecton鐨勮璦銆傚敖綆¤繖嬈″皾璇曟渶緇堟病鏈夊彇寰楀疄鐢ㄦх殑鎴愭灉錛屼絾鍗寸粰浜哠tepanov寰堝ぇ鐨勫惎紺恒?span class=Apple-converted-space> 

銆銆鍦ㄧ粨璇嗘柊鏈嬪弸鐨勬椂鍊欙紝澶у鏁頒漢鎬繪槸蹇嶄笉浣忔兂浜嗚В瀵規柟鐨勮繃鍘匯傛湰鑺傚皢甯︽偍綆鍗曞洖欏句竴涓婼TL鐨勮繃鍘匯?span class=Apple-converted-space> 

銆銆琚獕涓篠TL涔嬬埗鐨凙lexander Stepanov錛屽嚭鐢熶簬鑻忚仈鑾柉縐戯紝鏃╁湪20涓栫邯70騫翠唬鍚庡崐鏈燂紝浠栦究宸茬粡寮濮嬭冭檻錛屽湪淇濊瘉鏁堢巼鐨勫墠鎻愪笅錛屽皢綆楁硶浠庤澶氬叿浣撳簲鐢ㄤ箣涓娊璞″嚭鏉ョ殑鍙兘鎬э紝榪欎究鏄悗鏉ユ硾鍨嬪寲鎬濇兂鐨勯洀褰€備負浜嗛獙璇佽嚜宸辯殑鎬濇兂錛屼粬鍜岀航綰﹀窞绔嬪ぇ瀛︽暀鎺圖eepak Kapur錛屼雞濉為噷灝旀妧鏈?span class=Apple-converted-space> 

銆銆鍦ㄩ殢鍚庣殑鍑犲勾涓紝浠栧張鍜孌avid Musser絳変漢鍏堝悗鐢⊿chema璇█錛堜竴縐峀isp璇█鐨勫彉縐嶏級鍜孉da璇█寤虹珛浜嗕竴浜涘ぇ鍨嬬▼搴忓簱銆傝繖鍏墮棿錛孉lexander Stepanov寮濮嬫剰璇嗗埌錛屽湪褰撴椂鐨勯潰鍚戝璞$▼搴忚璁℃濇兂涓墍瀛樺湪鐨勪竴浜涢棶棰橈紝姣斿鎶借薄鏁版嵁綾誨瀷姒傚康鎵瀛樺湪鐨勭己闄楓係tepanov甯屾湜閫氳繃瀵硅蔣浠墮鍩熶腑鍚勭粍鎴愰儴鍒嗙殑鍒嗙被錛岄愭笎褰㈡垚涓縐嶈蔣浠惰璁$殑姒傚康鎬ф鏋躲?span class=Apple-converted-space> 

銆銆1987騫村乏鍙籌紝鍦ㄨ礉灝斿疄楠屽宸ヤ綔鐨凙lexander Stepanov寮濮嬮嬈¢噰鐢–++璇█榪涜娉涘瀷杞歡搴撶殑鐮旂┒銆備絾閬楁喚鐨勬槸錛屽綋鏃剁殑C++璇█榪樻病鏈夊紩鍏ユā鏉匡紙template錛夌殑璇硶錛岀幇鍦ㄦ垜浠彲浠ユ竻妤氱殑鐪嬪埌錛屾ā鏉挎蹇典箣浜嶴TL瀹炵幇錛屾槸浣曠瓑閲嶈銆傛槸鏃朵嬌鐒訛紝閲囩敤緇ф壙鏈哄埗鏄埆鏃犻夋嫨鐨勩傚敖綆″姝わ紝Stepanov榪樻槸寮鍙戝嚭浜嗕竴涓簽澶х殑綆楁硶搴撱備笌姝ゅ悓鏃訛紝鍦ㄤ笌Andrew Koenig錛堝墠ISO C++鏍囧噯鍖栧鍛樹細涓誨腑錛夊拰Bjarne Stroustrup錛圕++璇█鐨勫垱濮嬩漢錛夌瓑欏剁駭澶у笀浠殑鍏變簨榪囩▼涓紝Stepanov寮濮嬫敞鎰忓埌C/C++璇█鍦ㄥ疄鐜板叾娉涘瀷鎬濇兂鏂歸潰鎵鍏鋒湁鐨勬綔鍦ㄤ紭鍔褲傚氨鎷緾/C++涓殑鎸囬拡鑰岃█錛屽畠鐨勭伒媧諱笌楂樻晥榪愮敤錛屼嬌鍚庢潵鐨凷TL鍦ㄥ疄鐜版硾鍨嬪寲鐨勫悓鏃舵洿鏄繚鎸佷簡楂樻晥鐜囥傚彟澶栵紝鍦⊿TL涓崰鎹瀬鍏墮噸瑕佸湴浣嶇殑榪唬瀛愭蹇典究鏄簮鑷簬C/C++涓師鐢熸寚閽堬紙 native pointer錛夌殑鎶借薄銆?br>
銆銆1988騫達紝Alexander Stepanov寮濮嬭繘鍏?a class=article style="FONT-SIZE: 14px; COLOR: rgb(0,0,255); WORD-BREAK: break-all; LINE-HEIGHT: 19px; TEXT-DECORATION: none" target=_blank>鎯犳櫘鐨凱alo Alto瀹為獙瀹ゅ伐浣滐紝鍦ㄩ殢鍚庣殑4騫翠腑錛屼粬浠庝簨鐨勬槸鏈夊叧紓佺洏椹卞姩鍣ㄦ柟闈㈢殑宸ヤ綔銆傜洿鍒?992騫達紝鐢變簬鍙傚姞騫朵富鎸佷簡瀹為獙瀹や富浠籅ill Worley鎵寤虹珛鐨勪竴涓湁鍏崇畻娉曠殑鐮旂┒欏圭洰錛屾墠浣夸粬閲嶆柊鍥炲埌浜嗘硾鍨嬪寲綆楁硶鐨勭爺絀跺伐浣滀笂鏉ャ傞」鐩嚜寤虹珛涔嬪悗錛屽弬涓庤呬粠鏈鍒濈殑8浜洪愭笎鍑忓皯錛屾渶鍚庡彧鍓╀笅涓や釜浜?-Stepanove鏈漢鍜孧eng Lee銆傜粡榪囬暱鏃墮棿鐨勫姫鍔涳紝鏈緇堬紝淇″康涓庢睏姘存墍鎹㈡潵鐨勬槸涓涓寘鍚湁澶ч噺鏁版嵁緇撴瀯鍜岀畻娉曢儴浠剁殑搴炲ぇ榪愯搴撱傝繖渚挎槸鐜板湪鐨凷TL鐨勯洀褰紙鍚屾椂涔熸槸STL鐨勪竴涓疄鐜扮増鏈?-HP STL錛夈?span class=Apple-converted-space> 

銆銆1993騫達紝褰撴椂鍦ㄨ礉灝斿疄楠屽鐨凙ndrew Koenig鐪嬪埌浜哠tepanove鐨勭爺絀舵垚鏋滐紝寰堟槸鍏村銆傚湪浠栫殑榧撳姳涓庡府鍔╀笅錛孲tepanove浜庢槸騫?鏈堢殑鍦d綍濉炰負ANSI/ISO C++鏍囧噯濮斿憳浼氬仛浜嗕竴涓浉鍏蟲紨璁詫紙棰樹負"The Science of C++ Programming"錛夛紝鍚戝鍛樹滑璁茶堪浜嗗叾瑙傚康銆傜劧鍚庡張浜庢騫?鏈堬紝鍦ㄥ湥榪垐浼氳涓婏紝鍚戝鍛樹細鎻愪氦浜嗕竴浠藉緩璁功錛屼互鏈熶嬌STL鎴愪負C++鏍囧噯搴撶殑涓閮ㄥ垎銆傚敖綆¤繖涓寤鴻鍗佸垎搴炲ぇ錛屼互鑷充簬闄嶄綆浜嗚閫氳繃鐨勫彲鑳芥э紝浣嗙敱浜庡叾鎵鍖呭惈鐨勬柊鎬濇兂錛屾姇紲ㄧ粨鏋滀互鍘嬪掑鏁扮殑鎰忚璁や負鎺ㄨ繜瀵硅寤鴻鐨勫喅瀹氥?span class=Apple-converted-space> 


銆銆闅忓悗錛屽湪浼椾漢鐨勫府鍔╀箣涓嬶紝鍖呮嫭Bjarne Stroustrup鍦ㄥ唴錛孲tepanove鍙堝STL榪涜浜嗘敼榪涖傚悓鏃跺姞鍏ヤ簡涓涓皝瑁呭唴瀛樻ā寮忎俊鎭殑鎶借薄妯″潡錛屼篃灝辨槸鐜板湪STL涓殑allocator錛屽畠浣縎TL鐨勫ぇ閮ㄥ垎瀹炵幇閮藉彲浠ョ嫭绔嬩簬鍏蜂綋鐨勫唴瀛樻ā寮忥紝浠庤岀嫭绔嬩簬鍏蜂綋騫沖彴銆傚湪鍚屽勾澶忓鐨勬粦閾佸崲浼氳涓婏紝濮斿憳浠互80%璧炴垚錛?0%鍙嶅錛屾渶緇堥氳繃浜嗘彁妗堬紝鍐沖畾灝哠TL姝e紡綰沖叆C++鏍囧噯鍖栬繘紼嬩箣涓紝闅忓悗STL渚胯鏀捐繘浜嗕細璁殑宸ヤ綔鏂囦歡涓傝嚜姝わ紝STL緇堜簬鎴愪負浜咰++瀹舵棌涓殑閲嶈涓鍛樸?span class=Apple-converted-space> 

銆銆姝ゅ悗錛岄殢鐫C++鏍囧噯鐨勪笉鏂敼榪涳紝STL涔熷湪涓嶆柇鍦頒綔鐫鐩稿簲鐨勬紨鍖栥傜洿鑷?998騫達紝ANSI/ISO C++鏍囧噯姝e紡瀹氭錛孲TL濮嬬粓鏄疌++鏍囧噯涓笉鍙垨緙虹殑涓澶ч儴浠躲?span class=Apple-converted-space> 

銆銆1.3 鍗冧笣涓囩紩鐨勮仈緋匯銆1.3.1 STL鍜孋++銆銆1.3.2 STL鍜孋++鏍囧噯鍑芥暟搴?.3.3 STL鍜孏P錛孏P鍜孫OP 銆銆1.4 STL鐨勪笉鍚屽疄鐜扮増鏈銆1.4.1 HP STL銆銆1.4.2 P.J. Plauger STLhttp://www.dinkumware.comVisualStudiohashset瀹瑰櫒銆?.4.3 Rouge Wave STLhttp://www.rougewave.com婧愪唬鐮丆:Program Files\Borland\Cbuilder6\Include\oldstl錛夈?.4.4 STLporthttp://www.stlport.org鍏嶈垂涓嬭澆VC涓殑STL瑕佸揩銆傛瘮Rouge Wave STL鏇寸鍚堟爣鍑嗭紝涔熸洿瀹規槗縐繪銆侭orland C++ Builder宸茬粡鍦ㄥ叾6.0鐗堜腑鍔犲叆浜嗗STLport鐨勬敮鎸侊紝瀹冧嬌鐢ㄧ殑STLport灝辨槸4.5鐗堢殑錛孋++ Builder 6.0鍚屾椂榪樻彁渚涗簡STLport鐨勪嬌鐢ㄨ鏄庛備綘鍙互鍦–++ Builder鐨処nclude\Stlport瀛愮洰褰曚笅鎵懼埌鎵鏈夊ご鏂囦歡錛堟瘮濡傦細C:\Program Files\Borland\Cbuilder6\Include\Stlport錛夈?.4.5 SGI STLhttp://www.sgi.com鏂扮増鏈槸3.3銆?span class=Apple-converted-space> 


銆銆鍦ㄤ綘浜嗚В浜哠TL鐨勮繃鍘諱箣鍚庯紝涓浜涘悕璇嶅紑濮嬩笉鏂湪浣犵殑澶ц剳涓誕鐜幫紝STL銆丆++銆丆++鏍囧噯鍑芥暟搴撱佹硾鍨嬬▼搴忚璁°侀潰鍚戝璞$▼搴忚璁?#8230;…錛岃繖浜涙蹇墊剰鍛崇潃浠涔堬紵浠栦滑涔嬮棿鐨勫叧緋誨張鏄粈涔堬紵濡傛灉浣犳兂浜嗚В鏌愪簺緇嗚妭錛岃繖閲屼篃璁告湁浣犲笇鏈涘緱鍒扮殑絳旀銆?span class=Apple-converted-space> 


銆銆娌℃湁C++璇█灝辨病鏈塖TL錛岃繖涔堣姣笉涓鴻繃銆備竴鑸岃█錛孲TL浣滀負涓涓硾鍨嬪寲鐨勬暟鎹粨鏋勫拰
銆銆姝ゅ錛孲TL瀵逛簬C++鐨勫彂灞曪紝灝ゅ叾鏄ā鏉挎満鍒訛紝涔熻搗鍒頒簡淇冭繘浣滅敤銆傛瘮濡傦細妯℃澘鍑芥暟鐨勫亸鐗瑰寲錛坱emplate function partial specialization錛夛紝瀹冭鐢ㄤ簬鍦ㄧ壒瀹氬簲鐢ㄥ満鍚堬紝涓轟竴鑸ā鏉垮嚱鏁版彁渚涗竴緋誨垪鐗規畩鍖栫増鏈傝繖涓鐗規ф槸緇TL琚獳NSI/ISO C++鏍囧噯濮斿憳浼氶氳繃涔嬪悗錛屽湪Bjarne鍜孲tepanov鍏卞悓鍟嗚涔嬩笅騫剁敱Bjarne鍚戝鍛樹細鎻愬嚭寤鴻鐨勶紝鏈緇堣欏瑰緩璁閫氳繃銆傝繖浣垮緱STL涓殑涓浜涚畻娉曞湪澶勭悊鐗規畩鎯呭艦鏃跺彲浠ラ夋嫨闈炰竴鑸寲鐨勬柟寮忥紝浠庤屼繚璇佷簡鎵ц鐨勬晥鐜囥?span class=Apple-converted-space> 


銆銆STL鏄渶鏂扮殑C++鏍囧噯鍑芥暟搴撲腑鐨勪竴涓瓙闆嗭紝榪欎釜搴炲ぇ鐨勫瓙闆嗗崰鎹簡鏁翠釜搴撶殑澶х害80%鐨勫垎閲忋傝屼綔涓哄湪瀹炵幇STL榪囩▼涓壆婕斿叧閿鑹茬殑妯℃澘鍒欏厖鏂ヤ簡鍑犱箮鏁翠釜C++鏍囧噯鍑芥暟搴撱傚湪榪欓噷錛屾垜浠湁蹇呰鐪嬩竴鐪婥++鏍囧噯鍑芥暟搴撻噷鍖呭惈浜嗗摢浜涘唴瀹癸紝鍏朵腑鍙堟湁鍝簺鏄睘浜庢爣鍑嗘ā鏉垮簱錛堝嵆STL錛夌殑銆?span class=Apple-converted-space> 


銆銆C++鏍囧噯鍑芥暟搴撲負C++紼嬪簭鍛樹滑鎻愪緵浜嗕竴涓彲鎵╁睍鐨勫熀紜鎬ф鏋躲傛垜浠粠涓彲浠ヨ幏寰楁瀬澶х殑渚垮埄錛屽悓鏃朵篃鍙互閫氳繃緇ф壙鐜版湁綾伙紝鑷繁緙栧埗絎﹀悎鎺ュ彛瑙勮寖鐨勫鍣ㄣ佺畻娉曘佽凱浠e瓙絳夋柟寮忓涔嬭繘琛屾墿灞曘傚畠澶ц嚧鍖呭惈浜嗗涓嬪嚑涓粍浠訛細 

銆銆C鏍囧噯鍑芥暟搴擄紝鍩烘湰淇濇寔浜嗕笌鍘熸湁C璇█紼嬪簭搴撶殑鑹ソ鍏煎錛屽敖綆℃湁浜涘井鍙樺寲銆備漢浠諱細蹇嶄笉浣忕暀鎭嬭繃鍘葷殑緹庡ソ宀佹湀錛屽鏋滀綘鏇劇粡鏄竴涓狢紼嬪簭鍛橈紝瀵硅繖涓鐐逛竴瀹氫綋浼氶娣便傛垨璁告湁涓鐐逛細璁╀綘瑙夊緱濂囨紝閭e氨鏄湪C++鏍囧噯搴撲腑瀛樺湪涓ゅC鐨勫嚱鏁板簱錛屼竴濂楁槸甯︽湁.h鎵╁睍鍚嶇殑錛堟瘮濡?stdio.h style="WORD-BREAK: break-all">錛夛紝鑰屽彟涓濂楀垯娌℃湁錛堟瘮濡?cstdio style="WORD-BREAK: break-all">錛夈傚畠浠‘瀹炴病鏈夊お澶х殑涓嶅悓銆?span class=Apple-converted-space> 

銆銆璇█鏀寔錛坙anguage support錛夐儴鍒嗭紝鍖呭惈浜嗕竴浜涙爣鍑嗙被鍨嬬殑瀹氫箟浠ュ強鍏朵粬鐗規х殑瀹氫箟錛岃繖浜涘唴瀹癸紝琚敤浜庢爣鍑嗗簱鐨勫叾浠栧湴鏂規垨鏄叿浣撶殑搴旂敤紼嬪簭涓?span class=Apple-converted-space> 

銆銆璇婃柇錛坉iagnostics錛夐儴鍒嗭紝鎻愪緵浜嗙敤浜庣▼搴忚瘖鏂拰鎶ラ敊鐨勫姛鑳斤紝鍖呭惈浜嗗紓甯稿鐞嗭紙exception handling錛夛紝鏂█錛坅ssertions錛夛紝閿欒浠g爜錛坋rror number codes錛変笁縐嶆柟寮忋?span class=Apple-converted-space> 

銆銆閫氱敤宸ュ叿錛坓eneral utilities錛夐儴鍒嗭紝榪欓儴鍒嗗唴瀹逛負C++鏍囧噯搴撶殑鍏朵粬閮ㄥ垎鎻愪緵鏀寔錛屽綋鐒朵綘涔熷彲浠ュ湪鑷繁鐨勭▼搴忎腑璋冪敤鐩稿簲鍔熻兘銆傛瘮濡傦細鍔ㄦ佸唴瀛樼鐞嗗伐鍏鳳紝鏃ユ湡/鏃墮棿澶勭悊宸ュ叿銆傝浣忥紝榪欓噷鐨勫唴瀹逛篃宸茬粡琚硾鍖栦簡錛堝嵆閲囩敤浜嗘ā鏉挎満鍒訛級銆?span class=Apple-converted-space> 

銆銆瀛楃涓詫紙string錛夐儴鍒嗭紝鐢ㄦ潵浠h〃鍜屽鐞嗘枃鏈傚畠鎻愪緵浜嗚凍澶熶赴瀵岀殑鍔熻兘銆備簨瀹炰笂錛屾枃鏈槸涓涓猻tring瀵硅薄錛屽畠鍙互琚湅浣滄槸涓涓瓧絎﹀簭鍒楋紝瀛楃綾誨瀷鍙兘鏄痗har錛屾垨鑰厀char_t絳夌瓑銆俿tring鍙互琚漿鎹㈡垚char*綾誨瀷錛岃繖鏍蜂究鍙互鍜屼互鍓嶆墍鍐欑殑C/C++
浠g爜鍜屽鉤鍏卞浜嗐傚洜涓洪偅鏃朵警闄や簡char*錛屾病鏈夊埆鐨勩?span class=Apple-converted-space> 

銆銆鍥介檯鍖栵紙internationalization錛夐儴鍒嗭紝浣滀負OOP鐗規т箣涓鐨勫皝瑁呮満鍒跺湪榪欓噷鎵紨鐫娑堥櫎鏂囧寲鍜屽湴鍩熷樊寮傜殑瑙掕壊錛岄噰鐢╨ocale鍜宖acet鍙互涓虹▼搴忔彁渚涗紬澶氬浗闄呭寲鏀寔錛屽寘鎷鍚勭瀛楃闆嗙殑鏀寔錛屾棩鏈熷拰鏃墮棿鐨勮〃紺猴紝鏁板煎拰璐у竵鐨勫鐞嗙瓑絳夈傛瘯绔燂紝鍦ㄤ腑鍥藉拰鍦ㄧ編鍥斤紝浜轟滑琛ㄧず鏃ユ湡鐨勪範鎯槸涓嶅悓鐨勩?span class=Apple-converted-space> 

銆銆瀹瑰櫒錛坈ontainers錛夐儴鍒嗭紝STL鐨勪竴涓噸瑕佺粍鎴愰儴鍒嗭紝娑電洊浜嗚澶氭暟鎹粨鏋勶紝姣斿鍓嶉潰鏇劇粡鎻愬埌鐨勯摼琛紝榪樻湁錛歷ector錛堢被浼間簬澶у皬鍙姩鎬佸鍔犵殑鏁扮粍錛夈乹ueue錛堥槦鍒楋級銆乻tack錛堝爢鏍堬級……銆俿tring涔熷彲浠ョ湅浣滄槸涓涓鍣紝閫傜敤浜庡鍣ㄧ殑鏂規硶鍚屾牱涔熼傜敤浜巗tring銆傜幇鍦ㄤ綘鍙互杞繪澗鐨勫畬鎴愭暟鎹粨鏋勮紼嬬殑瀹跺涵浣滀笟浜嗐?br>
銆銆綆楁硶錛坅lgorithms錛夐儴鍒嗭紝STL鐨勪竴涓噸瑕佺粍鎴愰儴鍒嗭紝鍖呭惈浜嗗ぇ綰?0涓氱敤綆楁硶錛岀敤浜庢搷鎺у悇縐嶅鍣紝鍚屾椂涔熷彲浠ユ搷鎺у唴寤烘暟緇勩傛瘮濡傦細find鐢ㄤ簬鍦ㄥ鍣ㄤ腑鏌ユ壘絳変簬鏌愪釜鐗瑰畾鍊肩殑鍏冪礌錛宖or_each鐢ㄤ簬灝嗘煇涓嚱鏁板簲鐢ㄥ埌瀹瑰櫒涓殑鍚勪釜鍏冪礌涓婏紝sort鐢ㄤ簬瀵瑰鍣ㄤ腑鐨勫厓绱犳帓搴忋傛墍鏈夎繖浜涙搷浣滈兘鏄湪淇濊瘉鎵ц鏁堢巼鐨勫墠鎻愪笅榪涜鐨勶紝鎵浠ワ紝濡傛灉鍦ㄤ綘浣跨敤浜嗚繖浜涚畻娉曚箣鍚庣▼搴忓彉寰楁晥鐜囧簳涓嬶紝棣栧厛涓瀹氫笉瑕佹鐤戣繖浜涚畻娉曟湰韜紝浠旂粏媯鏌ヤ竴涓嬬▼搴忕殑鍏朵粬鍦版柟銆?span class=Apple-converted-space> 

銆銆榪唬鍣紙iterators錛夐儴鍒嗭紝STL鐨勪竴涓噸瑕佺粍鎴愰儴鍒嗭紝濡傛灉娌℃湁榪唬鍣ㄧ殑鎾悎錛屽鍣ㄥ拰綆楁硶渚挎棤娉曠粨鍚堢殑濡傛瀹岀編銆備簨瀹炰笂錛屾瘡涓鍣ㄩ兘鏈夎嚜宸辯殑榪唬鍣紝鍙湁瀹瑰櫒鑷繁鎵嶇煡閬撳浣曡闂嚜宸辯殑鍏冪礌銆傚畠鏈夌偣鍍忔寚閽堬紝綆楁硶閫氳繃榪唬鍣ㄦ潵瀹氫綅鍜屾搷鎺у鍣ㄤ腑鐨勫厓绱犮?span class=Apple-converted-space> 


銆銆鏁板鹼紙numerics錛夐儴鍒嗭紝鍖呭惈浜嗕竴浜涙暟瀛﹁繍綆楀姛鑳斤紝鎻愪緵浜嗗鏁拌繍綆楃殑鏀寔銆?span class=Apple-converted-space> 

銆銆杈撳叆/杈撳嚭錛坕nput/output錛夐儴鍒嗭紝灝辨槸緇忚繃妯℃澘鍖栦簡鐨勫師鏈夋爣鍑嗗簱涓殑iostream閮ㄥ垎錛屽畠鎻愪緵浜嗗C++紼嬪簭杈撳叆杈撳嚭鐨勫熀鏈敮鎸併傚湪鍔熻兘涓婁繚鎸佷簡涓庡師鏈塱ostream鐨勫吋瀹癸紝騫朵笖澧炲姞浜嗗紓甯稿鐞嗙殑鏈哄埗錛屽茍鏀寔鍥介檯鍖栵紙internationalization錛夈?span class=Apple-converted-space> 

銆銆鎬諱綋涓婏紝鍦?a style="FONT-SIZE: 12px; COLOR: rgb(78,78,78); WORD-BREAK: break-all; TEXT-DECORATION: none" >C++鏍囧噯鍑芥暟搴撲腑錛孲TL涓昏鍖呭惈浜嗗鍣ㄣ佺畻娉曘佽凱浠e櫒銆俿tring涔熷彲浠ョ畻鍋氭槸STL鐨勪竴閮ㄥ垎銆?span class=Apple-converted-space> 

銆銆姝e鍓嶉潰鎵鎻愬埌鐨勶紝鍦⊿TL鐨勮儗鍚庤暣鍚潃娉涘瀷鍖栫▼搴忚璁★紙GP錛夌殑鎬濇兂錛屽湪榪欑鎬濇兂閲岋紝澶ч儴鍒嗗熀鏈畻娉曡鎶借薄錛岃娉涘寲錛岀嫭绔嬩簬涓庝箣瀵瑰簲鐨勬暟鎹粨鏋勶紝鐢ㄤ簬浠ョ浉鍚屾垨鐩歌繎鐨勬柟寮忓鐞嗗悇縐嶄笉鍚屾儏褰€傝繖涓鎬濇兂鍜岄潰鍚戝璞$殑紼嬪簭璁捐鎬濇兂錛圤OP錛変笉灝界浉鍚岋紝鍥犱負錛屽湪OOP涓洿娉ㄩ噸鐨勬槸瀵規暟鎹殑鎶借薄錛屽嵆鎵璋撴娊璞℃暟鎹被鍨嬶紙Abstract Data Type錛夛紝鑰岀畻娉曞垯閫氬父琚檮灞炰簬鏁版嵁綾誨瀷涔嬩腑銆傚嚑涔庢墍鏈夌殑浜嬫儏閮藉彲浠ヨ鐪嬩綔綾繪垨鑰呭璞★紙鍗崇被鐨勫疄渚嬶級錛岄氬父錛屾垜浠墍鐪嬪埌鐨勭畻娉曡浣滀負鎴愬憳鍑芥暟錛坢ember function錛夊寘鍚湪綾伙紙class錛変腑錛岀被鍜岀被鍒欐瀯鎴愪簡閿欑患澶嶆潅鐨勭戶鎵夸綋緋匯?span class=Apple-converted-space> 

銆銆灝界鍦ㄨ薄C++榪欐牱鐨勭▼搴忚璁¤璦涓紝浣犺繕鍙互鐢ㄥ叏灞鍑芥暟鏉ヨ〃紺虹畻娉曪紝浣嗘槸鍦ㄧ被浼間簬Java榪欐牱鐨勭函闈㈠悜瀵硅薄鐨勮璦涓紝鍏ㄥ眬鍑芥暟宸茬粡琚?鍕掍護紱佹"浜嗐傚洜姝わ紝鐢↗ava鏉ユā鎷烥P鎬濇兂鏄涓哄洶闅劇殑銆傚鏋滀綘瀵瑰墠榪扮殑STL鍘嗗彶榪樻湁鍗拌薄鐨勮瘽錛屽簲璇ヨ寰桝lexander Stepanove涔熸浘鐢ㄥ熀浜嶰OP鐨勮璦灝濊瘯榪囧疄鐜癎P鎬濇兂錛屼絾鏄晥鏋滃茍涓嶅ソ錛屽寘鎷病鏈夊紩鍏ユā鏉夸箣鍓嶇殑C++璇█銆傜珯鍦ㄥ法浜虹殑鑲╄唨涓婏紝鎴戜滑鍙互寰楀嚭榪欐牱鐨勭粨璁猴紝鍦∣OP涓墍浣撶幇鐨勬濇兂涓嶨P鐨勬濇兂紜疄鏄浉寮傜殑銆侰++騫朵笉鏄竴縐嶇函闈㈠悜瀵硅薄鐨勭▼搴忚璁¤璦錛屽畠鐨勭粷濡欎箣澶勶紝灝卞湪浜庢棦婊¤凍浜哋OP錛屽張鎴愬叏浜咷P銆傚浜庡悗鑰咃紝妯℃澘绔嬩笅浜嗘睏椹姛鍔熾傚彟澶栵紝闇瑕佹寚鍑虹殑鏄紝灝界GP鍜孫OP鏈夎澶氫笉鍚岋紝浣嗚繖縐嶄笉鍚岃繕涓嶈嚦浜庡埌"姘寸伀涓嶅"鐨勫湴姝ャ傚茍涓旓紝鍦ㄥ疄闄呰繍鐢ㄧ殑鏃跺欙紝涓よ呯殑緇撳悎浣跨敤寰寰鍙互浣塊棶棰樼殑瑙e喅鏇翠負鏈夋晥銆備綔涓篏P鎬濇兂瀹炰緥鐨凷TL鏈韓渚挎槸涓涓緢濂界殑鑼冧緥錛屽鏋滄病鏈夌戶鎵匡紝涓嶇煡閬揝TL浼氭槸浠涔堟牱瀛愶紝浼間箮娌℃湁浜哄仛榪囪繖鏍風殑璇曢獙銆?br>銆銆鐩鎬俊浣犲STL鐨勬劅鎬ц璇嗗簲璇ユ湁鎵鎻愰珮浜嗭紝鏄鍋氫竴浜涘疄闄呯殑宸ヤ綔浜嗭紝閭d箞鎴戜滑棣栧厛鏉ヤ簡瑙d竴涓婼TL鐨勪笉鍚屽疄鐜扮増鏈侫NSI/ISO C++鏂囦歡涓殑STL鏄竴涓粎琚弿榪板湪綰鎬笂鐨勬爣鍑嗭紝瀵逛簬璇稿C++緙栬瘧鍣ㄨ岃█錛岄渶瑕佹湁鍚勮嚜瀹為檯鐨凷TL錛屽畠浠垨澶氭垨灝戠殑瀹炵幇浜嗘爣鍑嗕腑鎵鎻忚堪鐨勫唴瀹癸紝榪欐牱鎵嶈兘澶熶負鎴戜滑鎵鐢ㄣ備箣鎵浠ユ湁涓嶅悓鐨勫疄鐜扮増鏈紝鍒欏瓨鍦ㄨ澶氬師鍥狅紝鏈夊巻鍙茬殑鍘熷洜錛屼篃鏈夊悇鑷紪璇戝櫒鐢熶駭鍘傚晢鐨勫師鍥犮備互涓嬫槸鍑犱釜甯歌鐨凷TL瀹炵幇鐗堟湰銆?span class=Apple-converted-space> 

銆銆HP STL鏄墍鏈夊叾瀹僑TL瀹炵幇鐗堟湰鐨勬牴婧愩傚畠鏄疭TL涔嬬埗Alexander Stepanov鍦?a class=article style="FONT-SIZE: 14px; COLOR: rgb(0,0,255); WORD-BREAK: break-all; LINE-HEIGHT: 19px; TEXT-DECORATION: none" target=_blank>鎯犳櫘鐨凱alo Alto瀹為獙瀹ゅ伐浣滄椂錛屽拰Meng Lee鍏卞悓瀹屾垚鐨勶紝鏄涓涓猄TL鐨勫疄鐜扮増鏈紙鍙傝1.2鑺傦級銆傝繖涓猄TL鏄紑鏀炬簮鐮佺殑錛屾墍浠ュ畠鍏佽浠諱綍浜哄厤璐逛嬌鐢ㄣ佸鍒躲佷慨鏀廣佸彂甯冨拰閿鍞杞歡鍜岀浉鍏蟲枃妗o紝鍓嶆彁鏄繀欏誨湪鎵鏈夌浉鍏蟲枃浠朵腑鍔犲叆HP STL鐨勭増鏈俊鎭拰鎺堟潈淇℃伅銆傜幇鍦ㄥ凡緇忓緢灝戠洿鎺ヤ嬌鐢ㄨ繖涓増鏈殑STL浜嗐?span class=Apple-converted-space> 


銆銆P. J. Plauger STL灞炰簬涓漢浣滃搧錛岀敱P. J. Plauger鏈漢瀹炵幇錛屾槸HP STL鐨勪竴涓戶鎵跨増鏈紝鍥犳鍦ㄥ叾鎵鏈夊ご鏂囦歡涓兘鍚湁HP STL鐨勭浉鍏沖0鏄庯紝鍚屾椂榪樻湁P. J. Plauger鏈漢鐨勭増鏉冨0鏄庛侾. J. Plauger鏄爣鍑咰涓璼tdio搴撶殑鏃╂湡瀹炵幇鑰咃紝鐜板湪鏄疌/C++ User's Journal鐨勪富緙栵紝涓嶮icrosoft淇濇寔鐫鑹ソ鐨勫叧緋匯侾. J. Plauger STL渚挎槸琚敤浜嶮icrosoft鐨刅isual C++涓殑銆傚湪Windows騫沖彴涓嬬殑鍚岀被鐗堟湰涓紝鍏舵ц兘涓嶉敊錛屼絾鏄痲ueue緇勪歡錛堥槦鍒楋紝涓縐嶅鍣級鐨勬晥鐜囦笉鐞嗘兂錛屽悓鏃剁敱浜嶸isual C++瀵笴++璇█鏍囧噯鐨勬敮鎸佷笉鏄緢濂斤紙鑷沖皯鐩村埌VC6.0涓烘錛岃繕鏄姝わ級錛屽洜姝や竴瀹氱▼搴︿笂褰卞搷浜哖. J. Plauger STL鐨勬ц兘銆傛澶栵紝璇ョ増鏈殑婧愪唬鐮佸彲璇繪ц緝宸紝浣犲彲浠ュ湪VC鐨処nclude瀛愮洰褰曚笅鎵懼埌鎵鏈夋簮鏂囦歡錛堟瘮濡傦細C:\Program Files\Microsoft Visual Studio\VC98\Include錛夈傚洜涓轟笉鏄紑鏀炬簮鐮佺殑錛坥pen source錛夛紝鎵浠ヨ繖浜?a style="FONT-SIZE: 12px; COLOR: rgb(78,78,78); WORD-BREAK: break-all; TEXT-DECORATION: none" >婧愪唬鐮?/a>鏄笉鑳戒慨鏀瑰拰閿鍞殑錛岀洰鍓峆.J. Plauger STL鐢盌inkumware鍏徃鎻愪緵鐩稿叧鏈嶅姟. 

銆銆Rouge Wave STL鏄敱Rouge Wave鍏徃瀹炵幇鐨勶紝涔熸槸HP STL鐨勪竴涓戶鎵跨増鏈紝闄や簡HP STL鐨勭浉鍏沖0鏄庝箣澶栵紝榪樻湁Rouge Wave鍏徃鐨勭増鏉冨0鏄庛傚悓鏃訛紝瀹冧篃涓嶆槸寮鏀炬簮鐮佺殑錛屽洜姝ゆ棤娉曚慨鏀瑰拰閿鍞傝鐗堟湰琚獴orland C++ Builder鎵閲囩敤錛屼綘鍙互鍦–++ Builder鐨処nclude瀛愮洰褰曚笅鎵懼埌鎵鏈夊ご鏂囦歡錛堟瘮濡傦細C:\Program Files\Borland\Cbuilder5\Include錛夈傚敖綆ouge Wave STL鐨勬ц兘涓嶆槸寰堝ソ錛屼絾鐢變簬C++ Builder瀵笴++璇█鏍囧噯鐨勬敮鎸佽繕綆椾笉閿欙紝浣垮叾琛ㄧ幇鍦ㄤ竴瀹氱▼搴︿笂寰椾互鏀瑰杽銆傛澶栵紝鍏舵簮浠g爜鐨勫彲璇繪ц緝濂姐傚彲浠ヤ粠濡備笅緗戠珯寰楀埌鏇磋緇嗙殑鎯呭喌浠嬬粛錛?span class=Apple-converted-space> 

銆銆STLport鏈鍒濇簮浜庝縿鍥戒漢Boris Fomitchev鐨勪竴涓紑鍙戦」鐩紝涓昏鐢ㄤ簬灝哠GI STL鐨勫熀鏈唬鐮佺Щ妞嶅埌鍏朵粬璇稿C++Builder鎴栬呮槸Visual C++榪欐牱鐨勪富嫻佺紪璇戝櫒涓娿傚洜涓篠GI STL灞炰簬寮鏀炬簮鐮侊紝鎵浠TLport鎵嶆湁鏉冭繖鏍峰仛銆傜洰鍓峉TLport鐨勬渶鏂扮増鏈槸4.5銆傚彲浠ヤ粠濡備笅緗戠珯寰楀埌鏇磋緇嗙殑鎯呭喌浠嬬粛錛?span class=Apple-converted-space> 

銆銆SGI STL鏄敱Silicon Graphics Computer System, Inc鍏徃瀹炵幇鐨勶紝鍏惰璁¤呭拰緙栧啓鑰呭寘鎷珹lexander Stepanov鍜孧att Austern錛屽悓鏍峰畠涔熸槸HP STL鐨勪竴涓戶鎵跨増鏈傚畠灞炰簬寮鏀炬簮鐮侊紝鍥犳浣犲彲浠ヤ慨鏀瑰拰閿鍞畠銆係GI STL琚獹CC錛坙inux涓嬬殑C++緙栬瘧鍣級鎵閲囩敤錛屼綘鍙互鍦℅CC鐨処nclude瀛愮洰褰曚笅鎵懼埌鎵鏈夊ご鏂囦歡錛堟瘮濡傦細C:\cygnus\cygwin-b20\include\g++\include錛夈傜敱浜嶨CC瀵笴++璇█鏍囧噯鐨勬敮鎸佸緢濂斤紝SGI STL鍦╨inux騫沖彴涓婄殑鎬ц兘鐩稿綋鍑鴻壊銆傛澶栵紝鍏舵簮浠g爜鐨勫彲璇繪т篃寰堝ソ銆?/span>




]]>
C++綾誨簱錛歄TL閫氱敤鐨勬暟鎹簱榪炴帴綾誨簱http://m.shnenglu.com/lovefeel2004/archive/2010/06/02/116946.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Tue, 01 Jun 2010 16:05:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/06/02/116946.htmlhttp://m.shnenglu.com/lovefeel2004/comments/116946.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/06/02/116946.html#Feedback1http://m.shnenglu.com/lovefeel2004/comments/commentRss/116946.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/116946.html

OTL鏄竴涓函C++鐨勯氱敤鏁版嵁搴撹繛鎺ユā鏉垮簱錛屽彲浠ユ敮鎸佸悇縐嶅綋涓嬫祦琛岀殑鏁版嵁搴擄紝濡侽racle錛孲ybase, MySQL, PostgreSQL, EnterpriseDB, SQLite,  MS ACCESS, Firebird絳夌瓑.瀹冩槸涓涓法騫沖彴綾誨簱錛屽湪MS Windows, Linux/Unix/Mac OS X 閮藉彲浠ヤ嬌鐢ㄣ?/p>

涓嬭澆緗戝潃錛?font style="WORD-BREAK: normal; LINE-HEIGHT: 19px; WORD-WRAP: normal" size=2>http://otl.sourceforge.net/

OTL浣跨敤綆鍗? 鍙澶存枃浠朵腑鍖呭惈鏈? #include "otlv4.h" 灝卞彲錛屽疄闄呬笂鏁翠釜OTL灝變竴涓?H鐨勬枃浠訛紝浣跨敤璧鋒潵鏋佷負鐨勬柟渚褲?/span>

OTL浣跨敤鏂規硶錛?/p>

1銆侀鍏堟寚瀹氳榪炴帴鐨勬暟鎹簱綾誨瀷錛孫TL鐢?font style="WORD-BREAK: normal; LINE-HEIGHT: 19px; WORD-WRAP: normal" size=2>瀹忓畾涔?/font>鏉ユ寚瀹氳榪炴帴鐨勬暟鎹簱綾誨瀷銆?font style="WORD-BREAK: normal; LINE-HEIGHT: 19px; WORD-WRAP: normal" size=2>OTL浼氭牴鎹繖涓畯瀹氫箟鏉ュ垵濮嬪寲鏁版嵁搴撹繛鎺ョ殑鐜銆?/span>

鐩稿叧鐨勫畯瀹氫箟鍒楄〃 http://otl.sourceforge.net/otl3_compile.htm

濡傦細 #define OTL_ORA8I 琛ㄧず榪炴帴Oracle 8i 鏁版嵁搴撱?/p>

 

2銆佷緥瀛?/span>

#include <iostream>
using namespace std;
#include <stdio.h>

#define OTL_ORA8I // 鎸囧畾榪炴帴鐨勬暟鎹簱綾誨瀷
#include <otlv4.h> // include the OTL 4 header file

otl_connect db; // 瀹氫箟鏁版嵁搴撳疄渚?/span>

 

void insert()
// 娣誨姞璁板綍

{
 otl_stream o(50, // buffer size
              "insert into test_tab values(:f1<float>,:f2<char[31]>)",
                 // SQL statement
              db // connect object
             );
 char tmp[32];

 for(int i=1;i<=100;++i){
#if defined(_MSC_VER)
#if (_MSC_VER >= 1400) // VC++ 8.0 or higher
  sprintf_s(tmp,sizeof(tmp),"Name%d",i);
#else
  sprintf(tmp,"Name%d",i);
#endif
#else
  sprintf(tmp,"Name%d",i);
#endif
  o<<static_cast<float>(i)<<tmp;
 }
}

//鏌ヨ璁板綍

void select()
{
 otl_stream i(50, // buffer size
              "begin "
               open :cur1 for "
                select * from test_tab "
                where f1>=:f<int> and f1<=:f*2; "
              "end;", // SELECT statement via referenced cursor
              db, // connect object
              ":cur1" // referenced cursor placeholder name
             );
   // create select stream
 
 otl_column_desc* desc;
 int desc_len;

 i<<4; // Before the child SELECT statement can be described,
       // the PL/SQL master block needs to be executed.
       // Forcing the execution of the blcok by entering its input
       // patameter.

 desc=i.describe_select(desc_len);

 for(int n=0;n<desc_len;++n){
  cout<<"========== COLUMN #"<<n+1<<" ==========="<<endl;
  cout<<"name="<<desc[n].name<<endl;
  cout<<"dbtype="<<desc[n].dbtype<<endl;
  cout<<"otl_var_dbtype="<<desc[n].otl_var_dbtype<<endl;
  cout<<"dbsize="<<desc[n].dbsize<<endl;
  cout<<"scale="<<desc[n].scale<<endl;
  cout<<"prec="<<desc[n].prec<<endl;
  cout<<"nullok="<<desc[n].nullok<<endl;
 }
 

}

int main()
{
 otl_connect::otl_initialize(); // 鍒濆鍖朞racle鐜
 try{

  db.rlogon("scott/tiger"); // 榪炴帴Oracle

  otl_cursor::direct_exec
   (
    db,
    "drop table test_tab",
    otl_exception::disabled // disable OTL exceptions
   ); // drop table

  otl_cursor::direct_exec
   (
    db,
    "create table test_tab(f1 number, f2 varchar2(30))"
    );  // create table

  insert(); 
  select();

 }

 catch(otl_exception& p){ // intercept OTL exceptions
  cerr<<p.msg<<endl; // print out error message
  cerr<<p.stm_text<<endl; // print out SQL that caused the error
  cerr<<p.var_info<<endl; // print out the variable that caused the error
 }

 db.logoff(); //鏂紑鏁版嵁搴撹繛鎺?/span>

 return 0;

}



]]>
boost搴搇inux緙栬瘧瀹夎http://m.shnenglu.com/lovefeel2004/archive/2010/06/01/116943.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Tue, 01 Jun 2010 15:36:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/06/01/116943.htmlhttp://m.shnenglu.com/lovefeel2004/comments/116943.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/06/01/116943.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/116943.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/116943.html    鐩稿浜嶹indows鏉ワ紝Linux涓嬬殑boost緙栬瘧綆鍗曡嚦鏋併傛病鏈夐偅涔堝鐨勫彲閫夌紪璇戝櫒錛屾病鏈夐偅闀跨殑緙栬瘧鏃墮棿錛屾病鏈夐偅涔堝鐨勭‖鐩樹嬌鐢ㄩ噺錛岀粺涓鐨刬nlude鍜宭ib鐩綍錛屼綘鐔熸倝鍛戒護琛岋紝涓嶄嬌鐢↖DE錛屼笉闇瑕佹垜閭d箞緗楀棪鐨勪粙緇嶆庝箞閰嶇疆EditPlus銆?br>
棣栧厛鏄笅杞絙oost錛屽彲浠ュ湪姝?
http://sourceforge.net/projects/boost
瀵繪壘涓涓悎閫傜殑鐗堟湰銆傛瘮濡傛垜涓嬭澆鐨勬槸boost_1_33_1.tar.gz錛岃В鍘嬪埌/opt銆?br>
tar xzvf boost_1_33_1.tar.gz -C/opt

鎻愰啋錛氬仛榪欎簺浜嬫儏鐨勬椂鍊欎綘闇瑕佹湁root鏉冮檺銆?br>
榪涘叆boost鐩綍錛?br>
cd /opt/boost_1_33_1

棣栧厛鎴戜滑瑕佺紪璇慴jam錛?br>
cd tools/build/jam_src/
./build.sh

寰堝揩緙栬瘧緇撴潫錛岄粯璁ゆ儏鍐典笅錛宐jam浼氳澶嶅埗鍒?usr/local/bin/bjam銆?br>
鐜板湪浣犲彲浠ヤ嬌鐢╞jam緙栬瘧boost浜嗐?br>
cd ../../..
bjam -sTOOLS=gcc install

緙栬瘧鏃墮棿涓嶄細濡倃indows閭d箞闀夸箙錛屽湪鎴戠殑鐢佃剳涓婄紪璇戜簡澶х害40鍒嗛挓銆備綘鍙互鍦ㄥ墠鍚庝嬌鐢╠f鍛戒護媯鏌ヤ笅紓佺洏浣跨敤錛屽湪鎴戠殑鐢佃剳涓婏紝緙栬瘧boost鑺辮垂浜?00M鐨勭┖闂淬?br>
浣跨敤install浼氭妸澶存枃浠跺鍒跺埌/usr/local/include/boost-1_33_1涓紝鎶婄敓鎴愮殑lib澶嶅埗鍒?usr/local/lib涓傝繖浜涘畬鎴愪箣鍚庯紝璁板緱瑕佷嬌鐢╨dconfig鏉ユ洿鏂板姩鎬侀摼鎺ュ簱銆?br>
鍦ㄦ祴璇曚袱涓緥瀛愪箣鍓嶏紝鎴戜滑鍏堣緗嚑涓幆澧冨彉閲忋?br>
BOOST_ROOT=/opt/boost_1_33_1
BOOST_INCLUDE=/usr/local/include/boost-1_33_1
BOOST_LIB=/usr/local/lib

涓轟簡浣垮叾鑳藉鍦ㄧ櫥褰曟椂鑷姩瀵煎叆錛屼綘鍙互鍐欎竴涓剼鏈細
#!/bin/sh
#boost settings
BOOST_ROOT=/opt/boost_1_33_1
BOOST_INCLUDE=/usr/local/include/boost-1_33_1
BOOST_LIB=/usr/local/lib
export BOOST_ROOT BOOST_INCLUDE BOOST_LIB

灝嗗叾淇濆瓨涓?etc/profile.d/boost.sh錛屽茍浣跨敤chmod a+x boost.sh璁劇疆鎵ц鏉冮檺銆?br>
鐜板湪鎴戜滑鍙互鍐欎袱孌典唬鐮佹潵嫻嬭瘯浜嗐?br>
絎竴涓祴璇曟枃浠舵槸lex.cpp錛?br>
#include <boost/lexical_cast.hpp>
#include <iostream>

int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.12");
std::cout<<a<<std::endl;
std::cout<<b<<std::endl;
return 0;
}

緙栬瘧錛?br>
g++ lex.cpp -I$BOOST_ROOT -o lex

榪愯錛?br>
./lex

杈撳嚭錛?br>
123
123.12

浣犲彲浠ュ皢$BOOST_ROOT鏀逛負$BOOST_INCLUDE錛屽鏋滀綘娌℃湁璁劇疆鐜鍙橀噺錛屽彲浠ユ敼涓?opt/boost_1_33_1鎴栬?usr/local/include/boost-1_33_1銆?br>
鎴戜滑鐨勭浜屼釜渚嬪瓙鏄痳e.cpp錛?br>
#include <iostream>
#include <string>
#include <boost/regex.hpp>

int main() {

std::string s = "who,lives:in-a,pineapple under the sea?";

boost::regex re(",|:|-|\\s+");
boost::sregex_token_iterator
p(s.begin( ), s.end( ), re, -1);
boost::sregex_token_iterator end;

while (p != end)
std::cout << *p++ << '\n';
}

緙栬瘧錛?br>
g++ re.cpp -I$BOOST_ROOT -lboost_regex-gcc -o re

榪愯錛?br>
./re

杈撳嚭錛?br>
who
lives
in
a
pineapple
under
the
sea?

榪欓噷瑕佷嬌鐢?l鎸囧畾浜嗛摼鎺ュ簱銆?br>
鐜板湪boost鐨勫熀鏈畨瑁呴厤緗凡緇忓畬鎴愶紝浣嗘槸鎴戜滑鍙互鍐嶆敼榪涗笅銆?br>
濡傛灉涓嶆兂姣忔閮芥寚瀹歜oost澶存枃浠剁洰褰曪紝鍙互灝嗗叾link鍒?usr/include涓細

ln -s /opt/boost_1_33_1/boost /usr/include/boost

鎴栬咃細

ln -s /usr/local/include/boost-1_33_1/boost /usr/include/boost

濡傛灉浣犱緷鐒跺珜boost緙栬瘧鍚庡崰鐢ㄧ殑絀洪棿澶ぇ錛屽彲浠ュ湪boost鐩綍涓嬩嬌鐢╞jam clean錛?br>
cd /opt/boost_1_33_1
bjam -sTOOLS=gcc clean

榪欎釜鍛戒護浼氭竻闄ょ紪璇戞椂鐨勪腑闂存枃浠訛紝/usr/local/lib涓嬪甫鐗堟湰鍙風殑boost libs錛屽拰/usr/local/include涓嬬殑boost澶存枃浠躲備絾鏄悓鏃惰妭鐪佷簡鍑犵櫨M鐨勭‖鐩樼┖闂淬?br>
鎵浠ュ鏋滀綘浣跨敤浜哻lean錛岃寰楀皢BOOST_INCLUDE鏇翠負BOOST_ROOT錛?opt/boost_1_33_1錛夛紝灝?/usr/include/boost link鍒?opt/boost_1_33_1/boost錛屽啀鏈夊氨鏄紪璇戦摼鎺ユ椂鐨刡oost lib涓嶈甯︾増鏈彿銆?br>
濡傛灉浣犺寰楃紪璇戞椂鎵嬪姩閾炬帴鏁查偅涔堥暱鐨勫悕瀛楁瘮杈冮夯鐑︼紝鍙互浣跨敤鑴氭湰鏉ヨ嚜鍔ㄥ鎵鵑摼鎺ワ細

#!/usr/bin/python

import os
import sys
import re

BOOST_ROOT = os.getenv('BOOST_ROOT')
BOOST_LIB = os.getenv('BOOST_LIB')
#BOOST_ROOT = '/opt/boost_1_33_1'
#BOOST_LIB = '/usr/local/lib'

def getlibs():
alls = os.listdir(BOOST_LIB)
libpattern = re.compile(r'^libboost_([^-]+)-gcc')
libs = {}
for lib in alls:
m = libpattern.match(lib)
if m:
libs[m.group(1).lower()] = 1
return libs


pattern = re.compile(r'^\s*#include\s*<\s*boost/(.+)\.(h|hpp)\s*>')
libs = getlibs()
libskeys = libs.keys()
includes = {}

ENV = os.environ


ARGV = sys.argv[1:]
files = ARGV
if len(files) == 0:
sys.exit()

for f in files:
if f.lower().endswith('.cpp'):
fp = open(f, 'r')
lines = fp.readlines()
for ln in lines:
m = pattern.match(ln)
if m:
libname = m.group(1).lower()
if libname in libskeys:
includes[libname] = 1

libline = ' '.join(map(lambda lib: '-lboost_'+lib+'-gcc', includes.keys()))


obj = ARGV[0]
obj = obj[:len(obj)-4]

#cmd = 'g++ %s -I%s %s -o %s' % (' '.join(files), BOOST_ROOT, libline, obj)
cmd = 'g++ %s %s -o %s' % (' '.join(files), libline, obj)

print cmd
os.system(cmd)

灝嗚繖孌典唬鐮佸啓榪?usr/local/bin/gccboost錛岃祴浜堟墽琛屾潈闄愩?br>
浣跨敤鏂規硶錛?br>
gccboost lex.cpp
gccboost re.cpp

娉ㄦ剰錛氫嬌鐢ㄦ鍛戒護鍋囪boost澶存枃浠跺湪/usr/include涓紝濡傛灉鍋囪涓嶆垚绔嬶紝璇瘋嚜琛屼慨鏀硅剼鏈琛岋細
cmd = 'g++ %s %s -o %s' % (' '.join(files), libline, obj)

涓轟箣鍓嶇殑娉ㄩ噴琛岋細
cmd = 'g++ %s -I%s %s -o %s' % (' '.join(files), BOOST_ROOT, libline, obj)

濡傝嫢BOOST_ROOT鍜孊OOST_LIB鐜鍙橀噺涓嶅瓨鍦紝淇敼涓嬮潰涓よ浠g爜錛?br>
BOOST_ROOT = os.getenv('BOOST_ROOT')
BOOST_LIB = os.getenv('BOOST_LIB')

涓轟箣鍚庢敞閲婅錛?br>
BOOST_ROOT = '/opt/boost_1_33_1'
BOOST_LIB = '/usr/local/lib'

鍙﹀錛実ccboost灝嗕細鑷姩淇敼杈撳嚭鐨勬枃浠跺悕涓?.cpp鐨勬枃浠跺悕錛堝lex.cpp灝嗚緭鍑簂ex錛夛紝濡傛灉涓嶉渶瑕侊紝璇峰皢涓嬮潰鐨勪唬鐮侊細
cmd = 'g++ %s %s -o %s' % (' '.join(files), libline, obj)

鏀逛負錛?br>
cmd = 'g++ %s %s' % (' '.join(files), libline)


Boost瀹夎鍘嗙▼鑷蟲鍩烘湰緇撴潫銆?/span>


]]>
鍦↙inux緋葷粺涓畨瑁呭拰閰嶇疆ACE(杞?http://m.shnenglu.com/lovefeel2004/archive/2010/06/01/116942.html騫芥ⅵ鏂板獎騫芥ⅵ鏂板獎Tue, 01 Jun 2010 15:31:00 GMThttp://m.shnenglu.com/lovefeel2004/archive/2010/06/01/116942.htmlhttp://m.shnenglu.com/lovefeel2004/comments/116942.htmlhttp://m.shnenglu.com/lovefeel2004/archive/2010/06/01/116942.html#Feedback0http://m.shnenglu.com/lovefeel2004/comments/commentRss/116942.htmlhttp://m.shnenglu.com/lovefeel2004/services/trackbacks/116942.html

鏈枃璇︾粏鎻忚堪浜嗗湪Linux鎿嶄綔緋葷粺涓婂畨瑁呭拰閰嶇疆“鑷傚簲閫氫俊鐜(ACE)”鐨勮繃紼嬪拰娉ㄦ剰浜嬮」銆?br>鏂囦腑鐨勬弿榪板熀浜嶳edHat Linux 9鎿嶄綔緋葷粺鍜孉CE 5.4鐗?/p>

 

鍑嗗宸ヤ綔錛?

 

1.紜繚浣犵殑Linux鎿嶄綔緋葷粺鐨勫紑鍙戠幆澧?gcc銆乵ake……)鏄畬鏁翠笖鍙敤鐨勩?br>2.鍦ㄥ畨瑁匒CE鐨勮繃紼嬩腑錛屽彲鑳介渶瑕乺oot鏉冮檺錛屽洜姝ょ‘淇濅綘鎷ユ湁root甯愭埛鐨勫瘑鐮併?br>3.瀵逛簬鍏稿瀷鐨凴edhat9緋葷粺錛宎utoconf紼嬪簭鐨勭増鏈彲鑳借繃浣庯紝浣犻渶瑕侀鍏堝崌綰у畠銆?

 

   鍗囩駭鐨勬楠ゅ涓嬶細

 

1.鍦ㄦ帶鍒跺彴涓緭鍏?autoconf -V錛屾煡鐪嬩綘鐨刟utoconf紼嬪簭鐨勭増鏈?br>2.濡傛灉浣庝簬2.57g錛屼綘闇瑕佸埌http://www.gnu.org/software/autoconf/鍘諱笅杞芥渶鏂扮増鏈殑autoconf紼嬪簭錛岀洰鍓峚utoconf紼嬪簭鐨勭増鏈槸2.59
3.鏍規嵁tarball涓殑瀹夎璇存槑錛岀紪璇戝茍瀹夎鍗囩駭autoconf紼嬪簭
寮濮嬪畨瑁咃細

 

緇忚繃涓婇潰鐨勫噯澶囧伐浣滐紝鐜板湪浣犲凡緇忓叿澶囦簡瀹夎ACE鐨勬潯浠躲備笅闈㈠紑濮嬫寮忕殑瀹夎宸ヤ綔銆?

 

1.棣栧厛紜畾ACE鐨勫畨瑁呰礬寰勶紝騫跺緩绔嬬浉搴旂殑鐩綍銆?br>榪欓噷錛屾垜浠妸ACE瀹夎鍦?home/zhc/ace/鐨勭洰褰曚笅錛屽厛鎵ц
mkdir /home/zhc/ace
2.鐒跺悗灝嗚幏寰楃殑ACE婧愪唬鐮佸寘瑙h嚦璇ョ洰褰曚笅銆?br>tar zxvf ACE-5.4.tar.gz /home/zhc/ace
3.榪欐椂錛屽湪ace鐨勭洰褰曚笅浼氬緩绔嬩竴涓悕涓篈CE_wrappers鐨勫瓙鐩綍錛孉CE鎵鏈夌殑婧愪唬鐮併佸伐鍏楓佸拰渚嬪瓙閮藉湪榪欎釜鐩綍涓?br>鍏堣繘鍏ヨ鐩綍錛屾墽琛?br>cd /home/zhc/ace/ACE_wrappers
鐒跺悗寤虹珛涓涓瓙鐩綍錛岀敤浜庡瓨鏀続CE緙栬瘧鍚庣殑鐩爣鏂囦歡
mkdir build
cd build
4.鎺ョ潃,鎵цconfigure鑴氭湰錛屾鏌ヤ綘鐨勭郴緇熺幆澧冿紝閰嶇疆騫剁敓鎴愰傚悎浣犵殑緋葷粺鐨凪akefile鏂囦歡銆?br>鍦ㄦ墽琛宑onfigure鑴氭湰鏃訛紝鍙互鍔犲叆璁稿閰嶇疆閫夐」錛屽叾璇︾粏璇存槑鍙互鍙傜湅ACE_wrappers鐩綍涓嬬殑ACE-INSTALL.html鏂囦歡錛?br>瀵逛簬Redhat9緋葷粺鏉ヨ錛屼笉蹇呭姞浠諱綍鍙傛暟錛孉CE灝卞彲浠ュ緢濂界殑宸ヤ綔浜嗐?br>../configure
5.鍦ㄦ極闀跨殑媯鏌ュ拰閰嶇疆涔嬪悗錛屽鏋滄病鏈変粈涔堥棶棰橈紝浣犲氨鍙互寮濮嬬紪璇戜簡錛堝鏋滆璁゛ce鏀寔ICMP 鍜屽c++搴撶殑鏀寔錛岄渶瑕佸湪config.h澶存枃浠朵腑鍔犱笂#define ACE_HAS_STANDARD_CPP_LIBRARY 1 鍜?define ACE_HAS_ICMP_SUPPORT 1錛夈?br>榪欎竴姝ュ緢綆鍗曪紝鎵ц
make
鐒跺悗錛屾場涓鏉尪錛岄潤闈欑殑絳夊緟灝辮浜嗐?br>6.濡傛灉緙栬瘧欏哄埄鐨勯氳繃(閫氬父閮戒細鏄繖鏍風殑)錛岄偅涔堟伃鍠滀綘錛屼綘宸茬粡鎴愬姛浜嗕竴澶у崐浜嗭紝涓嬮潰瑕佸仛鐨勪粎浠呮槸浠ヤ簺閰嶇疆宸ヤ綔鑰屽凡銆?br>鎺ヤ笅鏉ョ殑宸ヤ綔鏄畨瑁咃紝榪欎竴姝ユ槸鍙夌殑錛岀洰鐨勬槸鎶婄紪璇戠敓鎴愮殑ACE鐨勫簱鏂囦歡銆佸ご鏂囦歡鍜屾墜鍐岄〉絳夊畨瑁呭埌/usr/local鐨勭浉搴旂洰褰曚腑鍘伙紝涓轟簡浠婂悗浣跨敤鐨勬柟渚匡紝鎴戝緩璁綘榪樻槸榪涜榪欎竴姝ワ紝鎵ц
su
root's password
make install
7.瀹夎涔嬪悗錛屾垜浠氨鍙互榪涜鏈鍚庣殑閰嶇疆宸ヤ綔浜嗐?br>棣栧厛璁劇疆鐜鍙橀噺ACE_ROOT錛屾墽琛?br>setenv ACE_ROOT /home/zhc/ace/ACE_wrappers
娉ㄦ剰鍏朵腑鐨勮礬寰勮鏍規嵁浣犵殑瀹為檯鎯呭喌鑰屽畾
濡傛灉浣犱笉鎯蟲瘡嬈¢兘鎵嬪伐璁懼畾璺緞錛屽彲浠ョ紪杈戜綘鐨刡ash鐨勯厤緗枃浠訛紝鎵ц
cd
vi .bash_profile
鍦ㄥ叾涓~鍔犲涓嬩袱琛?br>ACE_ROOT=/home/work/research/ace/ACE_wrappers
export ACE_ROOT
8.鐒跺悗錛屽湪$ACE_ROOT/ace鐩綍涓垱寤轟竴涓悕涓篶onfig.h鐨勬枃浠訛紝鍦ㄥ叾涓寘鍚涓嬩竴琛?br>#include "ace/config-linux.h"
鎴栬咃紝綆鍗曡搗瑙侊紝浣犱篃鍙互鐩存帴寤虹珛涓涓寚鍚慶onfig-linux.h鐨勭鍙烽摼鎺ワ紝鎵ц
ln -s config-linux.h config.h
9.鍚屾牱錛屽湪$ACE_ROOT/include/makeinclude鐩綍涓垱寤轟竴涓悕涓簆latform_macros.GNU鐨勬枃浠訛紝鍦ㄥ叾涓寘鍚涓嬩竴琛?br>include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
鎴栬咃紝綆鍗曡搗瑙侊紝浣犱篃鍙互鐩存帴寤虹珛涓涓寚鍚憄latform_linux.GNU鐨勭鍙烽摼鎺ワ紝鎵ц
ln -s platform_linux.GNU platform_macros.GNU
10.鏈鍚庝竴姝ワ紝璁劇疆鐜鍙橀噺LD_LIBRARY_PATH錛屾墽琛?br>setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:
/usr/local/lib:$LD_LIBRARY_PATH
鎴栬呭湪~/.bash_profile鏂囦歡涓坊鍔犲涓嬩袱琛?br>LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:
/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
瀹夎瀹屾垚錛?

 

緇忚繃涓婇潰鐨勬楠わ紝ACE宸茬粡瀹夎鍒頒簡鎮ㄧ殑緋葷粺涓婁簡錛屼笅闈㈡垜浠皢緙栬瘧騫舵墽琛孉CE鐨勪緥紼嬩互楠岃瘉鎴戜滑鐨勫伐浣溿?br>榪欓噷鎴戜滑浠ャ奀++緗戠粶緙栫▼錛屽嵎涓銆嬫墍甯︾殑渚嬪瓙涓轟緥銆?

 

1:榪涘叆渚嬬▼鐩綍錛屾墽琛?br>cd $(ACE_ROOT)/examples/C++NPv1
2:緙栬瘧渚嬪瓙紼嬪簭錛屾墽琛?br>make
濡傛灉鍓嶉潰鐨勫畨瑁呭拰閰嶇疆姝g‘錛屽緢蹇氨鑳藉寰楀埌緙栬瘧鍚庣殑渚嬪瓙紼嬪簭銆?br>3:鍒嗗埆鎵ц涓涓湇鍔″櫒紼嬪簭(闅忎究鍝竴涓兘琛?鍜屼竴涓鎴風紼嬪簭(Logging_Client)錛屽鏋滅▼搴忚繍琛屾紜紝璇存槑鍓嶉潰鐨勫畨瑁呭拰閰嶇疆鎴愬姛錛屼笅闈綘灝卞彲浠ュ紑濮嬩綘鐨凙CE瀛︿範涔嬫梾浜?/span>


]]>
寮濮婥++鐨勫巻紼?/title><link>http://m.shnenglu.com/lovefeel2004/archive/2009/08/28/94701.html</link><dc:creator>騫芥ⅵ鏂板獎</dc:creator><author>騫芥ⅵ鏂板獎</author><pubDate>Fri, 28 Aug 2009 13:25:00 GMT</pubDate><guid>http://m.shnenglu.com/lovefeel2004/archive/2009/08/28/94701.html</guid><wfw:comment>http://m.shnenglu.com/lovefeel2004/comments/94701.html</wfw:comment><comments>http://m.shnenglu.com/lovefeel2004/archive/2009/08/28/94701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/lovefeel2004/comments/commentRss/94701.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/lovefeel2004/services/trackbacks/94701.html</trackback:ping><description><![CDATA[浠婂ぉ姝e紡寮濮媬~ <img src ="http://m.shnenglu.com/lovefeel2004/aggbug/94701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/lovefeel2004/" target="_blank">騫芥ⅵ鏂板獎</a> 2009-08-28 21:25 <a href="http://m.shnenglu.com/lovefeel2004/archive/2009/08/28/94701.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://ydy8.com" target="_blank">欧美成人精品三级在线观看</a>| <a href="http://www-733999.com" target="_blank">免费国产自线拍一欧美视频</a>| <a href="http://tzhbsb.com" target="_blank">在线观看日韩www视频免费</a>| <a href="http://fs-nanxiang.com" target="_blank">国产精品制服诱惑</a>| <a href="http://jisuyswang.com" target="_blank">国产精品入口福利</a>| <a href="http://www888x.com" target="_blank">国产午夜精品理论片a级大结局 </a>| <a href="http://787622.com" target="_blank">狠狠久久亚洲欧美</a>| <a href="http://6399128.com" target="_blank">亚洲电影免费观看高清完整版在线</a>| <a href="http://sdhanm.com" target="_blank">亚洲国产第一</a>| <a href="http://xxoo668.com" target="_blank">夜夜嗨av一区二区三区四区</a>| <a href="http://8xfore.com" target="_blank">翔田千里一区二区</a>| <a href="http://4480vv.com" target="_blank">欧美成人自拍视频</a>| <a href="http://seyuav4.com" target="_blank">亚洲视频在线观看一区</a>| <a href="http://04781900.com" target="_blank">久久久www免费人成黑人精品</a>| <a href="http://www-76577c.com" target="_blank">欧美成人免费播放</a>| <a href="http://ncyy4.com" target="_blank">国产女同一区二区</a>| <a href="http://wtoykd.com" target="_blank">亚洲精品久久久久久久久久久久 </a>| <a href="http://qkspvip.com" target="_blank">亚洲欧美日韩国产一区</a>| <a href="http://555346.com" target="_blank">久久亚洲高清</a>| <a href="http://shiselol.com" target="_blank">日韩午夜精品</a>| <a href="http://shiselol.com" target="_blank">久久久久久91香蕉国产</a>| <a href="http://qiezisp2.com" target="_blank">欧美日韩日韩</a>| <a href="http://05ec.com" target="_blank">亚洲成人在线免费</a>| <a href="http://www353488.com" target="_blank">亚洲欧美日韩在线高清直播</a>| <a href="http://www24822.com" target="_blank">你懂的成人av</a>| <a href="http://avjj80.com" target="_blank">午夜精品www</a>| <a href="http://am3757.com" target="_blank">欧美日韩一级片在线观看</a>| <a href="http://lutube666.com" target="_blank">国产自产精品</a>| <a href="http://660507jj.com" target="_blank">亚洲主播在线观看</a>| <a href="http://vod3366.com" target="_blank">亚洲国产精品成人va在线观看</a>| <a href="http://jm-comic3.com" target="_blank">一区二区精品在线</a>| <a href="http://598327.com" target="_blank">麻豆精品传媒视频</a>| <a href="http://gyzhoucheng.com" target="_blank">国产三级精品三级</a>| <a href="http://www66617.com" target="_blank">亚洲综合精品自拍</a>| <a href="http://05ec.com" target="_blank">亚洲激情偷拍</a>| <a href="http://tzhsdy.com" target="_blank">久久久精品一区二区三区</a>| <a href="http://zhxjl.com" target="_blank">国产精品久久网站</a>| <a href="http://www353488.com" target="_blank">99在线精品视频在线观看</a>| <a href="http://97caoporm.com" target="_blank">久久最新视频</a>| <a href="http://339871.com" target="_blank">新狼窝色av性久久久久久</a>| <a href="http://zjkgjt.com" target="_blank">国产精品久久久久久久第一福利</a>| <a href="http://152mu.com" target="_blank">99re在线精品</a>| <a href="http://wwwavtb2049.com" target="_blank">亚洲国产精品va在线看黑人动漫</a>| <a href="http://caox8.com" target="_blank">久久精品国产清高在天天线</a>| <a href="http://65kf.com" target="_blank">国产精品一香蕉国产线看观看</a>| <a href="http://133868.com" target="_blank">亚洲视频国产视频</a>| <a href="http://7755mm.com" target="_blank">亚洲精品国精品久久99热一</a>| <a href="http://9y1111.com" target="_blank">另类激情亚洲</a>| <a href="http://nn99dd.com" target="_blank">亚洲一区制服诱惑</a>| <a href="http://caopanjia.com" target="_blank">久久精品人人</a>| <a href="http://www353488.com" target="_blank">亚洲午夜女主播在线直播</a>| <a href="http://057232.com" target="_blank">欧美日韩免费高清</a>| <a href="http://yiqiluntan.com" target="_blank">夜夜嗨网站十八久久</a>| <a href="http://www993997.com" target="_blank">亚洲国产一区二区三区a毛片</a>| <a href="http://ynjzwh.com" target="_blank">另类图片国产</a>| <a href="http://timonna.com" target="_blank">亚洲国产欧美一区二区三区同亚洲</a>| <a href="http://www8888803.com" target="_blank">久久阴道视频</a>| <a href="http://45z6.com" target="_blank">久久乐国产精品</a>| <a href="http://605054.com" target="_blank">在线观看成人av</a>| <a href="http://cuucs.com" target="_blank">亚洲成色www久久网站</a>| <a href="http://caca060.com" target="_blank">欧美1区2区</a>| <a href="http://www962aa.com" target="_blank">亚洲伦理在线观看</a>| <a href="http://jlkcjz.com" target="_blank">日韩一级视频免费观看在线</a>| <a href="http://by21999.com" target="_blank">欧美午夜无遮挡</a>| <a href="http://www033459.com" target="_blank">午夜一区二区三视频在线观看</a>| <a href="http://aqd072.com" target="_blank">亚洲午夜精品17c</a>| <a href="http://www280999.com" target="_blank">国产乱码精品一区二区三区不卡 </a>| <a href="http://www369cf.com" target="_blank">欧美粗暴jizz性欧美20</a>| <a href="http://timonna.com" target="_blank">亚洲国产精品va在线观看黑人</a>| <a href="http://l5076.com" target="_blank">免费看成人av</a>| <a href="http://4kmz.com" target="_blank">欧美精品国产精品</a>| <a href="http://www5123ri.com" target="_blank">亚洲一区二区三区精品动漫</a>| <a href="http://www99mmnn.com" target="_blank">一本一本久久</a>| <a href="http://929889.com" target="_blank">国产欧美一区二区三区在线看蜜臀</a>| <a href="http://www-xj788.com" target="_blank">久久精品国产免费看久久精品</a>| <a href="http://8484vivo.com" target="_blank">午夜在线精品</a>| <a href="http://4534com.com" target="_blank">亚洲精品1234</a>| <a href="http://hengbang50.com" target="_blank">亚洲私人影院</a>| <a href="http://ylnnc.com" target="_blank">狠狠久久亚洲欧美</a>| <a href="http://xshgwy.com" target="_blank">亚洲精品国产视频</a>| <a href="http://sz-jyqj.com" target="_blank">国产乱码精品一区二区三区五月婷</a>| <a href="http://www-964664.com" target="_blank">久久国产精品久久久久久久久久</a>| <a href="http://127mingdao.com" target="_blank">午夜亚洲视频</a>| <a href="http://69ru.com" target="_blank">亚洲精品亚洲人成人网</a>| <a href="http://www-116036.com" target="_blank">亚洲视频在线一区观看</a>| <a href="http://www-232323.com" target="_blank">国产一区二区日韩精品</a>| <a href="http://xvideoxxnx.com" target="_blank">亚洲春色另类小说</a>| <a href="http://kanzhelu31.com" target="_blank">国产精品免费看</a>| <a href="http://8x27.com" target="_blank">免费美女久久99</a>| <a href="http://www-964664.com" target="_blank">国产精品久久久久久久久</a>| <a href="http://cao2014.com" target="_blank">欧美jjzz</a>| <a href="http://dmzjz.com" target="_blank">国产欧美一区二区三区在线看蜜臀</a>| <a href="http://7234hh.com" target="_blank">欧美大片网址</a>| <a href="http://11867a.com" target="_blank">国产欧美欧美</a>| <a href="http://669528.com" target="_blank">亚洲乱码国产乱码精品精天堂</a>| <a href="http://psykoptic.com" target="_blank">国产麻豆综合</a>| <a href="http://xzvaz.com" target="_blank">亚洲精品乱码</a>| <a href="http://236664.com" target="_blank">影院欧美亚洲</a>| <a href="http://qiezi2vip.com" target="_blank">亚洲欧美另类中文字幕</a>| <a href="http://8484vivo.com" target="_blank">99re6热只有精品免费观看</a>| <a href="http://557523.com" target="_blank">欧美一区二区三区播放老司机</a>| <a href="http://488f.com" target="_blank">日韩一级黄色大片</a>| <a href="http://qmynong.com" target="_blank">久久久美女艺术照精彩视频福利播放</a>| <a href="http://wy172.com" target="_blank">夜夜爽夜夜爽精品视频</a>| <a href="http://0070571.com" target="_blank">久久精品在线观看</a>| <a href="http://hsxinbao.com" target="_blank">欧美亚洲一区二区在线</a>| <a href="http://amiee88.com" target="_blank">欧美精品亚洲精品</a>| <a href="http://sihu121.com" target="_blank">另类天堂av</a>| <a href="http://khc83.com" target="_blank">国产精品一区二区三区观看</a>| <a href="http://ndr666.com" target="_blank">亚洲一区二区三区色</a>| <a href="http://88844401.com" target="_blank">亚洲高清精品中出</a>| <a href="http://56lin.com" target="_blank">国产深夜精品</a>| <a href="http://wwwbbb888999.com" target="_blank">99国产精品国产精品久久</a>| <a href="http://17vx.com" target="_blank">在线观看亚洲视频</a>| <a href="http://987kt.com" target="_blank">午夜欧美大尺度福利影院在线看</a>| <a href="http://saox28.com" target="_blank">aaa亚洲精品一二三区</a>| <a href="http://baoxiniao666.com" target="_blank">久久亚洲高清</a>| <a href="http://287975.com" target="_blank">久久综合网络一区二区</a>| <a href="http://www24668.com" target="_blank">国产日韩欧美夫妻视频在线观看</a>| <a href="http://www-273111.com" target="_blank">亚洲精选在线观看</a>| <a href="http://668www.com" target="_blank">亚洲美女中出</a>| <a href="http://roujizz.com" target="_blank">欧美 日韩 国产精品免费观看</a>| <a href="http://xinghejiuye.com" target="_blank">久久嫩草精品久久久久</a>| <a href="http://lexueit.com" target="_blank">国产日韩1区</a>| <a href="http://807225.com" target="_blank">午夜视频久久久</a>| <a href="http://848585.com" target="_blank">亚洲免费在线电影</a>| <a href="http://wg246.com" target="_blank">国产精品黄视频</a>| <a href="http://bjrailtech.com" target="_blank">中文一区在线</a>| <a href="http://wwwsfsf11.com" target="_blank">亚洲男人影院</a>| <a href="http://w3e8.com" target="_blank">国产精品久久精品日日</a>| <a href="http://dadepaimai.com" target="_blank">一区二区精品在线</a>| <a href="http://811897.com" target="_blank">午夜精品福利在线观看</a>| <a href="http://486be.com" target="_blank">国产精品日韩精品欧美精品</a>| <a href="http://www55avav.com" target="_blank">亚洲视频网站在线观看</a>| <a href="http://y1bbs.com" target="_blank">亚洲免费一区二区</a>| <a href="http://pktether.com" target="_blank">国产精品日韩一区二区三区</a>| <a href="http://56701sy.com" target="_blank">亚洲欧美日韩视频一区</a>| <a href="http://pfpf66.com" target="_blank">久久精品91久久久久久再现</a>| <a href="http://filmcameralibrary.com" target="_blank">国产日韩欧美亚洲一区</a>| <a href="http://anquye16.com" target="_blank">久久av红桃一区二区小说</a>| <a href="http://tongrenyaoye.com" target="_blank">久久久午夜精品</a>| <a href="http://548710.com" target="_blank">亚洲黑丝在线</a>| <a href="http://www-893333.com" target="_blank">欧美日韩一区免费</a>| <a href="http://988tz.com" target="_blank">亚洲欧美日韩精品综合在线观看 </a>| <a href="http://77777kkk.com" target="_blank">在线播放日韩专区</a>| <a href="http://haixian360.com" target="_blank">久久免费99精品久久久久久</a>| <a href="http://59812mh.com" target="_blank">欧美激情五月</a>| <a href="http://08xxxc.com" target="_blank">亚洲一卡久久</a>| <a href="http://880895.com" target="_blank">国产一区二区日韩</a>| <a href="http://www-18873.com" target="_blank">久久一区二区三区超碰国产精品</a>| <a href="http://7redy.com" target="_blank">欧美国产视频在线观看</a>| <a href="http://jiujiire.com" target="_blank">99国产精品久久</a>| <a href="http://69kun.com" target="_blank">国产精品日韩欧美综合</a>| <a href="http://easypufu.com" target="_blank">久久精品免费电影</a>| <a href="http://www249aaa.com" target="_blank">亚洲国产精品久久久</a>| <a href="http://xiaobi13.com" target="_blank">亚洲无线视频</a>| <a href="http://nxyhbz.com" target="_blank">国产一在线精品一区在线观看</a>| <a href="http://by99969.com" target="_blank">久久婷婷色综合</a>| <a href="http://92y5.com" target="_blank">亚洲伦理精品</a>| <a href="http://gmqgw.com" target="_blank">久久久久久久综合日本</a>| <a href="http://whaylan.com" target="_blank">亚洲久久一区二区</a>| <a href="http://44cgcg.com" target="_blank">国产欧美日韩免费看aⅴ视频</a>| <a href="http://77777gao.com" target="_blank">久久久精品2019中文字幕神马</a>| <a href="http://91pero.com" target="_blank">亚洲黄色视屏</a>| <a href="http://aa224.com" target="_blank">久久成人国产</a>| <a href="http://fyfsds.com" target="_blank">99精品99</a>| <a href="http://www5xzz1.com" target="_blank">韩国v欧美v日本v亚洲v</a>| <a href="http://rljyy.com" target="_blank">欧美日韩精选</a>| <a href="http://smdzs.com" target="_blank">久久久久欧美精品</a>| <a href="http://444398.com" target="_blank">亚洲午夜激情</a>| <a href="http://ks180.com" target="_blank">亚洲国产精品久久久久</a>| <a href="http://vvvv81.com" target="_blank">欧美伊人久久久久久午夜久久久久 </a>| <a href="http://668www.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://zgztby.com" target="_blank">一区二区三区在线看</a>| <a href="http://xiaofan123.com" target="_blank">久久看片网站</a>| <a href="http://aijiashe.com" target="_blank">日韩视频免费在线观看</a>| <a href="http://jy920.com" target="_blank">久久精品一区二区三区不卡牛牛 </a>| <a href="http://xxx444vip.com" target="_blank">亚洲欧美在线磁力</a>| <a href="http://7777977.com" target="_blank">精品动漫3d一区二区三区</a>| <a href="http://921367.com" target="_blank">欧美日韩午夜剧场</a>| <a href="http://193youwu.com" target="_blank">久久久久久久久伊人</a>| <a href="http://5553303.com" target="_blank">一区二区福利</a>| <a href="http://66gg6.com" target="_blank">亚洲国产精品久久久久</a>| <a href="http://133969.com" target="_blank">久久久久久电影</a>| <a href="http://unrealcopgmail.com" target="_blank">99在线热播精品免费</a>| <a href="http://kissgz.com" target="_blank">一区二区三区在线视频观看</a>| <a href="http://4986888.com" target="_blank">国产精品黄视频</a>| <a href="http://cswlts.com" target="_blank">欧美精品综合</a>| <a href="http://2938423.com" target="_blank">男女视频一区二区</a>| <a href="http://34ak.com" target="_blank">久久久久久久久久码影片</a>| <a href="http://958997.com" target="_blank">亚洲天堂网在线观看</a>| <a href="http://ooonefteprompellets.com" target="_blank">欧美成年视频</a>| <a href="http://wwwlywbb.com" target="_blank">久久综合九色</a>| <a href="http://shllswkj.com" target="_blank">久久久久久久久伊人</a>| <a href="http://www24822.com" target="_blank">午夜影院日韩</a>| <a href="http://by66336.com" target="_blank">亚洲欧美日韩国产综合在线</a>| <a href="http://www-876810.com" target="_blank">一区二区三区四区五区视频 </a>| <a href="http://hbdxzx.com" target="_blank">亚洲国产成人久久综合</a>| <a href="http://zzzz91.com" target="_blank">麻豆成人在线</a>| <a href="http://160160160.com" target="_blank">久久久久久噜噜噜久久久精品</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>