锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲制服av,欧美成人久久,欧美日韩蜜桃http://www.shnenglu.com/jianc/<script type="text/javascript"> function OnClient(){ var tmp = 1; var tmp2 = 2; var sum = tmp + tmp2; alert(sum); } </script>zh-cnWed, 24 Sep 2025 05:58:18 GMTWed, 24 Sep 2025 05:58:18 GMT60浠g爜鑷姩琛ュ叏鎻掍歡http://www.shnenglu.com/jianc/archive/2016/01/31/212766.htmljiancjiancSun, 31 Jan 2016 13:21:00 GMThttp://www.shnenglu.com/jianc/archive/2016/01/31/212766.htmlhttp://www.shnenglu.com/jianc/comments/212766.htmlhttp://www.shnenglu.com/jianc/archive/2016/01/31/212766.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/212766.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/212766.htmlVisual Assist
http://www.wholetomato.com/


jianc 2016-01-31 21:21 鍙戣〃璇勮
]]>
瀹炵敤宸ュ叿闊抽熷惎鍔?/title><link>http://www.shnenglu.com/jianc/archive/2012/12/13/196202.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Thu, 13 Dec 2012 02:19:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/12/13/196202.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/196202.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/12/13/196202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/196202.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/196202.html</trackback:ping><description><![CDATA[http://www.3lsoft.com/<img src ="http://www.shnenglu.com/jianc/aggbug/196202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-12-13 10:19 <a href="http://www.shnenglu.com/jianc/archive/2012/12/13/196202.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>sqlite 鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦?/title><link>http://www.shnenglu.com/jianc/archive/2012/10/17/193427.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Wed, 17 Oct 2012 09:54:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/10/17/193427.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/193427.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/10/17/193427.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/193427.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/193427.html</trackback:ping><description><![CDATA[<div>鎵цsql璇彞錛?br />SELECT COUNT(*) FROM<strong> sqlite_master</strong> where type='table' and name='xxx琛ㄥ悕'</div><img src ="http://www.shnenglu.com/jianc/aggbug/193427.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-10-17 17:54 <a href="http://www.shnenglu.com/jianc/archive/2012/10/17/193427.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>sqlite寮鍙戝伐鍏?/title><link>http://www.shnenglu.com/jianc/archive/2012/10/17/193417.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Wed, 17 Oct 2012 07:30:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/10/17/193417.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/193417.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/10/17/193417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/193417.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/193417.html</trackback:ping><description><![CDATA[<div>http://sqliteadmin.orbmu2k.de/</div><img src ="http://www.shnenglu.com/jianc/aggbug/193417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-10-17 15:30 <a href="http://www.shnenglu.com/jianc/archive/2012/10/17/193417.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>zeromq?http://www.shnenglu.com/jianc/archive/2012/10/11/193170.htmljiancjiancThu, 11 Oct 2012 07:58:00 GMThttp://www.shnenglu.com/jianc/archive/2012/10/11/193170.htmlhttp://www.shnenglu.com/jianc/comments/193170.htmlhttp://www.shnenglu.com/jianc/archive/2012/10/11/193170.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/193170.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/193170.htmlhttp://www.zeromq.org/
https://github.com/zeromq/libzmq
http://zguide2.zeromq.org/page:all
http://blog.codingnow.com/2011/02/zeromq_message_patterns.html



jianc 2012-10-11 15:58 鍙戣〃璇勮
]]>
Qt 鎼緩c/s妗嗘灦鎬葷粨http://www.shnenglu.com/jianc/archive/2012/08/08/186661.htmljiancjiancWed, 08 Aug 2012 08:07:00 GMThttp://www.shnenglu.com/jianc/archive/2012/08/08/186661.htmlhttp://www.shnenglu.com/jianc/comments/186661.htmlhttp://www.shnenglu.com/jianc/archive/2012/08/08/186661.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/186661.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/186661.htmlQt 鎼緩c/s妗嗘灦鎬葷粨

涓 鏈嶅姟绔?br />浣跨敤QTcpServer綾?br />QTcpServer *tcpServer = new QTcpServer(this);
寮鍚洃鍚?br />tcpServer->listen(QHostAddress::LocalHost, port);    //port涓虹鍙e彿
濡傛灉鐩戝惉澶辮觸, 璇鋒煡鐪媡cpServer->errorString();
鍙互榪炴帴tcpServer瀵硅薄鐨刵ewConnection淇″彿, 榪欐牱涓鏈夊鎴風榪炴帴涓婃潵, 灝卞彲浠ヨ皟鐢ㄦ垜浠殑榪炴帴妲借繘琛屽鐞?br />connect(tcpServer, SIGNAL(newConnection), this, SLOT(slotNewClientConnect()));

褰撴柇寮鐩戝惉鏃? 鍙互鍏堝垽鏂崟鍓嶆槸鍚﹀湪鐩戝惉
tcpServer->isListening(), 鑻ユ灉鏄? 鍒欒皟鐢╰cpServer->close();鍏抽棴鐩戝惉

褰撳鎴風榪炴帴涓婃潵鐨勬椂鍊? 鍙互璋冪敤tcpServer->nextPendingConnection();鏉ュ厑璁稿鎴風榪炴帴, 騫惰繑鍥炲鎴風鐨剆ocket瀵硅薄
鍙互瀵硅繛鎺ヤ笂鏉ョ殑socket瀵硅薄榪涜淇″彿-妲藉叧鑱? 榪欐牱灝卞彲浠ュ榪欎釜瀹㈡埛绔殑socket瀵硅薄榪涜鏇村鐨勬帶鍒?br />


浜?瀹㈡埛绔?br />浣跨敤QTcpSocket瀵硅薄榪炴帴鍒版湇鍔″櫒
QTcpSocket *tcpSocket = new QTcpSocket(this);
tcpSocket->abort();    //鍙栨秷宸叉湁鐨勮繛鎺?br />tcpSocket->connectToHost(鏈嶅姟鍣╥p, 鏈嶅姟鍣ㄧ鍙?;
鍙互鍏寵仈tcpSocket鐨別rror淇″彿, 榪欐牱榪炴帴澶辮觸鏃跺欏氨鍙互寰楀埌閫氱煡浜?br />鍙互鍏寵仈tcpSocket鐨剅eadyRead()淇″彿, 榪欐牱鎺ユ敹鍒版暟鎹椂鍊欎篃鍙互寰楀埌閫氱煡浜?br />鍚屾牱connected()淇″彿鎻愮ず宸叉垚鍔熻繛鎺ュ埌鏈嶅姟绔?br />disconnected()淇″彿鎻愮ず宸茬粡鏂紑榪炴帴, 鍙互鍏寵仈鍒拌瀵硅薄鐨刣eleteLater()妲戒笂鍒犻櫎榪炴帴(鏈嶅姟绔?


榪欐牱, 鍙寰楀埌閫氳鐨剆ocket瀵硅薄, 鍏寵仈涓涓媟eadyRead()淇″彿灝卞彲浠ヨ鍙栬繛鎺ョ鍙戦佽繃鏉ョ殑鏁版嵁, 鍐欑殑璇濈洿鎺ヨ皟鐢╳rite鏂規硶鍗沖彲


鍐欐暟鎹彂閫佸彲浠ョ敤QByteArray鍜孮DataStream榪涜鎿嶄綔:
QDataStream瀵硅薄鍙互瀵筈ByteArray瀵硅薄榪涜璇誨啓鎿嶄綔
姣斿錛?br />QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);    //瑕佽緗増鏈? 鐗堟湰鍙瘋鍜屾帴鍙楃璇誨彇鐗堟湰鍙蜂竴鑷?br />out << (quint16)0; //鍐欒鍙戦佹暟鎹殑闀垮害, 榪欓噷鍏堢敤0鍐欏墠闈袱涓瓧鑺傚崰浣? 鍚庨潰鍐嶈ˉ涓婃潵
out << tr("鍙戦佺殑鏁版嵁");
out.device()->seek(0);    //鍙堣煩鍒扮紦鍐插尯鐨勫紑澶? 鍑嗗浜涙暟鎹寘鐨勯暱搴?br />out << (quint16)(block.size() - sizeof(quint16));
鐒跺悗浣跨敤榪炴帴濂楁帴瀛楀璞?conObj->write(QByteArray瀵硅薄); 榪欐牱灝辨妸鏁版嵁鍙戦佸嚭鍘諱簡, 濡?br />conObj->write(block);


璇誨彇榪炴帴绔彂閫佽繃鏉ョ殑鏁版嵁
鍚屾牱鐢≦DataStream鏉ュ鐞?
QDataStream in(榪炴帴绔鎺ュ瓧瀵硅薄);
in.setVersion(QDataStream::Qt_4_0);    //瑕佸拰鍙戦佺鐨勭増鏈彿涓鑷?br />
qint16 blockSize = 0; //鍒濆鍖?

if(0 == blockSize)
{
    if(conSocket->bytesAvailable() < (int)sizeof(quint16)) //濡傛灉宸茬粡鎺ユ敹鍒扮殑鏁版嵁灝忎簬2涓瓧鑺?
    {                                                      //璇存槑鏁版嵁榪樻病鎺ユ敹瀹岋紝鐩存帴閫鍑猴紝絳夊緟鏁版嵁鎺ユ敹瀹屽叏
        return;
    }
    in >> bIockSize; //淇濆瓨鏁版嵁鍖呭ぇ灝?涓や釜瀛楄妭)
}
if(conSocket->bytesAvailable() < blockSize)
{//鎺ユ敹鍒扮殑鏁版嵁涓嶅畬鍏?br />    return;
}
in >> message; //QString message; 鎶婃帴鏀跺埌鐨勬暟鎹瓨鏀懼埌message瀵硅薄閲岄潰
榪欐牱灝眔k浜?br />

//鍙栧緱鏈湴ip鍦板潃淇℃伅
QString localHostName = QHostInfo::localHostName();
    QHostInfo info = QHostInfo::fromName(localHostName);
    qDebug() << "localHostName:" << localHostName << endl
             << "IP Address:" << info.addresses();






jianc 2012-08-08 16:07 鍙戣〃璇勮
]]>
Qt絎旇http://www.shnenglu.com/jianc/archive/2012/08/04/186237.htmljiancjiancSat, 04 Aug 2012 02:30:00 GMThttp://www.shnenglu.com/jianc/archive/2012/08/04/186237.htmlhttp://www.shnenglu.com/jianc/comments/186237.htmlhttp://www.shnenglu.com/jianc/archive/2012/08/04/186237.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/186237.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/186237.html
1.鐢≦t Creator鍒涘緩涓涓熀浜嶨UI鐨勫簲鐢ㄧ▼搴? 閫夋嫨鍩虹被鏈塓Widget, QDialog, QMainWindow涓夌. 鍙戠幇涓涓棶棰? 褰撻夋嫨鐢≦Widget, QDialog鏃? 鍙互鐩存帴鍦ㄦ淳鐢熺被鐨勬瀯閫犲嚱鏁伴噷鍒涘緩鎺т歡娣誨姞鍒板竷灞綆$悊鍣ㄥ璞? 鐒跺悗璋冪敤setLayout(甯冨眬綆$悊鍣ㄥ璞?灝卞彲浠ュ湪鐣岄潰鏄劇ず鍒涘緩濂界殑鎺т歡浜? 鐒惰岄夌敤QMainWindow浣滀負鍩虹被鐨勬椂鍊? 榪欐牱鎿嶄綔鍗存病鏈夋樉紺哄嚭鎺т歡鏉? 緇忚繃鐧懼害, 鍙戠幇鍘熸潵媧劇敓綾昏繕瑕佸垱寤轟竴涓猀Widget瀵硅薄, 鎶婂竷灞綆$悊鍣ㄦ斁鍒拌繖涓猀Widget瀵硅薄涓婇潰, 鐒跺悗鎶婅繖涓猀Widget瀵硅薄浣滀負鍙傛暟璋冪敤setCentralWidget灝卞彲浠ユ甯告樉紺烘帶浠朵簡.

2.瑙e喅Qt涓樉紺轟腑鏂囦貢鐮佺殑鏂規硶, 榪欓噷鐩存帴娣誨姞涓や釜鏂規硶鐨勮皟鐢?
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

3.紿楀彛鏍峰紡
setWindowFlags(Qt::FramelessWindowHint); //鍘繪帀紿楀彛杈規鏍囬

4.md5鍔犲瘑
Qt涓嬌鐢∕D5鍔犲瘑
QCryptographicHash test(QCryptographicHash::MD5);
QByteArray data;
data.append(tr("test"));
test.addData(data);
QByteArray result = test.result();

result.toBase64(); //瀵嗘枃鐢╞ase64緙栫爜
result.toHex(); //鐢?6榪涘埗鏄劇ず鏁版嵁

5.浣跨敤澶氱嚎紼?br />緇ф壙QThread, 閲嶅啓run铏氭柟娉? 濡傛灉浣跨敤綰跨▼浜嬩歡寰幆, 鍦╮un閲岄潰浣跨敤QObject瀵硅薄騫剁敤connect鍏寵仈淇″彿, 闇瑕佸湪鏋勯犲嚱鏁伴噷璋冪敤
moveToThread(this);鍚﹀垯slots妲借繕鏄湪涓昏皟綰跨▼涓璋冪敤鑰屼笉鏄湪鏂板垱寤虹殑綰跨▼涓墽琛岀殑.

6.
wchar_t* 杞琎String

wchar_t* wptr = L"test";
QString ret = QString::fromWCharArray(wptr);
QString ret2 = QString((QChar*)wptr, wcslen(wptr));

QString 杞瑆char_t*
wchar_t szBuf[1024];
QString str = tr("hello");
wcscpy_s(reinterpret_cast<wchar_t*>(szBuf),
sizeof(szBuf) / sizeof(wchar_t),
reinterpret_cast<const wchar_t*>(str.utf16()));

7.
QTreeView 璁劇疆鍒楀搴﹀浐瀹?br />QTreeView()::header()->setResizeMode(QHeaderView::Fixed);

8.瀵硅瘽妗嗗睆騫曞眳涓樉紺?br />
quint32 scrwidth = QApplication::desktop()->width();
 quint32 scrheight = QApplication::desktop()->height();
 quint32 width = this->width();
 quint32 height = this->height();
 this->move((scrwidth - width) / 2, (scrheight - height) / 2);

9.鍙戦佷俊鍙風殑鏃跺? 涓浜涚被鍨嬩綔涓哄弬鏁? 闇瑕佹敞鍐?
Q_DECLARE_METATYPE(綾誨悕)
qRegisterMetaType<綾誨悕>("綾誨悕");
綾誨悕涔熷彲浠ユ槸緇撴瀯浣撶瓑鍏朵粬緇撴瀯

10.rcc璧勬簮鏂囦歡
bin鐩綍涓嬫湁涓猺cc.exe宸ュ叿, 鍙互鍚rc鑴氭湰緙栬瘧鎴恟cc璧勬簮2榪涘埗鏂囦歡, 鍛戒護濡備笅:
rcc -binary xxx.qrc -o xxx.rcc

鍦ㄧ▼搴忎腑寮曠敤榪欎釜rcc璧勬簮鏂囦歡:
QResource::registerResource("xxx.rcc");
鍗歌澆
QResource::unregisterResource("xxx.rcc")






jianc 2012-08-04 10:30 鍙戣〃璇勮
]]>
Qt gif鍔ㄧ敾http://www.shnenglu.com/jianc/archive/2012/07/31/185717.htmljiancjiancTue, 31 Jul 2012 01:27:00 GMThttp://www.shnenglu.com/jianc/archive/2012/07/31/185717.htmlhttp://www.shnenglu.com/jianc/comments/185717.htmlhttp://www.shnenglu.com/jianc/archive/2012/07/31/185717.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/185717.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/185717.htmlQt鍙互鐢≦Label鍜孮Movie鏄劇ずgif鍔ㄧ敾


QMovie *obj = new QMovie("xxx.gif");
labObj->setMovie(obj);
obj->start();

jianc 2012-07-31 09:27 鍙戣〃璇勮
]]>
w.cn9.cn娉ㄥ唽http://www.shnenglu.com/jianc/archive/2012/06/06/177798.htmljiancjiancWed, 06 Jun 2012 08:01:00 GMThttp://www.shnenglu.com/jianc/archive/2012/06/06/177798.htmlhttp://www.shnenglu.com/jianc/comments/177798.htmlhttp://www.shnenglu.com/jianc/archive/2012/06/06/177798.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/177798.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/177798.html

@w.cn閭娉ㄥ唽鍦板潃錛?br /> https://domains.live.com/members/signup.aspx?domain=w.cn

@9.cn閭娉ㄥ唽鍦板潃錛?br /> https://domains.live.com/members/signup.aspx?domain=9.cn

鐧婚檰鍦板潃:www.hotmail.com

jianc 2012-06-06 16:01 鍙戣〃璇勮
]]>
鍙栨秷svn璁頒綇瀵嗙爜http://www.shnenglu.com/jianc/archive/2012/05/31/176970.htmljiancjiancThu, 31 May 2012 12:51:00 GMThttp://www.shnenglu.com/jianc/archive/2012/05/31/176970.htmlhttp://www.shnenglu.com/jianc/comments/176970.htmlhttp://www.shnenglu.com/jianc/archive/2012/05/31/176970.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/176970.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/176970.html鍦ㄧ郴緇熺洏涓?br />榪涘叆鐩綍:
Documents and Settings\緋葷粺鐢ㄦ埛鍚峔Application Data\Subversion\auth\
鎶婅鍒犵殑鍒犻櫎, 灝眔k浜?br />
璁板緱澶囦喚..


jianc 2012-05-31 20:51 鍙戣〃璇勮
]]>
瀵硅瘽妗嗘貳鍏ユ祬鍑烘晥鏋?/title><link>http://www.shnenglu.com/jianc/archive/2012/05/29/176639.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Tue, 29 May 2012 10:52:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/05/29/176639.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/176639.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/05/29/176639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/176639.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/176639.html</trackback:ping><description><![CDATA[瑕佸疄鐜板璇濇娣″叆嫻呭嚭鏁堟灉, 榪樻槸鎸虹畝鍗曠殑, 璇寸櫧浜? 灝辨槸鍦ㄥ璇濇鍒濆鍖栨椂鍊欏姞涓畾鏃跺櫒, 鍦ㄥ璇濇閿姣佸墠涔熷姞涓畾鏃跺櫒, 瀹氭椂鍣ㄧ殑鎿嶄綔, 鏃犻潪灝辨槸鏇存柊瀵硅瘽妗嗙晫闈㈢殑閫忔槑搴? 瑕佹敼鍙樺璇濇鐨勯忔槑搴? 鐢ㄤ竴涓狝PI灝辨悶瀹氫簡:SetLayeredWindowAttributes<br /><br />鎭? 鎬濊礬灝辨槸榪欐牱, 榪欓噷涓婂叧閿唬鐮佸惂<br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">typedef BOOL (__stdcall </span><span style="color: #000000; ">*</span><span style="color: #000000; ">FunSetLayeredWindowAttributes)(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);<br />FunSetLayeredWindowAttributes funSetLayeredWindowAttributes;<br />funSetLayeredWindowAttributes </span><span style="color: #000000; ">=</span><span style="color: #000000; ">  (FunSetLayeredWindowAttributes)GetProcAddress(GetModuleHandle(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">user32.dll</span><span style="color: #000000; ">"</span><span style="color: #000000; ">), </span><span style="color: #000000; ">"</span><span style="color: #000000; ">SetLayeredWindowAttributes</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);ModifyStyleEx(NULL, </span><span style="color: #000000; ">0x80000</span><span style="color: #008000; ">/*</span><span style="color: #008000; ">WS_EX_LAYERED</span><span style="color: #008000; ">*/</span><span style="color: #000000; ">); </span><span style="color: #008000; ">//</span><span style="color: #008000; ">紿楀彛瑕佹湁WS_EX_LAYERED灞炴ф墠鑳界敤璁劇疆閫忔槑鐨勯偅涓狝PI</span></div><div></div><br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">enum</span><span style="color: #000000; ">{IDT_SHOW </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">100</span><span style="color: #000000; ">, IDT_EXIT </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">101</span><span style="color: #000000; ">};</span></div></div>鍦∣nInitDialog鏂規硶閲岄潰娣誨姞涓涓畾鏃跺櫒</div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">SetTimer(IDT_SHOW, </span><span style="color: #000000; ">50</span><span style="color: #000000; ">, NULL);</span></div><br />鍚屾牱, 鍦∣nCancel鏂規硶閲岄潰娣誨姞涓涓畾鏃跺櫒, 欏轟究鎶奍DT_SHOW瀹氭椂鍣ㄧ粰KILL鎺?br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">KillTimer(IDT_SHOW);<br />SetTimer(IDT_EXIT, </span><span style="color: #000000; ">50</span><span style="color: #000000; ">, NULL);</span></div></div><br />OnTimer鏂規硶榪欐牱鍐?<br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">switch</span><span style="color: #000000; ">(nIDEvent)<br />{<br /></span><span style="color: #0000FF; ">case</span><span style="color: #000000; "> IDT_SHOW:<br />    funSetLayeredWindowAttributes(</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">-></span><span style="color: #000000; ">m_hWnd, </span><span style="color: #000000; ">0</span><span style="color: #000000; ">, m_current </span><span style="color: #000000; ">%</span><span style="color: #000000; "> </span><span style="color: #000000; ">255</span><span style="color: #000000; ">, </span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br />    m_current </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> </span><span style="color: #000000; ">5</span><span style="color: #000000; ">;<br />        <br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_current </span><span style="color: #000000; ">>=</span><span style="color: #000000; "> </span><span style="color: #000000; ">255</span><span style="color: #000000; ">)<br />        KillTimer(IDT_SHOW);<br />    </span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #0000FF; ">case</span><span style="color: #000000; "> IDT_EXIT:<br />    m_current </span><span style="color: #000000; ">-=</span><span style="color: #000000; "> </span><span style="color: #000000; ">5</span><span style="color: #000000; ">;<br />    funSetLayeredWindowAttributes(</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">-></span><span style="color: #000000; ">m_hWnd, </span><span style="color: #000000; ">0</span><span style="color: #000000; ">, m_current </span><span style="color: #000000; ">%</span><span style="color: #000000; "> </span><span style="color: #000000; ">255</span><span style="color: #000000; ">, </span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_current </span><span style="color: #000000; "><=</span><span style="color: #000000; "> </span><span style="color: #000000; ">5</span><span style="color: #000000; ">)<br />    {<br />        CDialog::OnCancel();<br />        KillTimer(IDT_EXIT);<br />    }<br />    </span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br />}</span></div></div><br />寰堢畝鍗曞惂, 涓涓貳鍏ユ祬鍑烘晥鏋滃氨鍑烘潵浜?br /><br />鍙?<br />static鎺т歡鑳屾櫙閫忔槑<br />娣誨姞WM_CTLCOLOR娑堟伅鏄犲皠<div>ON_WM_CTLCOLOR()<br />娣誨姞鍝嶅簲鍑芥暟<br /><div>afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);</div><br />瀹炵幇鍝嶅簲鍑芥暟<br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(IDS_STATIC </span><span style="color: #000000; ">==</span><span style="color: #000000; "> pWnd</span><span style="color: #000000; ">-></span><span style="color: #000000; ">GetDlgCtrlID())<br />{<br />    pDC</span><span style="color: #000000; ">-></span><span style="color: #000000; ">SetBkMode(TRANSPARENT);<br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> (HBRUSH)::GetStockObject(NULL_BRUSH);<br />}</span></div></div><br /><br />榪欓噷, 灝佽浜嗕竴涓熀綾? 鏂逛究浠ュ悗鐢?br />FadeIODlg.h<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#pragma once<br /><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> CFadeIODlg : </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> CDialog<br />{<br />    DECLARE_MESSAGE_MAP()<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />    CFadeIODlg(UINT uDLGID, CWnd</span><span style="color: #000000; ">*</span><span style="color: #000000; "> pParent </span><span style="color: #000000; ">=</span><span style="color: #000000; "> NULL);<br />    </span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; "> </span><span style="color: #000000; ">~</span><span style="color: #000000; ">CFadeIODlg();<br /><br /></span><span style="color: #0000FF; ">protected</span><span style="color: #000000; ">:<br />    </span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> DoDataExchange(CDataExchange</span><span style="color: #000000; ">*</span><span style="color: #000000; "> pDX);<br />    </span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> OnCancel();<br />    </span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> OnOK();<br /><br />    afx_msg BOOL OnInitDialog();<br />    afx_msg </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> OnTimer(UINT nIDEvent);    <br /><br /></span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">:<br />    </span><span style="color: #0000FF; ">enum</span><span style="color: #000000; ">{ TIME_BEGIN </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">100</span><span style="color: #000000; ">, TIME_END </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">101</span><span style="color: #000000; ">};<br />    typedef BOOL (__stdcall </span><span style="color: #000000; ">*</span><span style="color: #000000; ">FUNSetLayeredWindowAttributes)(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);<br />    FUNSetLayeredWindowAttributes m_funTransparent;<br />    <br />    </span><span style="color: #0000FF; ">enum</span><span style="color: #000000; ">{<br />        MAX_TRANSPARENT </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">255</span><span style="color: #000000; ">,        </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鏈澶ч忔槑搴?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">        NUM_BEGIN </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">10</span><span style="color: #000000; ">,                </span><span style="color: #008000; ">//</span><span style="color: #008000; ">寮濮嬭鏃跺櫒鏃墮棿闂撮殧</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">        NUM_END </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">10</span><span style="color: #000000; ">,                </span><span style="color: #008000; ">//</span><span style="color: #008000; ">緇撴潫璁℃椂鍣ㄦ椂闂撮棿闅?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">        NUM_CHANGE </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">5</span><span style="color: #000000; ">,                </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鏀瑰彉閫忔槑搴?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">    };<br /><br />    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">            m_currentTransparent;    </span><span style="color: #008000; ">//</span><span style="color: #008000; ">褰撳墠紿楀彛閫忔槑搴?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">};<br /><br /></span></div><br />FadeIODlg.cpp<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#include </span><span style="color: #000000; ">"</span><span style="color: #000000; ">stdafx.h</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />#include </span><span style="color: #000000; ">"</span><span style="color: #000000; ">UI.h</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />#include </span><span style="color: #000000; ">"</span><span style="color: #000000; ">FadeIODlg.h</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /><br />#ifdef _DEBUG<br /></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; "> new DEBUG_NEW</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">#undef</span><span style="color: #000000; "> THIS_FILE</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">static</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">char</span><span style="color: #000000; "> THIS_FILE[] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> __FILE__;<br /></span><span style="color: #0000FF; ">#endif</span><span style="color: #000000; "><br /><br /><br />CFadeIODlg::CFadeIODlg(UINT uDLGID, CWnd</span><span style="color: #000000; ">*</span><span style="color: #000000; "> pParent </span><span style="color: #008000; ">/*</span><span style="color: #008000; "> = NULL </span><span style="color: #008000; ">*/</span><span style="color: #000000; ">)<br />    : CDialog(uDLGID, pParent)<br />{}<br /><br />CFadeIODlg::</span><span style="color: #000000; ">~</span><span style="color: #000000; ">CFadeIODlg()<br />{}<br /><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> CFadeIODlg::DoDataExchange(CDataExchange</span><span style="color: #000000; ">*</span><span style="color: #000000; "> pDX)<br />{<br />    CDialog::DoDataExchange(pDX);<br />}<br /><br /><br />BEGIN_MESSAGE_MAP(CFadeIODlg, CDialog)<br />    ON_WM_TIMER()<br />END_MESSAGE_MAP()<br /><br />BOOL CFadeIODlg::OnInitDialog()<br />{<br />    CDialog::OnInitDialog();<br />    ModifyStyleEx(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">, </span><span style="color: #000000; ">0x80000</span><span style="color: #000000; ">);<br />    m_currentTransparent </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />    m_funTransparent </span><span style="color: #000000; ">=</span><span style="color: #000000; "> (FUNSetLayeredWindowAttributes)GetProcAddress(GetModuleHandle(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">User32.dll</span><span style="color: #000000; ">"</span><span style="color: #000000; ">), </span><span style="color: #000000; ">"</span><span style="color: #000000; ">SetLayeredWindowAttributes</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_funTransparent)<br />    {<br />        </span><span style="color: #008000; ">//</span><span style="color: #008000; ">m_funTransparent(this->GetSafeHwnd(), 0, 0, 2);</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">        SetTimer(TIME_BEGIN, NUM_BEGIN, NULL);<br />    }<br /><br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> TRUE;<br />}<br /><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> CFadeIODlg::OnTimer(UINT nIDEvent)<br />{<br />    </span><span style="color: #0000FF; ">switch</span><span style="color: #000000; ">(nIDEvent)<br />    {<br />    </span><span style="color: #0000FF; ">case</span><span style="color: #000000; "> TIME_BEGIN:<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_currentTransparent </span><span style="color: #000000; "><=</span><span style="color: #000000; "> MAX_TRANSPARENT)<br />        {<br />            m_funTransparent(</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">-></span><span style="color: #000000; ">GetSafeHwnd(), </span><span style="color: #000000; ">0</span><span style="color: #000000; ">, m_currentTransparent, </span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br />            m_currentTransparent </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> NUM_CHANGE;<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />            KillTimer(TIME_BEGIN);<br />        </span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br />    </span><span style="color: #0000FF; ">case</span><span style="color: #000000; "> TIME_END:<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_currentTransparent </span><span style="color: #000000; ">>=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br />        {<br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_currentTransparent </span><span style="color: #000000; ">></span><span style="color: #000000; "> MAX_TRANSPARENT)<br />                m_currentTransparent </span><span style="color: #000000; ">=</span><span style="color: #000000; "> MAX_TRANSPARENT;<br />            m_funTransparent(</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">-></span><span style="color: #000000; ">GetSafeHwnd(), </span><span style="color: #000000; ">0</span><span style="color: #000000; ">, m_currentTransparent, </span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br />            m_currentTransparent </span><span style="color: #000000; ">-=</span><span style="color: #000000; "> NUM_CHANGE;<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />        {<br />            KillTimer(TIME_END);<br />            CDialog::OnCancel();<br />        }<br />        </span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br />    }<br />}<br /><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000;"> CFadeIODlg::OnOK()<br />{<br />}<br /><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> CFadeIODlg::OnCancel()<br />{<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(m_funTransparent)<br />    {<br />        KillTimer(TIME_BEGIN);<br />        SetTimer(TIME_END, NUM_END, NULL);<br />    }<br />    </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />        CDialog::OnCancel();<br />}</span></div><br /><br />ok, 瀹屾垚, 浠ュ悗鐩存帴緇ф壙榪欎釜瀵硅瘽妗? 紼嶅井淇敼涓涓? 鏁堟灉灝卞嚭鏉ヤ簡</div><img src ="http://www.shnenglu.com/jianc/aggbug/176639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-05-29 18:52 <a href="http://www.shnenglu.com/jianc/archive/2012/05/29/176639.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>HOOK CreateProcess娌′粈涔堜綔鐢?/title><link>http://www.shnenglu.com/jianc/archive/2012/05/24/176027.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Thu, 24 May 2012 07:59:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/05/24/176027.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/176027.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/05/24/176027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/176027.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/176027.html</trackback:ping><description><![CDATA[鏈潵浠ヤ負, 瀵笴reateProcessA鍜孋reateProcessW榪涜HOOK, 灝卞彲浠ュ榪涚▼鐨勬墦寮鍋氫竴鍒伴槻綰? 姣斿, 闃繪鏌愭煇鏂囦歡榪愯<br />浣嗘槸鍙戠幇娌′粈涔堜綔鐢? 鐪嬩簡涓涓? kernel32.dll紜疄鏄鍑轟簡CreateProcessA鍜孋reateProcessW, 浣嗕及璁¤繖涓や釜鍙槸杞彂鍑芥暟, 鍏跺疄璋冪敤鐨勬槸NTDLL.DLL閲岄潰鐨刏wCreateProcess鎴朲wCreateProcessEx<br /><img src ="http://www.shnenglu.com/jianc/aggbug/176027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-05-24 15:59 <a href="http://www.shnenglu.com/jianc/archive/2012/05/24/176027.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MFC瀵硅瘽妗嗗伐紼? theApp瀵硅薄鐨勬瀽鏋?/title><link>http://www.shnenglu.com/jianc/archive/2012/05/23/175894.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Wed, 23 May 2012 06:23:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/05/23/175894.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/175894.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/05/23/175894.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/175894.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/175894.html</trackback:ping><description><![CDATA[涓寮濮? 鎴戜笉娓呮鏌愭煇鍘熷洜, 鎴戝湪緇ф壙鑷狢WinApp鐨刟pp綾諱腑娣誨姞涓涓櫄鍑芥暟<div>virtual int ExitInstance();<br /><br />鐒跺悗, 褰撴垜鍦ㄥ璇濇宸ョ▼閫鍑虹殑鏃跺? 鍙戠幇榪欎釜ExitInstance鏂規硶騫舵病鏈夎璋冪敤, 鎴戝氨鏈変簺緋婃秱, baidu+google, ...<br /><br />鐒跺悗, 鎴戝氨鎯? 鎴戞坊鍔犱竴涓猘pp綾葷殑鏋愭瀯鏂規硶綆椾簡, 浣嗗彂鐜拌繖涓瀽鏋勫嚱鏁拌繕鏄寮傜殑娌¤璋冪敤...<br /><br />theApp鍘熸湰鏄竴涓叏灞瀵硅薄, 瀹冪殑鏋勯犲拰鏋愭瀯鍘熸湰灝辨槸CRT搴撴潵澶勭悊鐨?br /><br />鍚庢潵鍙戠幇, 鍙鍦╰heApp瀵硅薄鐨勬垚鍛業nitInstance鏂規硶榪斿洖TRUE(榛樿鏄繑鍥濬ALSE)灝卞彲浠ユ垚鍔熺殑璋冪敤ExitInstance鍜屾瀽鏋勫嚱鏁頒簡<br /><br />ok, 璇″紓鐨処nitInstance榪斿洖FALSE鍚? 灝變笉浼氳皟鐢╰heApp瀵硅薄鐨勬瀽鏋?</div><img src ="http://www.shnenglu.com/jianc/aggbug/175894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-05-23 14:23 <a href="http://www.shnenglu.com/jianc/archive/2012/05/23/175894.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>GDI Plus搴撲嬌鐢ㄥ熀紜http://www.shnenglu.com/jianc/archive/2012/05/17/175197.htmljiancjiancThu, 17 May 2012 05:19:00 GMThttp://www.shnenglu.com/jianc/archive/2012/05/17/175197.htmlhttp://www.shnenglu.com/jianc/comments/175197.htmlhttp://www.shnenglu.com/jianc/archive/2012/05/17/175197.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/175197.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/175197.html
閰嶇疆濂藉簱鐜鍚? 涓嬮潰鍐欏嚭浣跨敤GDI Plus鐨勫熀鏈楠?
1.鍖呭惈澶存枃浠?br />#include <gdiplus.h>
2.浣跨敤鍚嶅瓧絀洪棿
using namespace Gdiplus;
3.榪炴帴蹇呰鐨勫鍏ュ簱鏂囦歡
#pragma comment(lib, "gdiplus.lib")
4.鍒濆鍖?br />
ULONG_PTR m_gdiplusToken;
GdiplusStartupInput m_gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);
5.浣跨敤GDI Plus搴?br />6.鐢ㄥ畬搴撳悗, 閲婃斁鎿嶄綔
GdiplusShutdown(m_gdiplusToken);


jianc 2012-05-17 13:19 鍙戣〃璇勮
]]>
vc6緙栬瘧鏃跺欏崱浣?http://www.shnenglu.com/jianc/archive/2012/05/11/174560.htmljiancjiancFri, 11 May 2012 05:38:00 GMThttp://www.shnenglu.com/jianc/archive/2012/05/11/174560.htmlhttp://www.shnenglu.com/jianc/comments/174560.htmlhttp://www.shnenglu.com/jianc/archive/2012/05/11/174560.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/174560.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/174560.html
google涓涓? 鍘熸潵鍙瑁呬竴涓媠p6琛ヤ竵灝卞ソ浜?br /> 榪炴帴鍦板潃
e鏂囩増:  vs6sp6
涓枃鐗? vs6sp6

jianc 2012-05-11 13:38 鍙戣〃璇勮
]]>
MFC鐐瑰嚮Dialog紿椾綋鍙嫋鍔?/title><link>http://www.shnenglu.com/jianc/archive/2012/05/11/174547.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Fri, 11 May 2012 02:59:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/05/11/174547.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/174547.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/05/11/174547.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/174547.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/174547.html</trackback:ping><description><![CDATA[<div>MFC鍒涘緩涓涓彲閫氳繃榧犳爣鐐瑰嚮瀹㈡埛鍖烘嫋鍔ㄧ獥鍙d綅緗殑鏂規硶<br /><br />閫氳繃娣誨姞娑堟伅鍝嶅簲鍑芥暟<br />afx_msg UINT OnNcHitTest(CPoint point);<br />娣誨姞瀹?br />ON_WM_NCHITTEST()<br /><br />鐒跺悗, 瀹氫箟OnNcHitTest鐨勮涓哄嵆鍙? OnNcHitTest鐨勪唬鐮佸涓?<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">UINT CTimerDlg::OnNcHitTest(CPoint point)<br />{<br />    CRect rect;<br />    GetClientRect(rect);<br />    ClientToScreen(rect);<br /><br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(rect.PtInRect(point))<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> HTCAPTION;<br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> CDialog::OnNcHitTest(point);<br />}</span></div><br />棣栧厛, 鍙戠敓WM_NCHITTEST娑堟伅鐨勬椂鍊? 紼嬪簭鍏堝彇寰楀鎴峰尯鐨勭獥鍙g煩褰? 榪欓噷鐢ㄥ埌GetClientRect鏂規硶寰楀埌, 鐢變簬GetClientRect鍙栧緱鐨勬槸鐩稿浜庣獥鍙e潗鏍囩郴緇? 浣哋nNcHitTest鐨勫弬鏁皃oint鍗存槸鐩稿浜庡睆騫曠殑鍧愭爣緋葷粺, 鎵浠ヨ繖閲岀敤鍒頒簡ClientToScreen鎶婂彇鍒扮殑瀹㈡埛鍖虹煩褰㈣漿鎴愮浉瀵逛簬灞忓箷鐨勫潗鏍? 鐒跺悗鐢–Rect綾葷殑PtInRect鏂規硶鍒ゆ柇point鏄惁钀藉湪榪欎釜鐭╁艦閲岄潰, 濡傛灉鏄? 鍒欒繑鍥濰TCAPTION(灝辯浉褰撲簬榪欐鐐瑰嚮鏄偣鍑繪爣棰樻爮), 鎵浠? 灝卞彲浠ヨ繖鏍鋒潵鎷栧姩紿楀彛浜? 濡傛灉, OnNcHitTest鐩存帴榪斿洖HTCAPTION鐨勮瘽, 閭d箞, 浣嗙敤鎴風偣鍑婚潪瀹㈡埛鍖虹殑鏃跺? 鏈変簺鍔熻兘浼氬け鏁? 姣斿鐐瑰嚮緋葷粺鐨勫叧闂寜閽? 璇曚竴涓嬪氨浼氬彂鐜拌繖涓寜閽棤鏁堜簡; ok, 濡傛灉鐐瑰嚮鐨勬槸闈炲鎴風, 鑰呯洿鎺ヨ繑鍥濩Dialog::OnNcHitTest(point), 榪欏氨鏄寜榛樿澶勭悊浜?<br /><br />浠ヤ笂鐨勮繖涓柟娉曟瘮杈冮夯鐑? 鍏跺疄鍙互鏇寸畝鍗曚竴鐐? 鍙鍏堣皟鐢ㄧ埗綾葷殑OnNcHitTest(point), 鍙栧緱榪斿洖鍊? 鍦ㄥ垽鏂槸涓嶆槸HTCLIENT, 濡傛灉鏄? 鍒欒繑鍥濰TCAPTION, 鍚﹀垯鐩存帴榪斿洖鐖剁被OnNcHitTest(point)鐨勮繑鍥炲煎氨ok浜? 淇敼鍚庡涓?<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">UINT CTimerDlg::OnNcHitTest(CPoint point)<br />{<br />    UINT uRet </span><span style="color: #000000; ">=</span><span style="color: #000000; "> CDialog::OnNcHitTest(point);<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(HTCLIENT </span><span style="color: #000000; ">==</span><span style="color: #000000; "> uRet)<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> HTCAPTION;<br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> uRet;<br />}</span></div><br />鍐嶇畝鍖栦竴涓? 灝辨垚榪欐牱瀛?<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">UINT CTimerDlg::OnNcHitTest(CPoint point)<br />{<br />    UINT uRet </span><span style="color: #000000; ">=</span><span style="color: #000000; "> CDialog::OnNcHitTest(point);<br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> (HTCLIENT </span><span style="color: #000000; ">==</span><span style="color: #000000; "> uRet) </span><span style="color: #000000; ">?</span><span style="color: #000000; "> HTCAPTION : uRet;<br />}</span></div><br /><br /><br /></div><img src ="http://www.shnenglu.com/jianc/aggbug/174547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-05-11 10:59 <a href="http://www.shnenglu.com/jianc/archive/2012/05/11/174547.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍙瓑寰呰鏃跺櫒鍐呮牳瀵硅薄http://www.shnenglu.com/jianc/archive/2012/05/10/174491.htmljiancjiancThu, 10 May 2012 12:38:00 GMThttp://www.shnenglu.com/jianc/archive/2012/05/10/174491.htmlhttp://www.shnenglu.com/jianc/comments/174491.htmlhttp://www.shnenglu.com/jianc/archive/2012/05/10/174491.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/174491.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/174491.html涔嬪墠瀛︿範win32 platform sdk緙栫▼鐨勬椂鍊? 鏈夊鍒頒竴涓鏃跺櫒鐨勪笢瑗? 閭d釜鎸虹畝鍗曠殑, 灝辨槸璋冪敤SetTimer鍒涘緩涓涓熀浜庢煇涓獥鍙e洖璋冪殑璁℃椂鍣? 鏃㈤棿闅旀椂闂翠嬌紿楀彛鏀跺埌WM_TIMER娑堟伅, 鎴栭棿闅旀椂闂? 璋冪敤鎴戜滑鑷繁瀹氫箟鐨勪竴涓洖璋冨嚱鏁?
鍒涘緩鍙瓑寰呰鏃跺櫒鍐呮牳瀵硅薄, 鍙互瀹炵幇綾諱技鍔熻兘, 鐜板湪, 涓嬭竟緇欏嚭濡備綍浣跨敤鍙瓑寰呰鏃跺櫒鍐呮牳瀵硅薄
1.CreateWatchDogTimer
HANDLE CreateWatchDogTimer(
  LPCWSTR pszWatchDogName,
  DWORD dwPeriod,
  DWORD dwWait,
  DWORD dwDfltAction,
  DWORD dwParam,
  DWORD dwFlags
);


2.SetWaitableTimer
BOOL WINAPI SetWaitableTimer(
  __in      HANDLE hTimer,
  __in      
const LARGE_INTEGER* pDueTime,
  __in      LONG lPeriod,
  __in_opt  PTIMERAPCROUTINE pfnCompletionRoutine,
  __in_opt  LPVOID lpArgToCompletionRoutine,
  __in      BOOL fResume
);


CreateWatchDogTimer鍑芥暟灝辨槸鍒涘緩涓涓彲絳夊緟浜嬩歡鍐呮牳瀵硅薄
SetWaitableTimer鍑芥暟灝辨槸璁劇疆鍐呮牳瀵硅薄鐨勮Е鍙戞椂闂村拰鏃墮棿闂撮殧

搴熻瘽涓嶅璇翠簡, 榪欓噷鐩存帴涓婁唬鐮?br />
void CDialogDemoDlg::OnBtnCreateTimer()
{
    SYSTEMTIME st;
    st.wYear 
= 2012;
    st.wDay 
= 10;
    st.wDayOfWeek 
= 0;
    st.wHour 
= 20;
    st.wMilliseconds 
= 0;
    st.wMinute 
= 16;
    st.wMonth 
= 5;
    st.wSecond 
= 0;
    
    FILETIME localft;
    FILETIME utc;
    SystemTimeToFileTime(
&st, &localft);
    LocalFileTimeToFileTime(
&localft, &utc);

    LARGE_INTEGER liUTC;
    liUTC.LowPart 
= utc.dwLowDateTime;
    liUTC.HighPart 
= utc.dwHighDateTime;

    m_Timer 
= CreateWaitableTimer(NULL, FALSE, NULL);

    SetWaitableTimer(m_Timer, 
&liUTC, 10 * 1000, NULL, NULL, FALSE);
}

void CDialogDemoDlg::ThreadProc2(CDialogDemoDlg* pDlg)
{
    
while(1)
    {
        DWORD ret 
= WaitForSingleObject(pDlg->m_Timer, INFINITE);
        
if(WAIT_OBJECT_0 == ret)
        {
            AfxMessageBox(
"鍙瓑寰呬簨浠跺唴鏍稿璞¤Е鍙?");
        }
    }
}


ThreadProc2鏄竴涓嚎紼? 褰撴椂闂翠竴鍒? WaitForSingleObject灝變細榪斿洖, 鍥犱負榪欓噷鍒涘緩鐨勬槸涓涓嚜鍔ㄥ浣嶅唴鏍稿璞? 璇翠互WaitForSingleObject榪斿洖鏄細鑷姩鎶婂唴鏍稿璞″浣? 榪欓噷涓烘紨紺? 鍐欎簡涓寰幆, 鎵浠? 涓嬩竴嬈¤皟鐢╓aitForSingleObject鏃? 濡傛灉鏃墮棿鏈埌, 綰跨▼浠葷劧浼氳鎸傝搗.
鍏蜂綋鐢ㄦ硶緇嗚妭, MSDN
鍙傝? windows鏍稿績緙栫▼

jianc 2012-05-10 20:38 鍙戣〃璇勮
]]>
MFC闈炴ā鎬佸璇濇閿姣?/title><link>http://www.shnenglu.com/jianc/archive/2012/05/07/173914.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Mon, 07 May 2012 09:00:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/05/07/173914.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/173914.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/05/07/173914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/173914.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/173914.html</trackback:ping><description><![CDATA[<div>闈炴ā鎬佸璇濇闇瑕侀噸杞絆nCanel鏂規硶, 騫惰皟鐢―estroyWindow, 涓斾笉鑳借皟鐢ㄥ熀綾葷殑OnCanel<br />閲嶈澆PostNcDestroy, 闇瑕乨elete鎺塼his鎸囬拡</div><br /><div>// Overrides<br />    // ClassWizard generated virtual function overrides<br />    //{{AFX_VIRTUAL(CDlgTest)<br />    protected:<br />    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support<br />    <span style="color: red;">virtual void PostNcDestroy();</span><br />    //}}AFX_VIRTUAL<br /><br />// Implementation<br />protected:<br /><br />    // Generated message map functions<br />    //{{AFX_MSG(CDlgTest)<br />    <span style="color: red;">virtual void OnOK();</span><br /><span style="color: red;">    virtual void OnCancel();</span><br />    //}}AFX_MSG<br /><br /><br /><div>void CDlgTest::OnOK() <br />{<br />    // TODO: Add extra validation here<br />}<br /><br />void CDlgTest::OnCancel() <br />{<br />    DestroyWindow();<br />}<br /><br />void CDlgTest::PostNcDestroy() <br />{<br />    // TODO: Add your specialized code here and/or call the base class<br />    <br />    CDialog::PostNcDestroy();<br />    delete this;<br />}</div><br /><br /></div><img src ="http://www.shnenglu.com/jianc/aggbug/173914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-05-07 17:00 <a href="http://www.shnenglu.com/jianc/archive/2012/05/07/173914.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐢ˋTL鍐機OM紼嬪簭http://www.shnenglu.com/jianc/archive/2012/04/29/173106.htmljiancjiancSat, 28 Apr 2012 18:20:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/29/173106.htmlhttp://www.shnenglu.com/jianc/comments/173106.htmlhttp://www.shnenglu.com/jianc/archive/2012/04/29/173106.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/173106.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/173106.html浠婂ぉ娌′簨, 鐪嬩簡涓婣TL(Active Template Library), 璺熺潃緗戜笂鐨勫叆闂ㄥ涔犺祫鏂欒嚜宸辯収鐚敾铏? 緇撴灉涓涓嬪瓙灝眔k浜? 緙栬瘧濂? 鍦ㄥ垱寤轟竴涓猼est宸ョ▼鍘昏皟鐢ㄨ繖涓粍浠剁殑鎺ュ彛鍑芥暟, 涓鍒囬『鍒?
ps:浠ュ悗鐢ˋTL鍐機OM緇勪歡, 鐖芥姝?br />ps:鏈夌┖鎶奀OM鎶鏈唴騫曠湅瀹?br />

jianc 2012-04-29 02:20 鍙戣〃璇勮
]]>
淇敼鏂囦歡鐨勬椂闂碊EMOhttp://www.shnenglu.com/jianc/archive/2012/04/27/172954.htmljiancjiancFri, 27 Apr 2012 11:45:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/27/172954.htmlhttp://www.shnenglu.com/jianc/comments/172954.htmlhttp://www.shnenglu.com/jianc/archive/2012/04/27/172954.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/172954.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/172954.html
#include <windows.h>
#include 
<iostream>
using namespace std;
int main(int argc, char* argv[])
{
    FILETIME fTm;
    SYSTEMTIME sysTm;
    HANDLE hFile;
    hFile 
= CreateFile("d:/test.txt", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL);
    
if(INVALID_HANDLE_VALUE == hFile)
    {
        cout 
<< "no" <<endl;
    }
    GetLocalTime(
&sysTm);
    sysTm.wYear 
= 2013;
    SystemTimeToFileTime(
&sysTm, &fTm);
    BOOL bRet 
= SetFileTime(hFile, &fTm, &fTm, &fTm);
    
int ret = GetLastError();
    
if(bRet)
    {
        cout 
<< "ok" <<endl;
    }
   
return 0;
}

涓昏璋冪敤SystemTimeToFileTime


jianc 2012-04-27 19:45 鍙戣〃璇勮
]]>
Dll涓紑鍚叡浜暟鎹http://www.shnenglu.com/jianc/archive/2012/04/24/172630.htmljiancjiancTue, 24 Apr 2012 09:35:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/24/172630.htmlhttp://www.shnenglu.com/jianc/comments/172630.htmlhttp://www.shnenglu.com/jianc/archive/2012/04/24/172630.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/172630.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/172630.html
#pragma data_seg(".DataSegName")
int ifoo;
char cfoo[1024= {"test"};
//...
#pragma data_seg()
鐒跺悗, dll宸ョ▼閲屽垱寤轟竴涓猟ef鏂囦歡, def鏂囦歡鍐欎笂:
SECTIONS:
    .
DataSegName READ WRITE SHARE
.DataSegName灝辨槸鑺傝〃鐨勫悕瀛? 榪欓噷鐨凱E鏂囦歡涓垱寤轟竴涓柊鑺傝〃, 鐒跺悗def鏂囦歡鎸囨槑榪欎釜鑺傝〃涓哄叡浜妭琛? 鍗? 榪涚▼鍦ㄥ姞杞借繖涓猟ll鏂囦歡鐨勬椂鍊? 瀵硅繖涓妭琛ㄨ繘琛岀洿鎺ユ槧灝? 鑰屼笉鏄槧灝勪竴浠芥嫹璐濆壇鏈?br /> 榪欐牱, 緙栬瘧濂藉伐紼嬪悗, 浣嗚繖涓猟ll鏂囦歡琚姞杞借繘榪涚▼鏃跺? 涓嶉氳繘紼嬪氨鍙互閫氳繃榪欎釜鍏變韓鏁版嵁鑺傝〃榪涜閫氳浜?br />
ps:涔嬪墠鐢ㄦ寚浠?br />
#pragma comment(linker, "/section:.DataSegName, RWS")
鑰屼笉鐢╠ef鐢蟲槑, 浣嗚繖鏍峰嵈鏄笉鑳藉.DataSegName鑺傝繘琛屾暟鎹叡浜? 涓嶆槸寰堟槑鐧?br />
榪欎笉灝辨槸瀵圭紪璇戠殑鏃跺? 緇檒ink.exe紼嬪簭浼犻掍竴涓弬鏁拌屽凡涔?
link /dll /sections:.DataSegName ......

jianc 2012-04-24 17:35 鍙戣〃璇勮
]]>
闅忕瑪1http://www.shnenglu.com/jianc/archive/2012/04/03/169905.htmljiancjiancMon, 02 Apr 2012 17:35:00 GMThttp://www.shnenglu.com/jianc/archive/2012/04/03/169905.htmlhttp://www.shnenglu.com/jianc/comments/169905.htmlhttp://www.shnenglu.com/jianc/archive/2012/04/03/169905.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/169905.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/169905.html     浣嗘槸鍛? 姊︽兂鏄編濂界殑, 鐜板疄鏄畫閰風殑. 鍦ㄧ綉涓? 璺熶竴浜涘悓鏍鋒悶紼嬪簭鐨勪漢涓璧蜂氦嫻? 鍙戠幇鎴戝お騫肩浜? 瀛﹁瘑澶祬钖勪簡; 宸ヤ綔涓? 寰堢畝鍗曠殑欏圭洰涔熺粰鎴戣帿澶х殑鍘嬪姏; ...鍛靛懙, 鏄笉鏄垜姣旇緝絎? 涔熻鍚? 涓嶈繃鎴戞瘮杈冨嫟濂? 榪欐槸鎴戠殑浼樼偣. 鎵浠? 鎴戣蛋浜嗗緢澶氬緢澶氱殑寮礬, --涓鐩村湪瀛︿範, 浣嗘槸榪涙緙撴參(涔熻鏄垜澶誕韜佷簡鍚? 鏈夎繘姝ュ氨搴旇紿冨枩浜? 涓嶈繃涓婁簡紺句細, 榪樻槸楦ⅷ灞卞ぇ鍟?.
    寰堝鏃跺? 鐪嬩功閮界湅涓嶆噦. 鐜板湪鎴戞噦浜? 涓嶆槸鎴戝お絎ㄤ簡, 鏄洜涓烘湁浜涘熀紜榪樻病鎵撳ソ. 灝卞洜涓鴻繖鏍? 瀛︿範鏂規硶涓嶅澶? 瀵艱嚧浜嗘垜嫻垂浜嗗ソ澶氭椂闂? 鎴戝お2浜? 瀛︿範瑕佸驚搴忔笎榪涘槢, 灝卞ソ姣斾竴涓病紕拌繃鐢佃剳鐨勪漢, 鍙粬涓寮濮嬪氨鍘誨mfc, 閭f槸涓嶅彲鑳界殑. 鑰屾垜鍛? 榪欓亾鐞嗘槸鎳傚緱鐨? 鏈夋椂鍊欏仛浜嬪嵈娌″幓鎯寵繖浠涔堥亾鐞? 浠ヤ負鎯沖, 鏈変功鍙互瀛? 灝辮浜? 緇撴灉鐪嬩簡涔? 紕頒簡涓鑴哥伆, 榪樻妸鑷繁鐨勪俊蹇冪粰紓ㄧ伃浜?澶毦浜? 鎬庝箞鐪嬮兘鐪嬩笉鎳? 鍐嶇綉涓婅窡涓浜涚綉鍙嬩氦嫻? 闈? 浠栦滑閮借兘鐪嬫噦, 鎴戣嚜鍗戝晩~~
    鐜板湪鎴戞槑鐧戒簡, 閭f槸鎴戣繕鏈変簺鍩虹娌″榪? 浣嗕粬浠凡緇忓鎵庡疄浜? 鎵浠? 緇忚繃涓浜涘ぉ鐨勫熀紜瀛︿範, 鎴戝啀鏉ュ閭d簺浠ュ墠鐪嬩技寰堥毦鐨勪笢瑗? 鐜板湪瀛﹁搗鏉ュ氨杞繪澗澶氫簡.
    (鍜?..鍝ユ枃絎斾笉濂? 涓嶄細鍐欎綔, 浠ヤ笂璇寸殑璇棤浼︽, 綰綋鑷繁緇冪瑪浣滄枃浜? 甯屾湜浠ュ悗鑳藉鍐欑殑濂戒竴鐐? 鍙ュ瓙鐪嬪緱閫氶『涓浜?.....鐫¤浜? 88)

jianc 2012-04-03 01:35 鍙戣〃璇勮
]]>
鎼滅儲MessageBox紿楀彛鐨勬樉紺烘秷鎭?/title><link>http://www.shnenglu.com/jianc/archive/2012/04/01/169786.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Sun, 01 Apr 2012 06:47:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/04/01/169786.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/169786.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/04/01/169786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/169786.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/169786.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)<br />{<br />    TCHAR szBuf[</span><span style="color: #000000; ">4096</span><span style="color: #000000; ">];<br />    GetClassName(hwnd, szBuf, </span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(szBuf));<br />    </span><span style="color: #0000FF; ">string</span><span style="color: #000000; "> str </span><span style="color: #000000; ">=</span><span style="color: #000000; "> szBuf;<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">str.compare(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">#32770</span><span style="color: #000000; ">"</span><span style="color: #000000; ">))<br />    {<br />        HWND hSubWnd </span><span style="color: #000000; ">=</span><span style="color: #000000; "> GetDlgItem(hwnd, </span><span style="color: #000000; ">0xffff</span><span style="color: #000000; ">);<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(hSubWnd)<br />        {<br />            </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> len </span><span style="color: #000000; ">=</span><span style="color: #000000; "> GetWindowText(hSubWnd, szBuf, </span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(szBuf));<br />            cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">yes:</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; ">szBuf </span><span style="color: #000000; "><<</span><span style="color: #000000; ">endl;<br />        }<br />    }<br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> TRUE;<br />}<br /><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main()<br />{<br />    EnumWindows(EnumWindowsProc, NULL);<br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />}</span></div><img src ="http://www.shnenglu.com/jianc/aggbug/169786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-04-01 14:47 <a href="http://www.shnenglu.com/jianc/archive/2012/04/01/169786.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++Primer 璇諱功絎旇19 澶氱戶鎵垮拰铏氭嫙緇ф壙http://www.shnenglu.com/jianc/archive/2012/03/30/169532.htmljiancjiancFri, 30 Mar 2012 07:49:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/30/169532.htmlhttp://www.shnenglu.com/jianc/comments/169532.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/30/169532.html#Feedback5http://www.shnenglu.com/jianc/comments/commentRss/169532.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/169532.html
1.铏氭嫙緇ф壙 --緇ф壙浜嗗涓熀綾誨疄渚? 浣嗗彧闇瑕佷竴浠藉崟鐙殑鍏變韓瀹炰緥
2.瀵逛簬涓涓被鐨勫熀綾葷殑鏁扮洰, c++娌℃湁闄愬埗(鍙互澶氱戶鎵?
   涓や釜鍩虹被鏄渶甯歌鐨? 涓涓熀綾誨父甯哥敤浜庤〃紺轟竴涓叡鏈夋娊璞℃帴鍙? 絎簩涓熀綾繪彁渚涙槸鏈夌殑瀹炵幇
   浠庣涓変釜鎴栨洿澶氫釜鐩存帴鍩虹被緇ф壙鑰屾潵鐨勬淳鐢熺被閬靛驚mixin-based璁捐椋庢牸
3.鍩虹被鏋勯犲嚱鏁拌璋冪敤鐨勯『搴忎互媧劇敓琛ㄤ腑澹版槑鐨勯『搴忎負鍑?/span>
4.鍦ㄥ緇ф壙涓? 媧劇敓綾誨彲浠ヤ粠涓や釜鎴栬呮洿澶氫釜鍩虹被涓戶鎵垮悓鍚嶇殑鎴愬憳 --鐩存帴璁塊棶鏄簩涔夌殑, 灝嗗鑷寸紪璇戞椂鍒婚敊璇? 鎵浠ヨ鏄劇ず鎸囨槑璋冪敤鍝釜鍩虹被鐨勫摢涓垚鍛?Base::member
5.public媧劇敓琚О涓虹被鍨嬬戶鎵?type inheritance) --媧劇敓綾繪槸鍩虹被鐨勫瓙綾誨瀷
   鎻愪緵浜嗚緝涓鑸殑鍩虹被鐨勪竴縐嶇壒鍖?/span>
6.private媧劇敓琚О涓哄疄鐜扮戶鎵?implementation hinheritance) --媧劇敓綾諱笉鐩存帴鏀寔鍩虹被鐨勫叕鏈夋帴鍙? 鎻愪緵浜嗚嚜宸辯殑鍏湁鎺ュ彛, 閲嶇敤鍩虹被鐨勫疄鐜?/span>
   private鍩虹被鏀炬槧浜嗕竴縐?騫墮潪鍩轟簬瀛愮被鍨嬪叧緋?鐨勭戶鎵垮艦寮? 鍩虹被鐨勬暣涓叕鏈夋帴鍙e湪媧劇敓綾諱腑鍙樻垚private
7.瀵逛簬is-a瀛愮被鍨嬪叧緋繪潵璇? public緇ф壙鏄竴涓緢鏈夊埄鐨勬満鍒?/span>
8.has-a鍏崇郴涓鑸敱緇勫悎(composition)鑰屼笉鏄戶鎵挎潵鏀寔 --浣夸竴涓被縐頒負鍙︿竴涓被鐨勬垚鍛?/span>
   a:濡傛灉鎴戜滑甯屾湜鏀瑰啓涓涓被鐨勮櫄鎷熷嚱鏁? 鍒欏繀欏諱嬌鐢ㄧ鏈夌戶鎵胯屼笉鏄嬌鐢ㄧ粍鍚?/span>
   b:濡傛灉鎴戜滑甯屾湜涓涓被鑳藉寮曠敤"涓涓寘鍚縐嶅彲鑳界被鍨嬬殑灞傛緇撴瀯"涓殑涓涓被, 閭d箞灝卞繀欏婚氳繃寮曠敤浣跨敤緇勫悎
   c:濡傛灉鍙槸甯屾湜綆鍗曠殑閲嶇敤瀹炵幇, 鍒欐寜鍊肩粍鍚堟瘮緇ф壙鏇村ソ
   d:濡傛灉甯屾湜瀵硅薄鐨勮繜緙撳瀷鍒嗛厤, 鎸夊紩鐢?浣跨敤涓涓寚閽?緇勫悎閫氬父鏄竴涓笉鎯崇殑璁捐閫夋嫨
9.鍏嶉櫎(exempting)涓埆鎴愬憳鐨勭鏈夌戶鎵垮獎鍝?/span>
   浠ョ鏈夋柟寮忕戶鎵? 鍩虹被鐨勬墍鏈塸rotected鍜宲ublic鎴愬憳鍏ㄨ緇ф壙涓哄瓙綾葷殑縐佹湁鎴愬憳
   綾昏璁¤呭彲浠ラ拡瀵瑰熀綾葷殑涓埆鎴愬憳, 鏄叾鍏嶉櫎闈炲叕鏈夋淳鐢熺殑褰卞搷:
      class CSub: private CBase {
      public:
          using CBase::Member;
      };
   鍏嶉櫎涓埆鎴愬憳鐨勫彟涓涓師鍥犳槸鍏佽鍚庣畫鐨勬淳鐢熺被璁塊棶縐佹湁鍩虹被鐨刾rotected鎴愬憳
   媧劇敓綾誨彧鑳藉皢緇ф壙寰楀埌鐨勬垚鍛樻仮澶嶅埌鍘熸潵鐨勮闂駭鍒? 璇ヨ闂駭鍒笉鑳芥瘮鍩虹被涓師鏉ユ寚瀹氱殑綰у埆鏇翠弗鏍兼垨鏇翠笉涓ユ牸
10.protected緇ф壙 --鍩虹被鐨勬墍鏈夊叕鏈夋垚鍛橀兘鎴愪負媧劇敓綾葷殑protected鎴愬憳
11.瀵硅薄緇勫悎鏈変袱縐嶅艦寮?/span>
   a:鎸夊肩粍鍚?Composition by value)
   b:鎸夊紩鐢ㄧ粍鍚?Composttion by reference)
12.铏氭嫙緇ф壙(virtual inheritance) --鍦ㄨ櫄鎷熺戶鎵夸笅, 鍙湁涓涓叡浜殑鍩虹被瀛愬璞¤緇ф壙, 鑰屾棤璁鴻鍩虹被鍦ㄦ淳鐢熷眰嬈′腑鍑虹幇澶氬皯嬈?/span>
   鍏變韓鐨勫熀綾誨瓙瀵硅薄琚О涓鴻櫄鎷熷熀綾?vitual base class)
   鍦ㄨ櫄鎷熺戶鎵夸笅, 鍩虹被瀛愬璞$殑澶嶅埗鍙婄敱姝ゅ紩璧風殑浜屼箟鎬ч兘琚彇娑堜簡
13.铏氭嫙緇ф壙鐨勮娉?
    CSub: public virtual CBase1, public virtual CBase2 {...};
   virtual 鍜?public鐨勯『搴忎笉閲嶈




jianc 2012-03-30 15:49 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇18 綾葷戶鎵垮拰瀛愮被鍨?/title><link>http://www.shnenglu.com/jianc/archive/2012/03/30/169501.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Fri, 30 Mar 2012 03:59:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/03/30/169501.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/169501.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/03/30/169501.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/169501.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/169501.html</trackback:ping><description><![CDATA[<span> </span><div><span style="background-color: #ffffff;"></span><span>1.緇ф壙(inheritance)</span><br /><span>2.c++閫氳繃綾繪淳鐢?class derivation)鐨勬満鍒舵潵鏀寔緇ф壙</span><br /><span>3.鍩虹被(base class)</span><br /><span>4.媧劇敓綾?derived class)</span><br /><span>5.鍩虹被鍜屾淳鐢熺被瀹炰緥鐨勯泦鍚堢О涓虹被緇ф壙灞傛緇撴瀯(hierarchy)</span><br /><span>6.濡傛灉鍩虹被鍜屾淳鐢熺被鍏變韓鐩稿悓鐨勫叡鏈夋帴鍙? 鍒欐淳鐢熺被琚О鍋氬熀綾葷殑瀛愮被鍨?subtype)</span><br /><span>7.鍩虹被鎸囬拡鎴栧紩鐢ㄥ彲浠ョ洿鎺ュ紩鐢ㄥ叾浠諱綍媧劇敓鐨勭被, 澶氭?polymorphism)</span><br /><span>8.鍦ㄨ繍琛屾椂鍒婚渶瑕佽В鏋愬嚭琚皟鐢ㄧ殑鍑芥暟, 榪欎釜瑙f瀽榪囩▼琚О涓哄姩鎬佺粦瀹?dynamic bindng) --緙虹渷鎯呭喌涓? 鍑芥暟瀹炲湪緙栬瘧鏃跺埢琚潤鎬佽В鏋愮殑</span><br /><span>9.c++涓? 閫氳繃涓縐嶈縐頒負铏氭嫙鍑芥暟(virtual function)鐨勬満鍒舵潵鏀寔鍔ㄦ佺粦瀹? 閫氳繃闆嗘垚鍜屽姩鎬佺粦瀹? 瀛愮被鍨嬪鎬佹т負闈㈠悜瀵硅薄鐨勭▼搴忚璁℃彁渚涗簡鍩虹</span><br /><span>10.闈㈠悜瀵硅薄鐨勭▼搴忚璁℃彁渚涗簡涓縐嶆柟妗? 鎶婄被鍨嬭В鏋愮殑璐熸媴浠庣▼搴忓憳鐨勮韓涓婅漿縐誨埌緙栬瘧鍣ㄤ笂</span><br /><span>11.綾葷戶鎵垮眰嬈$粨鏋勭殑涓昏濂藉鏄? 鎴戠洘鍙互閽堝鎶借薄鍩虹被鐨勫叡鏈夋帴鍙h繘紼嬬紪紼? 鑰屼笉鏄拡瀵圭粍鎴愮戶鎵垮眰嬈$殑涓埆綾誨瀷</span><br /><span>    鐢ㄦ埛浠g爜鍙互涓嶅彈璇█鍙樺寲鐨勫獎鍝?--澶氭佸拰鍔ㄦ佺粦瀹?/span><br /><span>12.鍦╟++涓? 澶氭佹у彧瀛樺湪浜庡瓙綾葷戶鎵垮眰嬈′腑 --void*鍨嬬殑鎸囬拡鍙互琚弿榪頒負澶氭? 浣嗘槸璇█鏈韓騫舵病鏈夋樉紺虹殑鏀寔浠栦滑, 蹇呴』鐢辯▼搴忓憳鑷繁鏉ョ鐞?/span><br /><span>    c++璇█閫氳繃鍑犵鏂瑰紡鏀寔澶氭佹?/span><br /><span>        閫氳繃涓涓殣寮忚漿鎹? 浠?媧劇敓綾繪寚閽堟垨寮曠敤"杞埌"鍏跺叡鏈夊熀綾葷被鍨嬬殑鎸囬拡鎴栧紩鐢?</span><br /><span>        閫氳繃铏氭嫙鍑芥暟鐨勬満鍒?/span><br /><span>        閫氳繃dynamic_cast鍜宼ypeid鎿嶄綔絎?/span><br /><span>            if(SubClass* pSub = dynamic_cast<SubClass*>(pObj)) ...</span><br /><span>13.鎶借薄鍩虹被(abstract base class)</span><br /><span>14.瀹炰綋鍩虹被(concrete base class)</span><br /><span>15.綰櫄鎷熷嚱鏁?pure virtual function)</span><br /><span>16.瑕嗙洊(override)</span><br /><span>17.c++璇█涓烘垜浠彁渚涗簡涓縐嶈娉曠粨鏋? 閫氳繃瀹冨彲浠ユ寚鏄? 涓涓櫄鎷熷嚱鏁板彧鏄彁渚涗簡涓涓彲浠ヨ瀛愮被鏀瑰啓鐨勬帴鍙?/span><br /><span>18.浼犻掔粰緙虹渷鍑芥暟鐨勫間笉鏄湪榪愯鏃跺埢鍐沖畾, 鑰屾槸鍦ㄧ紪璇戞椂鍒繪牴鎹璋冪敤鍑芥暟鐨勫璞$殑綾誨瀷鍐沖畾</span><br /><span>19.铏氭嫙鏋愭瀯鍑芥暟 --涓昏鏄負浜嗚兘澶熺敤delete閿姣佸熀綾葷殑鏃跺欎篃鑳藉淇濊瘉璋冪敤媧劇敓綾葷殑鏋愭瀯鍑芥暟, 瑕佷笉鐒跺畠鍙槸璋冪敤鍩虹被鐨勬瀽鏋勫嚱鏁拌屽凡<br /><br /><br /></span></div><img src ="http://www.shnenglu.com/jianc/aggbug/169501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-03-30 11:59 <a href="http://www.shnenglu.com/jianc/archive/2012/03/30/169501.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++Primer 璇諱功絎旇17 綾繪ā鏉?/title><link>http://www.shnenglu.com/jianc/archive/2012/03/29/169443.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Thu, 29 Mar 2012 09:20:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/03/29/169443.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/169443.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/03/29/169443.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/169443.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/169443.html</trackback:ping><description><![CDATA[<div><span>1.闃熷垪(queue) --涓撻棬鐢ㄤ簬瀵硅薄闆嗗悎鐨勬暟鎹粨鏋? 瀵硅薄琚姞鍏ュ埌闃熷垪鐨勫熬閮? 鑰屼粠闃熷垪鐨勯《閮ㄨ鍒犻櫎(first in first out FIFO)</span><br /><span>2.浣嶅崟涓被鍨嬫彁渚涙墜宸ョ敓鎴愮殑鎷瘋礉鏄竴涓棤浼戞鐨勮繃紼? 涔熸槸涓涓棤闄愬鏉傜殑緇存姢榪囩▼</span><br /><span>3.妯℃澘鍙傛暟琛?template parameter list) --template<xxx> xxx灝辨槸妯℃澘鍙傛暟琛?/span><br /><span>4.妯℃澘鐨勭被鍨嬪弬鏁?type parameter)鐢卞叧閿瓧class鎴栧叧閿瓧typename鍙婂叾鍚庣殑琛ㄧず絎︽瀯鎴?/span><br /><span>5.姣忎釜妯℃澘鍙傛暟鍓嶉潰閮藉繀欏繪湁鍏抽敭瀛梒lass鎴杢ypename</span><br /><span>6.妯℃澘闈炵被鍨嬪弬鏁?nontype parameter)鐢變竴涓櫘閫氬弬鏁板0鏄庢瀯鎴? 涓涓潪綾誨瀷鍙傛暟鍙槸璇ュ弬鏁頒唬琛ㄤ簡涓涓綔鍦ㄧ殑鍊? 鑰岃繖涓煎張浠h〃綾繪ā鏉垮畾涔変腑鐨勪竴涓弬閲?</span><br /><span>    template<class Type, int size = 1024></span><br /><span>    class Buffer;</span><br /><span>    //濡傛灉妯℃澘瀹炰緥鐨勫悕瀛楁病鏈夋寚瀹欱uffer鐨勫ぇ灝? 鍒欏疄渚嬪寲Buffer鐨勫ぇ灝忔槸1024</span><br /><span>7.綾誨瀷杞崲鐨勮繃紼嬭縐頒負妯℃澘瀹炰緥鍖?template instantiation)</span><br /><span>    浠庨氱敤鐨勭被妯℃澘瀹氫箟涓敓鎴愮被鐨勮繃紼?/span><br /><span>8.妯℃澘鍙傛暟鐨勭己鐪佸?/span><br /><span>    template<class Type = string, int size></span><br /><span>    class Buffer;</span><br /><span>9.綾繪ā鏉挎垚鍘熷嚱鏁板彲浠ュ啀綾繪ā鏉跨殑瀹氫箟涓畾涔? 璇ユ垚鍛樺嚱鏁版槸inline鎴愬憳鍑芥暟; 涔熷彲浠ュ畾涔夊湪綾繪ā鏉垮畾涔変箣澶?/span><br /><span>10.c++鐨勬ā鏉跨紪璇戞ā寮?template compilation model)</span></div><img src ="http://www.shnenglu.com/jianc/aggbug/169443.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-03-29 17:20 <a href="http://www.shnenglu.com/jianc/archive/2012/03/29/169443.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++Primer 璇諱功絎旇16 閲嶈澆鎿嶄綔絎﹀拰鐢ㄦ埛瀹氫箟杞崲http://www.shnenglu.com/jianc/archive/2012/03/21/168495.htmljiancjiancWed, 21 Mar 2012 06:15:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/21/168495.htmlhttp://www.shnenglu.com/jianc/comments/168495.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/21/168495.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/168495.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/168495.html1.鍋氭搷浣滄暟鏄綾葷被瀵硅薄鏄? 鎵嶄細鑰冭檻浣跨敤綾繪垚鍛橀噸杞芥搷浣滅
2.c++瑕佹眰, 璧嬪?=), 涓嬫爣([]), 璋冪敤(()), 鍜屾垚鍛樿闂澶?->)鎿嶄綔絎﹀繀欏昏瀹氫箟紼崇被鎴愬憳鎿嶄綔絎? 浠諱綍鎶婅繖浜涙搷浣滅瀹氫箟涓哄悕瀛楃┖闂存垚鍛樼殑瀹氫箟閮戒細琚?/span>

鏍囪涓虹紪璇戞椂鍒婚敊璇?/span>
3.c++棰勫畾涔夊彲閲嶈澆鐨勬搷浣滅:
   + - * / % ^ & | ~
   ! , = < > <= >= ++ --
   << >> == != && || += -= /=
   %= ^= &= |= *= <<= >>= [] ()
   -> ->* new new[] delete delete[]
4.瀵逛簬鍐呯疆綾誨瀷鐨勬搷浣滅, 瀹冪殑棰勫畾涔夋剰涔変笉鑳借鏀瑰彉
5.棰勫畾涔夌殑鎿嶄綔絎︿紭鍏堢駭涓嶈兘琚敼鍙?/span>
6.闄や簡operator()澶? 瀵瑰叾浠栭噸杞芥搷浣滅鎻愪緵緙虹渷瀹炲弬閮芥槸闈炴硶鐨?/span>



jianc 2012-03-21 14:15 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇15 綾葷殑鍒濆鍖栬祴鍊煎拰鏋愭瀯http://www.shnenglu.com/jianc/archive/2012/03/21/168484.htmljiancjiancWed, 21 Mar 2012 05:04:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/21/168484.htmlhttp://www.shnenglu.com/jianc/comments/168484.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/21/168484.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/168484.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/168484.html
1.緙虹渷鎯呭喌涓? 鐢ㄤ竴涓被鐨勫璞″垵濮嬪寲鍙︿竴涓璞? 鎴栬呭悜璇ョ被鍙︿竴涓璞¤祴鍊? 閮界敱緙虹渷鐨勬寜鎴愬憳璇箟(default memberwise semantics)鏀寔
   鍦ㄦ煇浜涙儏鍐典笅, 瀵圭被鐨勫畨鍏ㄦу拰澶勭悊姝g‘鎬ф槸涓嶅鐨? 闇瑕佺被璁捐鑰呮彁渚涚壒孌婄殑鎷瘋礉鏋勯犲嚱鏁?copy constructor)鍜屾嫹璐濊祴鍊兼搷浣滅(copy assignment

operator)鐨勫畾涔?/span>
2.new綾誨璞?--鍙湁new琛ㄨ揪寮忔垚鍔熺殑鐢寵鍒扮┖闂村唴瀛? 鏋勯犲嚱鏁版墠浼氳璋冪敤
3.鏋勯犲嚱鏁板畾涔変負inline鏃? 鍒涘緩瀵硅薄鏄細鍦ㄨ皟鐢ㄧ偣灞曞紑鏋勯犲嚱鏁?/span>
4.鎴愬憳鍒濆鍖栧垪琛?member initialization list)
5.鏋勯犲嚱鏁頒笉鑳界敤const鎴杤olatile鍏抽敭瀛楁潵澹版槑
   涓涓猚onst綾誨璞″湪"浠庡叾鏋勯犲嚱鏁板畬鎴愬埌鏋愭瀯鍑芥暟寮濮?榪欐鏃墮棿鍐呮墠琚涓烘槸const, volatile綾誨璞′篃涓鏍?/span>
6.explicit淇グ絎﹂氱煡緙栬瘧鍣ㄤ笉瑕佹彁渚涢殣寮忚漿鎹?/span>
   void print(const CTest &test);
   //...
   print("oops");  //榪欑璋冪敤浼氭妸"oops"杞崲鎴愪竴涓狢Test瀵硅薄
   緙虹渷鎯呭喌涓? 鍗曞弬鏁版瀯閫犲嚱鏁?鎴栬呮湁澶氫釜鍙傛暟, 闄や簡絎竴涓弬鏁板, 鍏朵粬閮芥湁緙虹渷瀹炲弬)琚敤浣滆漿鎹㈢
   鏃犳剰鐨勯殣寮忕被杞崲, 鏄緢闅捐窡韙殑閿欒!, 鍏抽敭瀛梕xplicit琚紩鍏ュ埌鏍囧噯c++涓? 浠ュ府鍔╂垜浠姂鍒惰繖縐嶄笉鍙楁榪庣殑緙栬瘧杈呭姪琛屼負
   explicit鍙兘琚簲鐢ㄥ湪鏋勯犲嚱鏁頒笂
7.緙虹渷鏋勯犲嚱鏁版槸涓嶉渶瑕佺敤鎴鋒寚瀹氬疄鍙傚氨鑳藉琚皟鐢ㄧ殑鏋勯犲嚱鏁? --騫朵笉鎰忓懗鐫瀹冧笉鑳芥帴鍙楀疄鍙? 鍙剰鍛崇潃鏋勯犲嚱鏁扮殑姣忎釜鍙傛暟閮芥湁涓涓己鐪佸間笌涔嬪叧鑱?/span>
8.闄愬埗瀵硅薄鍒涘緩 --鎶婄浉鍏蟲瀯閫犲嚱鏁版斁鍒伴潪鍏湁璁塊棶鍖哄唴, 浠庤岄檺鍒舵垨鏄劇ず紱佹鏌愪簺褰㈠紡鐨勫鍒涘緩鍔ㄤ綔
   鍦ㄥ疄闄呯殑c++紼嬪簭涓? 闈炲叕鏈夌殑鏋勯犲嚱鏁頒富瑕佺敤澶勬槸:
    闃叉鐢ㄤ竴涓被瀵硅薄鎯寵綾誨彟涓涓璞″仛鎷瘋礉
    鎸囧嚭鍙湁褰撲竴涓被鍦ㄧ戶鎵垮眰嬈′腑琚敤浣滃熀綾? 鑰屼笉鑳界洿鎺ヨ搴旂敤紼嬪簭鎿嶇旱鏃? 鏋勯犲嚱鏁版墠鑳借璋冪敤
9.鎷瘋礉鏋勯犲嚱鏁?--鐢ㄤ竴涓被瀵硅薄鍒濆鍖栬綾葷殑鍙︿竴涓璞¤縐頒負緙虹渷鎸夋垚鍛樺垵濮嬪寲(default memberwise initialization)
   涓涓被瀵硅薄鎯寵綾葷殑鍙︿竴涓璞′綔鎷瘋礉鏄氳繃渚濇鎷瘋礉姣忎釜闈為潤鎬佹暟鎹垚鍛樻潵瀹炵幇
   綾昏璁¤呭彲浠ラ氳繃鎻愪緵鐗規畩鐨勬嫹璐濇瀯閫犲嚱鏁?copy constructor)鏉ユ敼鍙樼己鐪佺殑琛屼負
   鎷瘋礉鏋勯犲嚱鏁頒笉涓瀹氭槸const, 浣嗗畠鍗村繀欏繪槸寮曠敤
10.鏃犺浣曟椂, 褰撳湪涓涓嚱鏁板唴鍒犻櫎涓涓嫭绔嬬殑鍫嗗璞℃椂, 鏈濂戒嬌鐢╝uto_ptr綾誨璞¤屼笉鏄竴涓疄闄呯殑鎸囬拡
   濡傛灉delete琛ㄨ揪寮忓け璐? 濡備竴涓紓甯歌鎶涘嚭, 浼氬埌鏃跺唴瀛樻硠闇?寮傚父鎶涘嚭, 璺寵繃浜哾elete鎿嶄綔?), 涓嶄細璋冪敤鏋愭瀯鍑芥暟
   鎵浠ュ緩璁敤auto_ptr鏅鴻兘鎸囬拡
11.瀵逛簬鍦ㄥ爢涓垎閰嶇殑綾誨璞℃暟緇勭殑鍏冪礌, 鎴戜滑娌℃湁鍔炴硶鎻愪緵涓緇勬樉紺虹殑鍊兼潵鍋氬垵濮嬪寲, 濡傛灉緇嗗寲鏀寔閫氳繃new琛ㄨ揪寮忓垎閰嶆暟緇? 鍒欑被蹇呴』鎻愪緵涓涓己鐪佺殑鏋?/span>

閫犲嚱鏁? 鎴栦笉鎻愪緵鏋勯犲嚱鏁?/span>
12.鐢ㄤ竴涓被瀵硅薄鍒濆鍖栧彟涓涓被瀵硅薄, 縐頒負鎸夋垚鍛樺垵濮嬪寲(default memberwise initialization)
    鍙戠敓鍦?鐢ㄤ竴涓被瀵硅薄鏄劇ず鐨勫垵濮嬪寲鍙︿竴涓璞?/span>
           鎶婁竴涓被瀵硅薄浣滀負瀹炲弬浼犻掔粰涓涓嚱鏁?/span>
           鎶婁竴涓被瀵硅薄浣滀負涓涓嚱鏁扮殑榪斿洖鍊間紶閫掑洖鏉?/span>
           闈炵┖欏哄簭瀹瑰櫒綾誨瀷鐨勫畾涔?/span>
           鎶婁竴涓被瀵硅薄鎻掑叆鍒頒竴涓鍣ㄧ被鍨嬩腑
13.鎴愬憳綾誨璞″垵濮嬪寲
14.緙虹渷鎸夋垚鍛樿祴鍊?default memberwise assignment) --鐢ㄤ竴涓被瀵硅薄鍚戣綾葷殑鍙︿竴涓璞$殑璧嬪兼搷浣?/span>
    鐢ㄩ殣寮忕殑鎷瘋礉璧嬪兼搷浣滅
    涓鑸潵鎵, 濡傛灉緙虹渷鐨勬寜鎴愬憳鍒濆鍖栧浜庝竴涓被涓嶅悎閫? 鍒欑己鐪佺殑鎸夋垚鍛樿祴鍊間篃涓嶅悎閫?/span>
    閫氳繃鎻愪緵涓涓幇瀹炵殑鎷瘋礉璧嬪兼搷浣滅鐨勫疄渚? 鍙互鏀瑰彉緙虹渷鐨勬寜鎴愬憳璧嬪?/span>
    娉ㄦ剰瑕侀槻姝竴涓被瀵硅薄鍚戣嚜宸辮祴鍊?--瀵逛簬"鍏堥噴鏀句笌璇ュ璞″綋鍓嶇浉鍏崇殑璧勬簮, 浠ヤ究鍒嗛厤涓庤鎷瘋礉瀵硅薄鐩稿叧璧勬簮"榪欐牱鐨勬嫹璐濊祴鍊兼搷浣滅, 鎷瘋礉鑷韓灝ゅ叾涓?/span>

鍚堥?/span>
    褰撲竴涓被瀵硅薄琚祴鍊肩粰璇ョ被鐨勫彟涓涓璞℃槸:
        a媯鏌ヨ綾? 鍒ゆ柇鏄惁鎻愪緵浜嗕竴涓幇瀹炵殑鎷瘋礉璧嬪兼搷浣滅
        b濡傛灉鏄? 媯鏌ヨ闂潈闄? 鍒ゆ柇鏄惁鍙互琚皟鐢?/span>
        c濡傛灉涓嶈兘琚皟鐢? 緙栬瘧閿欒, 鍚﹀垯鎵ц榪欎釜璋冪敤
        d濡傛灉璇ョ被娌℃湁鎻愪緵鏄劇ず鐨勬嫹璐濊祴鍊兼搷浣滅, 鍒欐墽琛屾寜緙虹渷鎴愬憳璧嬪?/span>
        e鍦ㄧ己鐪佹寜鎴愬憳璧嬪間笅, 姣忎釜鍐呯疆綾誨瀷鎴栧鍚堢被鍨嬬殑鏁版嵁鎴愬憳琚祴鍊肩粰鐩稿簲鐨勬垚鍛?/span>
        f瀵逛簬姣忎釜綾繪垚鍛樺璞? 閫掑綊鎵цa鍒癴姝? 鐭ラ亾鎵鏈夊唴緗垨澶嶅悎綾誨瀷鐨勬暟鎹垚鍛橀兘琚祴鍊?/span>
    濡傛灉甯屾湜瀹屽叏紱佹鎸夋垚鍛樻嫹璐濈殑琛屾枃, 灝嗘搷浣滅澹版槑涓簆rivate騫朵笖涓嶆彁渚涘疄闄呭畾涔夊嵆鍙?/span>
    涓鑸潵璇? 搴旇灝嗘嫹璐濇瀯閫犲嚱鏁板拰鎷瘋礉璧嬪兼搷浣滆涓轟竴涓釜浣撳崟鍏?/span>
15.C++璇█涓嶈兘鏈夋晥鍦拌繑鍥炰竴涓被瀵硅薄, 榪欒瑙嗕負c++璇█鐨勪竴涓噸澶х己闄?/span>
16.c++綾誨璞$殑鍒濆鍖栨繪槸姣旇祴鍊兼洿鏈夋晥

 

 



jianc 2012-03-21 13:04 鍙戣〃璇勮
]]>
浠涔堟槸灝鵑掑綊?http://www.shnenglu.com/jianc/archive/2012/03/21/168475.htmljiancjiancWed, 21 Mar 2012 03:31:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/21/168475.htmlhttp://www.shnenglu.com/jianc/comments/168475.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/21/168475.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/168475.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/168475.htmlhttp://www.cnblogs.com/JeffreyZhao/archive/2009/03/26/tail-recursion-and-continuation.html
http://fleurer-lee.com/lyah/recursion.htm

jianc 2012-03-21 11:31 鍙戣〃璇勮
]]>
MFC澶氱嚎紼?/title><link>http://www.shnenglu.com/jianc/archive/2012/03/20/168426.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Tue, 20 Mar 2012 12:02:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/03/20/168426.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/168426.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/03/20/168426.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/168426.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/168426.html</trackback:ping><description><![CDATA[<p><span>mfc涓嬪綰跨▼緙栫▼</span></p> <p><span>1.mfc鏀寔涓ょ綰跨▼</span><br /> <span>   鐢ㄦ埛鐣岄潰綰跨▼</span><br /> <span>   宸ヤ綔綰跨▼</span><br /> <span>2.mfc涓墍鏈夌嚎紼嬮兘鏄敱CWinThread瀵硅薄琛ㄧず</span><br /> <span>    CWinThread鏄敤鎴鋒帴鍙g嚎紼嬬殑鍩虹被, CWinApp灝辨槸浠嶤WinThread媧劇敓鍑烘潵鐨?/span><br /> <span style="background-color: transparent;">    鍦ㄥ啓鐢ㄦ埛鎺ュ彛綰跨▼鏃? 涔熻浠嶤WinThread綾繪淳鐢熷嚭鑷繁鐨勭嚎紼嬬被</span><br /> <span>    鍙互璋冪敤AfxBeginThread鍑芥暟, 浼氬垱寤篊WinThread瀵硅薄</span><br /> <span>3.緙栧啓鏄兂宸ヤ綔綰跨▼鐨勬帶鍒跺嚱鏁? 鎺у埗鍑芥暟鐨勫師鍨?</span><br /> <span>    UINT ControlFunctionName(LPVOID pParam); //綰跨▼鍥炶皟</span><br /> <span>4.綰跨▼璋冪敤AfxBeginThread鍑芥暟灝卞彲浠ュ垱寤烘柊鐨勭嚎紼?/span><br /> <span>5.鍒涘緩騫跺惎鍔ㄥ伐浣滅嚎紼?</span><br /> <span>    CWinThread* AfxBeginThread(</span><br /> <span>        AFX_THREADPROC pfnThreadProc,</span><br /> <span>        LPVOID pParam,</span><br /> <span>        int nPriority = THREAD_PRIORITY_NORMAL,</span><br /> <span>        UINT nStackSize = 0,</span><br /> <span>        WORD dwCreateFlags = 0,</span><br /> <span>        LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);</span><br /> <span>6.AfxEndThread緇堟綰跨▼</span><br /> <span>7.鍒涘緩鐢ㄦ埛鐣岄潰綰跨▼</span><br /> <span>    浠嶤WinThread綾繪淳鐢熷嚭鑷繁鐨勭嚎紼嬬被</span><br /> <span>    鏀歸犺繖涓被</span><br /> <span>    鍚姩鐢ㄦ埛鐣岄潰</span><br /> <span>8.鍩虹被鐨勪竴浜涙垚鍛樺嚱鏁?</span><br /> <span>    ExitInstance, 褰撶嚎紼嬮鍑烘槸, 浼氳皟鐢ㄦ墽琛屾竻鐞嗗伐浣?/span><br /> <span>    InitInstance, 鎵ц綰跨▼綾誨疄渚嬪垵濮嬪寲, 瀛愮被蹇呴』閲嶅啓</span><br /> <span>    OnIdle, 鎵ц綰跨▼鐗瑰畾絀洪棽鏃墮棿澶勭悊</span><br /> <span>    PreTranslateMessage, 榪囨護娑堟伅</span><br /> <span>    Run, 鎵ц綰跨▼鍑芥暟</span><br /> <span>9.AfxBeginThread鍑芥暟鐨勫彟涓涓噸杞藉師鍨?(鐣岄潰綰跨▼)</span><br /> <span>    CWinThread* AfxBeginThread(</span><br /> <span>        CRuntimeClass* pThreadClass,  //鐢≧UNTIME_CLASS瀹忓皢綰跨▼綾繪寚閽堣漿鎹負鎸囧悜CRuntimeClass瀵硅薄鎸囬拡</span><br /> <span>        int nPriority = THREAD_PRIORITY_NORMAL,</span><br /> <span>        UINT nStackSize = 0;</span><br /> <span>        DWORD dwCreateFlags = 0,</span><br /> <span>        LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL</span><br /> <span>    );</span><br /> <span>10.緇堟綰跨▼</span><br /> <span>    姝e父緇堟綰跨▼ VOID PostQuitMessage(int nExitCode);</span><br /> <span>    鎻愬墠緇堟綰跨▼ 鍦ㄧ嚎紼嬪唴璋冪敤AfxEndThread鍑芥暟 VOID AfxEndThread(UINT nExitCode);</span><br /> <span>11.綰跨▼鍚屾鎶鏈?/span><br /> <span>    淇″彿閲?--闄愬埗浣跨敤鍏變韓璧勬簮鐨勭嚎紼嬫暟鐩?/span><br /> <span>        CSemaphore g_Sem(5, 5); 鏃墮棿鍐呮渶澶氬彧鏈?涓嚎紼嬭兘鍏變韓璧勬簮, 榪樺垵濮嬪紑濮嬫椂娌℃湁綰跨▼鑾峰緱淇″彿璧勬簮</span><br /> <span>            涓鏃︾嚎紼嬭闂叡浜祫婧? 淇″彿閲忚鏁板櫒灝卞噺1, 鑻ュ彉涓?, 鍒欎笅鏉ュ璧勬簮鐨勮闂氨浼氳鎷掔粷, 鐭ラ亾鎸佹湁鐨勮祫婧愮嚎紼嬮噴鏀句簡璧勬簮鐨勬寔鏈夋潈</span><br /> <span>    浜掓枼瀵硅薄 --鍐呮牳瀵硅薄</span><br /> <span>    涓寸晫鍖?--鐢ㄦ埛妯″紡瀵硅薄 寮勪笉濂藉氨瀹規槗鍑虹幇姝婚攣, 涓嶈繃鐢ㄨ搗鏉ュ緢綆鍗? 鍙湁4涓狝PI</span><br /> <span>        InitializeCriticalSection, EterCreiticalSection, LeveCriticalSection, DeleteCriticalSection</span><br /> <span>    浜嬩歡瀵硅薄 --鍐呮牳瀵硅薄 鍒嗘敹宸ラ噸緗璞″拰鑷姩閲嶇疆瀵硅薄</span></p> <p><font style="background-color: #cce8cf" color="#000000" face="Verdana"></font> </p> <p><font style="background-color: #cce8cf" color="#000000" face="Verdana"><br /> </font> </p><img src ="http://www.shnenglu.com/jianc/aggbug/168426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-03-20 20:02 <a href="http://www.shnenglu.com/jianc/archive/2012/03/20/168426.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>lua鍩虹鐭ヨ瘑http://www.shnenglu.com/jianc/archive/2012/03/16/168084.htmljiancjiancFri, 16 Mar 2012 08:16:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/16/168084.htmlhttp://www.shnenglu.com/jianc/comments/168084.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/16/168084.html#Feedback1http://www.shnenglu.com/jianc/comments/commentRss/168084.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/168084.htmllua鑴氭湰鍩虹
1.鐣岄潰鐨勭紪鍐欏緢澶т竴閮ㄥ垎鍙互閫氳繃鑴氭湰鏉ュ疄鐜? 鍙互淇敼鍔犺剼鏈屼笉蹇呴噸鏂扮紪璇戠▼搴? 鍙互鑺傜渷鐣岄潰璁捐鐨勬椂闂?/span>
2.lua鑴氭湰璁捐鐩殑鏄負浜嗗祵鍏ュ簲鐢ㄧ▼搴忎腑, 涓哄簲鐢ㄧ▼搴忔彁渚涚伒媧葷殑鎵╁睍鍔熻兘
3.lua鑴氭湰鍙互琚玞/c++璋冪敤, 涔熷彲浠ヨ皟鐢╟/c++鐨勫嚱鏁? 涔熷彲浠ヤ唬鏇縳ml, ini絳夋枃浠? 瀹規槗鐞嗚В鍜岀淮鎶?/span>
4.lua鐢辨爣鍑哻緙栧啓鑰屾垚, 瑙i噴鍣ㄤ笉榪?00k, 鍦ㄧ洰鍓嶆墍鏈夎剼鏈紩鎿庝腑, lua鐨勯熷害鏈蹇? 鏄綔涓哄祵鍏ュ紡鑴氭湰鐨勬渶浣抽夋嫨
5.lua_open() 榪斿洖涓涓寚鍚憀ua瑙i噴鍣ㄧ殑涓涓寚閽?/span>
6.luaL_openlibs() 瑁呰澆lua搴? 鎻愪緵浜嗕竴浜涚畝鍗曠殑鍑芥暟, 濡俻rint
7.luaL_dofile() 鎵ц鑴氭湰
8.lua_close() 鍏抽棴lua
9.鐩稿叧澶存枃浠?
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
    #pragma comment(lib, "lua5.1.lib") //5.1鐗堟湰鐨刲ua搴?/span>
    lua_State* L; //lua瑙i噴鍣ㄦ寚閽?/span>
    L = lua_open(); //鍒濆鍖杔ua
    luaL_openlibs(L); //杞藉叆lua鍩烘湰搴?/span>
    luaL_dofile(L, "test.lua"); //鎵ц鑴氭湰
    lua_close(L); //娓呴櫎lua
10.瑙i噴鍣ㄥ姞杞絣ua鑴氭湰紼嬪簭搴? dofile("test.lua")
   鐒跺悗灝卞彲浠ユ墽琛宼est.lua閲岄潰鐨勫嚱鏁頒簡
11.lua_getglobal(L, "add"); //lua搴撶殑add鍏ㄥ眬鍑芥暟
    luapushnumber(L, x); //灝唜鍘嬫爤
    luapushnumber(L, y); //灝唝鍘嬫爤
    lua_call(L, 2, 1); //璋冪敤鍓嶉潰鐨刟dd鍑芥暟, 2涓弬鏁? 1涓繑鍥炲?/span>
    int ret = (int)lua_tonumber(L, -1); //鍙栧緱榪斿洖鍊?/span>
    lua_pop(L, 1); //寮瑰嚭鏍?/span>
12.lua鐨勬敞閲?
    鍗曡娉ㄩ噴: 浠?--"鍒拌鏈?/span>
    澶氳娉ㄩ噴: 浠?--[["鍒?]]", 褰撻噸鏂板惎鐢ㄨ繖孌典唬鐮佹椂
    鎶宸?
    --[[
    璇彞
    --]]
    榪欐牱娉ㄩ噴鍚? 鍙鍦?--[["鍓嶅姞涓涓?-", 閭d箞璇彞灝卞彲浠ユ墽琛屼簡
13.lua io杈撳叆:
    a = io.read("*number") --read a number
14.lua涓敮涓涓縐嶆暟鎹粨鏋?table
15.榪涘叆lua浜や簰妯″紡, 鎵цos.exit()鏃墮鍑轟氦浜掓ā寮?/span>
    C:\>lua
    Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
    > os.exit()
   
    C:\>
16.鐢╨ua -i鍙傛暟鏉ユ墽琛宭ua瑙i噴鍣ㄦ椂, 榪愯瀹宭ua紼嬪簭鍚庡皢榪涘叆浜や簰寮忔ā寮?/span>
   -i瀵逛簬璋冭瘯鏀跺伐嫻嬭瘯灝や負鏈夌敤
   鐢╨ua -e鍙傛暟, 鍙互鐩存帴鍦ㄥ懡浠よ涓緭鍏ヤ唬鐮?
    C:\>lua -e "print(math.sin(12))"
    -0.53657291800043
   鐢╨ua -l 鍙互鍔犺澆搴撴枃浠?
    lua -i -l a -e "x = 10" --鍛戒護琛屼笅鍔犺澆搴揳, 鎵цx=10鎿嶄綔, 鎵ц瀹屽悗榪涘叆浜や簰妯″紡
   鍙瀹氫箟浜嗕竴涓悕涓?_PROMPT"鐨勫叏灞鍙橀噺, 瑙i噴鍣ㄥ氨浼氱敤瀹冪殑鍊間綔涓轟氦浜掓ā寮忕殑鍛戒護鎻愮ず絎?/span>
    lua -i -e "_PROMPT=' lua>'"
17.lua鐨勪繚鐣欏瓧 --鍏抽敭瀛?
   and break do else elseif
   end false for function if
   repeat return then true until
   while
18.鍏ㄥ眬鍙橀噺涓嶉渶瑕佸0鏄? 鍙渶瑕佸皢涓涓艱祴浜堜竴涓叏灞鍙橀噺灝卞彲浠ュ垱寤轟簡, 鍦╨ua涓闂竴涓湭鍒濆鍖栫殑鍙橀噺涓嶄細鍑洪敊, 緇撴灉鏄竴涓猲il鍊?/span>
   瑕佸垹闄や竴涓彉閲? 鍙互鎶婅繖涓彉閲忚祴鍊間負nil
19.鍦ㄤ氦浜掓ā寮忎腑, 濡傛灉瑕佹墦鍗頒換浣曡〃杈懼紡鐨勫? 鍙互鐢ㄧ瓑鍙峰紑澶? 騫惰窡闅忎竴涓〃杈懼紡:
    = math.sin(3)
20.lua鏈?涓熀紜鐨勭被鍨?/span>
   nil(絀? boolean(甯冨皵) number(鏁板瓧) string(瀛楃涓?
   userdata(鑷畾涔夌被鍨? function(鍑芥暟) thread(綰跨▼)
   table(琛?
   鍑芥暟涓巘ype鍙互鏍規嵁涓涓艱繑鍥炲叾綾誨瀷鐨勫悕縐?/span>


jianc 2012-03-16 16:16 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇14 綾?/title><link>http://www.shnenglu.com/jianc/archive/2012/03/13/167774.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Tue, 13 Mar 2012 06:20:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/03/13/167774.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/167774.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/03/13/167774.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/167774.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/167774.html</trackback:ping><description><![CDATA[<p><span>1.c++綾?--鐢ㄦ埛瀹氫箟鐨勭被鍨?user-defined type, UDT)</span><br /> <span>2.淇℃伅闅愯棌(information hiding)</span><br /> <span>3.闄や簡闈欐佹暟鎹垚鍛樺, 鏁版嵁鎴愬憳涓嶈兘鍦ㄧ被涓鏄劇ず鍦板垵濮嬪寲</span><br /> <span>4.涓涓垚鍛樺嚱鏁板彧鑳介噸杞借嚜宸辯被鐨勫叾浠栨垚鍛樺嚱鏁?/span><br /> <span>5.鏁版嵁闅愯棌鐨勪紭鐐?</span><br /> <span>    濡傛灉鏁版嵁鐨勮闂睘鎬ф槸縐佹湁鐨? 鍒欎竴鑸櫎浜嗙被鐨勫叡鏈夋帴鍙? 涓嶈兘鐩存帴璁塊棶縐佹湁鎴愬憳</span><br /> <span>    濡傛灉鏁版嵁鐨勮闂睘鎬ф槸鍏辨湁鐨? 鍒欎換浣曞湴鏂歸兘鍙互鐩存帴璁塊棶榪欎釜鏁版嵁鎴愬憳</span><br /> <span>    浣嗘槸, 濡傛灉綾葷殑瀹炵幇鍙樺姩浜? 鍗抽偅涓垚鍛樻敼鍙樹簡, 閭d箞, 濡傛灉榪欎釜鎴愬憳鏄鏈夌殑, 浣嗗叡鏈夋帴鍙f病鏀瑰彉, 鍒欎笉闇瑕佷慨鏀逛嬌鐢ㄨ繖涓被鐨勪唬鐮?/span><br /> <span>    濡傛灉榪欎釜鎴愬憳鏄叡鏈夌殑, 閭d箞, 鐩存帴璁塊棶榪欎釜鎴愬憳鐨勪換浣曚唬鐮侀兘闇瑕佸仛鐩稿簲鐨勬敼鍙樹簡</span><br /> <span>    --鎵浠? 鏁版嵁灝佽鎬ц嚜鏈夊畠鐨勪紭鐐?/span><br /> <span>6.璁塊棶闄愬畾絎?access specifier) public, private, protected</span><br /> <span>7.鍦ㄦ煇浜涙儏鍐典笅, 鍏佽鏌愪釜鍑芥暟鑰屼笉鏄暣涓▼搴忓彲浠ヨ闂被鐨勭鏈夋垚鍛? 榪欐牱鍋氫細姣旇緝鏂逛究, 鍙嬪厓(friend)鏈哄埗鍏佽涓涓被鎺堟潈鍏朵粬鐨勫嚱鏁拌闂粬鐨勯潪鍏湁</span><br /> <span>鎴愬憳</span><br /> <span>8.鍙嬪厓澹版槑浠ュ叧閿瓧friend寮澶? 鍙兘鍑虹幇鍦ㄧ被鐨勫0鏄庝腑</span><br /> <span>9.鍥犱負鍙湁褰撲竴涓被鐨勭被浣撳凡緇忓畬鏁存椂, 瀹冩墠琚涓哄凡緇忚瀹氫箟, 鎵浠ヤ竴涓被涓嶈兘鏈夎嚜韜被鍨嬬殑鏁版嵁鎴愬憳, 浣嗗彲浠ョ敤鎸囧悜鑷韓綾誨瀷鐨勬寚閽堟垨寮曠敤浣滀負鏁版嵁鎴?/span></p> <p><span>鍛?/span><br /> <span>10.綾葷殑瀹氫箟涓嶄細寮曡搗瀛樺偍鍖哄垎閰? 鍙湁褰撳畾涔変竴涓被鐨勫璞℃椂, 緋葷粺鎵嶄細鍒嗛厤瀛樺偍鍖?/span><br /> <span>11.姣忎釜綾繪垚鍛樺嚱鏁扮殑鎷瘋礉鍙湁涓浠?/span><br /> <span>12.鎶婁竴涓垚鍛樺嚱鏁板0鏄庝負const鍙互淇濊瘉榪欎釜鎴愬憳鍑芥暟涓嶄慨鏀圭被鐨勬暟鎹垚鍛? 浣嗘槸, 濡傛灉璇ョ被鍚湁鎸囬拡, 閭d箞鍦╟onst鎴愬憳鍑芥暟涓氨鑳戒慨鏀規寚閽堟墍鎸囩殑瀵硅薄, </span></font></p> <p><span>緙栬瘧鍣ㄤ笉浼氭嫻嬩負閿欒, 榪欏父甯鎬護c++鍒濆鑰呭悆鎯?/span><br /> <span>13.涓轟簡鍏佽淇敼涓涓被鐨勬暟鎹垚鍛? 鍗充嬌瀹冩槸涓涓猚onst瀵硅薄鐨勬暟鎹垚鍛? 鎴戜滑涔熷彲浠ユ妸鏀規暟鎹垚鍛樺0鏄庝負mutable(鏄撳彉鐨?. mutable鏁版嵁鎴愬憳姘歌繙涓嶄細鏄?/span></p> <p><span>const鎴愬憳, mutable鎴愬憳涓彲浠ヨ鏇存柊</span><br /> <span>14.姣忎釜綾繪垚鍛樺嚱鏁伴兘鍚湁涓涓寚鍚戣璋冪敤瀵硅薄鐨勬寚閽? 榪欎釜鎸囬拡琚О涓簍his:</span><br /> <span>    鍦ㄩ潪const鎴愬憳鍑芥暟涓? 瀹冪殑綾誨瀷鏄寚鍚戣綾葷被鍨嬬殑鎸囬拡</span><br /> <span>    鍦╟onst鎴愬憳鍑芥暟涓? 鏄寚鍚慶onst綾葷被鍨嬬殑鎸囬拡</span><br /> <span>    鍦╲olatile鎴愬憳鍑芥暟涓? 鏄寚鍚憊olatile綾葷被鍨嬬殑鎸囬拡</span><br /> <span>15.綾葷殑闈欐佹垚鍛樿褰撳仛璇ョ被綾誨瀷鐨勫叏灞瀵硅薄, 瀵逛簬闈為潤鎬佹垚鍛? 姣忎釜綾誨璞¢兘鏈夎嚜宸辯殑鎷瘋礉, 鑰岄潤鎬佹暟鎹垚鍛樺姣忎釜綾葷被鍨嬪彧鏈変竴涓嫹璐? 闈欐佹暟鎹垚鍛樺彧</span></p> <p><span>鏈変竴浠? 璇ョ被綾誨瀷瀵規墍鏈夊璞″叡浜闂?/span><br /> <span>16.鍚屽叏灞瀵硅薄鐩告瘮, 浣跨敤闈欐佹暟鎹垚鍛樻湁涓や釜浼樺娍:</span><br /> <span>    闈欐佹暟鎹垚鍛樻病鏈夎繘鍏ョ▼搴忕殑鍏ㄥ眬鍚嶅瓧絀洪棿</span><br /> <span>    鍙互瀹炵幇淇℃伅闅愯棌, 闈欐佹垚鍛樺彲浠ユ槸private鎴愬憳, 鑰屽叏灞瀵硅薄涓嶈兘</span><br /> <span>17.闈欐佹暟鎹垚鍛樼殑綾誨瀷鍙互鏄叾浠栨墍灞炵被, 鑰岄潪static鏁版嵁鎴愬憳鍙兘琚0鏄庝負璇ョ被鐨勫璞$殑鎸囬拡鎴栧紩鐢?/span><br /> <span>18.闈欐佹暟鎹垚鍛樺彲浠ヨ浣滀負綾繪垚鍛樺嚱鏁扮殑緙虹渷瀹炲弬, 鑰岄潪static鎴愬憳涓嶈兘</span><br /> <span>19.闈欐佹垚鍛樺嚱鏁扮殑澹版槑闄や簡鍦ㄧ被浣撲腑鐨勫嚱鏁板0鏄庡姞涓婂叧閿瓧static, 浠ュ強涓嶈兘澹版槑涓篶onst鎴杤olatile涔嬪, 涓庨潪闈欐佹垚鍛樺嚱鏁扮浉鍚? 鍑虹幇鍦ㄧ被浣撳鐨勫嚱鏁?/span></p> <p><span>瀹氫箟涓嶈兘鎸囧畾鍏抽敭瀛梥tatic</span><br /> <span>20.闈欐佹垚鍛樻病鏈塼his鎸囬拡</span><br /> <span>21.綾繪垚鍛樼殑鎸囬拡蹇呴』鎬繪槸閫氳繃鐗瑰畾鐨勫璞℃垨鎸囧悜璇ョ被綾誨瀷鐨勫璞$殑鎸囬拡鏉ヨ闂?/span><br /> <span>    閽堝綾誨璞″拰寮曠敤鐨?*</span><br /> <span>    閽堝鎸囧悜綾誨璞$殑鎸囬拡鐨?>*</span><br /> <span>22.瀹氫箟涓涓垚鍛樺嚱鏁版寚閽堥渶瑕佸埗瀹氬嚱鏁拌繑鍥炵被鍨? 鍙傛暟琛ㄥ拰綾?</span><br /> <span>    int (CTest::*)();</span><br /> <span>    int (CTest::*pmf)() = &CTest::test;</span><br /> <span>    pmf = &CTest::test2;</span><br /> <span>23.闈欐佺被鎴愬憳灞炰簬璇ョ被鐨勫叏灞瀵硅薄鍜屽嚱鏁?/span><br /> <span>24.鑱斿悎:涓縐嶈妭鐪佺┖闂寸殑綾?/span><br /> <span>    浣跨敤union鏄嵄闄╃殑, 閫氳繃涓涓笉閫傚綋鐨勬暟鎹垚鍛樹互涓虹殑鑾峰彇鍒板綋鍓嶅瓨鍌ㄥ湪union涓殑鍊糫</span><br /> <span>25.c++鏍囧噯搴撴彁渚涗簡涓涓猙itset綾繪ā鏉? 瀹冨彲浠ヨ緟鍔╂搷浣滀綅鐨勯泦鍚? 鍦ㄥ彲鑳界殑鎯呭喌涓? 搴斿敖鍙兘浣跨敤瀹冩潵鍙栦唬浣嶅煙</span><br /> <span>26.涓涓被鍙互鍦ㄥ彟涓涓被涓畾涔? 榪欐牱鐨勭被琚О涓哄祵濂楃被(nested class)</span><br /> <span>    宓屽綾繪槸鍏跺鍥寸被鐨勪竴涓垚鍛?/span><br /> <span>27.綾諱篃鍙互瀹氫箟鍦ㄥ嚱鏁頒綋鍐? 榪欐牱鐨勭被琚О涓哄眬閮ㄧ被(local class)</span><br /> <span>    灞閮ㄧ被鐨勬垚鍛樺嚱鏁板繀欏昏瀹氫箟鍦ㄧ被瀹氫箟涓? 榪欏氨鎶婂眬閮ㄧ被鐨勬垚鍛樺嚱鏁扮殑澶嶆潅鎬ч檺鍒跺湪鍑犺浠g爜涓?/span><br /> <br /> <br /> </p><img src ="http://www.shnenglu.com/jianc/aggbug/167774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-03-13 14:20 <a href="http://www.shnenglu.com/jianc/archive/2012/03/13/167774.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++Primer 璇諱功絎旇13 娉涘瀷綆楁硶http://www.shnenglu.com/jianc/archive/2012/03/13/167758.htmljiancjiancTue, 13 Mar 2012 01:45:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/13/167758.htmlhttp://www.shnenglu.com/jianc/comments/167758.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/13/167758.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167758.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167758.html1.copy() 綆楁硶鎶婁竴鍫唅terator褰撳仛鍓嶄袱涓疄鍙? 鐢ㄥ畠浠爣璁板嚭瑕佹嫹璐濈殑鍏冪礌鑼冨洿, 絎笁涓疄鍙傛槸涓涓猧terator, 瀹冩爣璁頒簡琚嫹璐濆厓绱犲皢瑕佹斁緗殑璧峰浣嶇疆, back_inserter琚О涓篿terator閫傞厤鍣? 瀹冧嬌寰楀厓绱犺鎻掑叆鍒頒綔涓哄疄鍙傜殑vector鐨勫熬閮?/span>
2.unique()闅忕劧鍘繪帀浜嗗鍣ㄤ腑鐨勯噸澶嶅? 浣嗘槸鍙幓鎺夌浉閭葷殑閲嶅鍊? 鍥犳鍙互鍏堝瀹瑰櫒榪涜sort()鎺掑簭


jianc 2012-03-13 09:45 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇12 寮傚父澶勭悊http://www.shnenglu.com/jianc/archive/2012/03/12/167709.htmljiancjiancMon, 12 Mar 2012 03:55:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/12/167709.htmlhttp://www.shnenglu.com/jianc/comments/167709.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/12/167709.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167709.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167709.html1.c++鐨勫紓甯稿鐞嗘満鍒惰縐頒負涓嶅彲鎭㈠鐨?nonresumptive)
2.鏍堝睍寮(stack unwinding)
    濡傛灉鎵懼埌涓涓猚atch瀛愬彞, 鍒欒寮傚父琚鐞? 濡傛灉娌℃湁鎵懼埌catch瀛愬彞, 鍒欏湪涓昏皟鍑芥暟緇х畫鏌ユ壘
    榪欎釜榪囩▼娌跨潃娼滈冨嚱鏁拌皟鐢ㄩ摼鍚戜笂緇х畫, 鐩村埌鎵懼埌璇ュ紓甯哥殑catch瀛愬彞.
3.閲嶆柊鎶涘嚭(rethow)
    throw; //rethrow璇彞鍙兘鍑虹幇鍦╟atch瀛愬彞椋炲鍚堣鍙ヤ腑
    琚姏鍑虹殑寮傚父灝辨槸鍘熸潵鐨勫紓甯稿璞?br />4.鎶奵atch瀛愬彞涓殑寮傚父瀵硅薄澹版槑涓哄紩鐢? 鍏嶅幓浜嗗璞$殑鍐呭瓨鎷瘋礉, 鍙堝彲浠ョ‘淇濆簲鐢ㄥ湪catch瀛愬彞涓殑寮傚父瀵硅薄涓婄殑淇敼鎿嶄綔, 鑳藉鍙嶆槧鍒拌閲嶆柊鎶涘嚭鐨勫紓甯?/p>

瀵硅薄涓?br />5.catch-all
    try {
        ....
    }
    catch(...) {} //catch-all鏍煎紡
6.catch瀛愬彞琚鏌ョ殑欏哄簭涓庡畠浠湪try鍧椾箣鍚庡嚭鐜扮殑欏哄簭鐩稿悓, 涓鏃︽壘鍒頒簡涓涓尮閰? 鍒欏悗緇殑catch瀛愬彞灝嗕笉鍐嶆鏌?br />7.寮傚父瑙勮寖(exception specification)
    void foo() throw(Object); //榪欑澹版槑灝辨槸寮傚父瑙勮寖
    寮傚父澹版槑鏄嚱鏁版帴鍙g殑涓閮ㄥ垎
8.寮傚父瑙勮寖涓嶅厑璁擱噸琚姏鍑虹殑寮傚父綾誨瀷鍒板紓甯歌鑼冨埗瀹氱殑綾誨瀷涔嬮棿鐨勮漿鎹?
    void foo() throw(string) {
        ....
        throw "exception";  //涓嶅厑璁鎬粠const char* 鍒皊tring鐨勮漿鎹? 姝ゆ椂璋冪敤unexpected()
        throw string("exception"); //鍙互
    }





jianc 2012-03-12 11:55 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇11 鍑芥暟妯℃澘http://www.shnenglu.com/jianc/archive/2012/03/12/167706.htmljiancjiancMon, 12 Mar 2012 02:55:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/12/167706.htmlhttp://www.shnenglu.com/jianc/comments/167706.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/12/167706.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167706.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167706.html1.鍏抽敭瀛梩emplate鎬繪槸鏀懼湪妯℃澘鐨勫畾涔変笌澹版槑鐨勬渶鍓嶉潰, 鍚庨潰鏄敤閫楀彿鍒嗛殧鐨勬ā鏉垮弬鏁板垪琛?template parameter list), 鍙傛暟琛ㄤ笉鑳戒負絀?/span>
2.妯℃澘闈炵被鍨嬪弬鏁版槸鐢變竴涓櫘閫氱殑鍙傛暟澹版槑鏋勬垚, 浠h〃涓涓綔鍦ㄧ殑鍊?
    template <typename Type, int size>
    Type min(Type (&arr)[size]);
    //褰撳嚱鏁版ā鏉縨in()琚疄渚嬪寲鏃? size鐨勫間細琚竴涓紪璇戞椂鍒誨凡鐭ョ殑甯擱噺鍊間唬鏇?/span>
3.綾誨瀷鍜屽肩殑鏇挎崲榪囩▼琚О涓烘ā鏉跨殑瀹炰緥鍖?template instantiation)
4.c++鏀寔涓ょ妯℃澘緙栬瘧妯″紡:
    鍖呭惈妯″紡(Inclusion Model)
    鍒嗙妯″紡(Separation Model)

    鍖呭惈緙栬瘧妯″紡涓? 鍦ㄦ瘡涓ā鏉胯瀹炰緥鍖栫殑鏂囦歡涓寘鍚嚱鏁版ā鏉跨殑瀹氫箟, 騫朵笖寰寰鎶婂畾涔夋斁鍦ㄥご鏂囦歡涓? 鍚戝鍐呰仈鍑芥暟宸﹂偅鏍?/span>
    --緙虹偣: 鍑芥暟妯℃澘浣?body)鎻忚堪浜嗗疄鐜扮粏鑺?/span>
    鍒嗙緙栬瘧妯″紡涓? 鍑芥暟妯℃澘澹版槑鏀懼湪澶存枃浠朵腑, 鍑芥暟妯℃澘瀹氫箟鏀懼湪cpp鏂囦歡閲?/span>

    //.h
    template <typename Type> Type min(Type t1, Type t2);

    //.cpp
    export template <typename Type>
    Type min(Type t1, Type t2) { /* ... */ }

    //鍏抽敭瀛?export! 鍙鍑虹殑妯℃澘
    //騫朵笉鏄墍鏈夌殑緙栬瘧鍣ㄩ兘鏀寔鍒嗙妯″紡



jianc 2012-03-12 10:55 鍙戣〃璇勮
]]>
鍗蟲椂緇冧範http://www.shnenglu.com/jianc/archive/2012/03/09/167484.htmljiancjiancFri, 09 Mar 2012 05:53:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/09/167484.htmlhttp://www.shnenglu.com/jianc/comments/167484.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/09/167484.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167484.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167484.html

stl 鎵懼嚭鏁扮粍鐨勬渶灝忓?

#include <iostream>
#include 
<string>
#include 
<algorithm>
#include 
<vector>
using namespace std;

template
<typename Type, int size>
Type getMin(
const Type (&arr)[size])
{
    cout 
<< "Size:" << size <<endl;
    vector
<Type> vec(arr, arr + size);
    sort(vec.begin(), vec.end());
    
return vec[0];
}


int main(int argc, char *argv[])
{
    
int arr[] = {4-3245343};

    cout 
<< getMin(arr) < <endl;
    
    
return 0;
}


stl鍒犻櫎閲嶅鏁版嵁

 

#include <iostream>
#include 
<vector>
#include 
<algorithm>
#include 
<iterator>
using namespace std;

template
<typename Type>
void display(const vector<Type>& vec)
{
    vector
<Type>::const_iterator iter = vec.begin();
    
while(iter != vec.end())
    {
        cout 
<< *iter <<" ";
        iter
++;
    }
    cout 
<<endl;
}

int main(int argc, char *argv[])
{
    
const int Len = 12;
    
int arr[Len] = {223212345456};
    vector
<int> vec(arr, arr + Len);

    sort(vec.begin(), vec.end());

    display(vec);

    vector
<int>::iterator iterBegin = vec.begin();
    vector
<int>::iterator iterEnd = unique(vec.begin(), vec.end());    //鍘繪帀閲嶅鐨?/span>

    display(vec);

    
while(iterBegin != iterEnd)
    {
        cout 
<< *iterBegin << " ";
        iterBegin
++;
    }
    cout 
<<endl;


    
return 0;
}

 

map瀛楃媯绱?/h3>

 

#include <string>
#include 
<map>
#include 
<algorithm>
#include 
<iostream>
using namespace std;

int main(int argc, char *argv[])
{
    map
<charint> mObj;

    
string str;
    cin 
>> str;

    
for(int i = 0; i < str.size(); ++i)
    {
        
if(mObj.count(str[i]))
            mObj[str[i]]
++;
        
else
            mObj.insert(map
<charint>::value_type(str[i], 1));
    }
    
    map
<charint>::iterator iter = mObj.begin();
    
while(iter != mObj.end())
    {
        cout 
<< iter->first << ":" <<iter->second <<endl;
        
++iter;
    }

    
return 0;
}

 



jianc 2012-03-09 13:53 鍙戣〃璇勮
]]>C++Primer 璇諱功絎旇10 鍑芥暟閲嶈澆(寰呮洿鏂?http://www.shnenglu.com/jianc/archive/2012/03/09/167474.htmljiancjiancFri, 09 Mar 2012 03:59:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/09/167474.htmlhttp://www.shnenglu.com/jianc/comments/167474.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/09/167474.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167474.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167474.html2.閾炬帴鎻愮ず絎xtern "C"鍙兘鎸囧畾閲嶈澆鍑芥暟闆嗕腑鐨勪竴涓嚱鏁?br />    --鍥犱負閲嶈澆鍑芥暟鏃? 闇瑕乧++鐨勫悕瀛楁敼緙栧姛鑳? 鎵嶈兘鍖哄垎涓嶅悓鐨勫嚱鏁? 鑰宔xtern "C"鏄寚鏄庝簡涓嶈榪涜鍚嶅瓧鏀圭紪
//鍏朵粬緇嗚妭鍥炲ご鍐嶇湅






jianc 2012-03-09 11:59 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇9 鍩熷拰鐢熷懡鏈?/title><link>http://www.shnenglu.com/jianc/archive/2012/03/09/167473.html</link><dc:creator>jianc</dc:creator><author>jianc</author><pubDate>Fri, 09 Mar 2012 03:40:00 GMT</pubDate><guid>http://www.shnenglu.com/jianc/archive/2012/03/09/167473.html</guid><wfw:comment>http://www.shnenglu.com/jianc/comments/167473.html</wfw:comment><comments>http://www.shnenglu.com/jianc/archive/2012/03/09/167473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/jianc/comments/commentRss/167473.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/jianc/services/trackbacks/167473.html</trackback:ping><description><![CDATA[<p>1.涓婁笅鏂?context)<br /> 2. 鍏ㄥ眬鍩熷唴鐨勫嚱鏁板0鏄庡皢寮曞叆鍏ㄥ眬鍑芥暟(global function)<br /> 3.鍏ㄥ眬鍩熷唴鐨勫彉閲忓皢寮曞叆鍏ㄥ眬瀵硅薄(global object)<br /> 4.鐢熷懡鏈?lifetime)<br /> 5.鍑芥暟澹版槑(declaration) 鎸囧畾浜嗚鍑芥暟鐨勫悕瀛椾互鍙婂嚱鏁扮殑榪斿洖綾誨瀷鍜屽弬鏁板垪琛?br /> 6.鍑芥暟瀹氫箟(definition)榪樹負鍑芥暟鎻愪緵浜嗗嚱鏁頒綋<br /> 7.extern涓哄0鏄庝絾涓嶅畾涔変竴涓璞℃彁渚涗簡涓縐嶆柟娉? --鎵胯浜嗚瀵硅薄浼氬湪鍏朵粬鍦版柟琚畾涔?br />     extern 澹版槑涓嶄細寮曡搗鍐呭瓨琚垎閰?br /> 8.c++涓湁涓縐嶆満鍒? 閫氳繃瀹冨彲浠ユ妸鍑芥暟鍙傛暟鐨勭被鍨嬪拰鏁扮洰緙栫爜鍦ㄥ嚱鏁板悕涓? 鏀規満鍒跺彨鍋氱被鍨嬪畨鍏ㄩ摼鎺?type-safe-linkage)<br /> 9.涓嶅悓鏂囦歡涓嚭鐜板悓涓瀵硅薄鎴栧嚱鏁板0鏄庣殑鍏朵粬綾誨瀷涓嶅尮閰嶆儏鍐? 鍦ㄧ紪璇戞垨閾炬帴鏃跺彲鑳戒笉浼氳鎹曟崏鍒? 鍥犱負緙栬瘧鍣ㄤ竴嬈″彧鑳藉鐞嗕竴涓枃浠? 浠栦笉鑳藉緢瀹規槗鍦版</p> <p>鏌ュ埌鏂囦歡涔嬮棿鐨勭被鍨嬭繚渚? 榪欎簺綾誨瀷榪濅緥鍙兘鏄▼搴忎弗閲嶉敊璇殑鏍規簮<br /> 10.澶存枃浠朵負鎵鍚慹xtern瀵硅薄澹版槑, 鍑芥暟澹版槑浠ュ強inline鍑芥暟瀹氫箟鎻愪緵浜嗕竴涓泦涓殑浣嶇疆: 榪欒縐頒綔澹版槑鐨勫眬閮ㄥ寲(localization)<br /> 11.澶存枃浠舵彁渚涗簡涓や釜瀹夊叏淇濊瘉<br />     淇濊瘉鎵鏈夋枃浠墮兘鍖呭惈鍚屼竴涓叏灞瀵硅薄鎴栧嚱鏁扮殑鍚屼竴浠藉0鏄?br />     濡傛灉闇瑕佷慨鏀瑰0鏄? 鍒欏彧闇瑕佹敼鍙樹竴涓ご鏂囦歡<br />     --鍙湪鏈琧pp鐢ㄧ殑鍏ㄥ眬鍑芥暟, 璇ヤ笉璇ュ畾涔夊湪澶存枃浠墮噷闈?<br /> 12.灞閮ㄥ璞?local object)<br />    鑷姩瀵硅薄(automatic object)  --紼嬪簭榪愯鏍?br />    瀵勫瓨鍣ㄥ璞?register object) --濡傛灉鎵閫夋嫨鐨勫彉閲忚棰戠箒浣跨敤, 鍒欏瘎瀛樺櫒鍙橀噺鍙互鎻愰珮鍑芥暟鐨勬墽琛岄熷害<br />    灞閮ㄩ潤鎬佸璞?local static object)<br /> 13.褰撲竴涓嚜鍔ㄥ彉閲忕殑鍦板潃鍛楀瓨鍌ㄥ湪涓涓敓鍛芥湡闀夸笌瀹冪殑鎸囬拡鏃? 璇ユ寚閽堣縐頒負絀烘偓鎸囬拡(dangling pointer)<br /> 14.鍔ㄦ佸垎閰嶇殑瀵硅薄琚垎閰嶅湪紼嬪簭鐨勭┖闂插瓨鍌ㄥ尯(free store)鐨勫彲鐢ㄥ唴瀛樻睜涓?br /> 15.new琛ㄨ揪寮忓け璐ユ椂, 閫氬父浼氭姏鍑篵ad_alloc寮傚父<br /> 16.搴旂敤delete琛ㄨ揪寮忓け璐? 浣垮唴瀛樻棤娉曡繑鍥炵┖闂插瓨鍌ㄥ尯, 縐頒綔鍐呭瓨娉勯湶(memory leak)<br /> 17.瀵圭敤涓鍐呭瓨搴旂敤浜嗕袱嬈elete琛ㄨ揪寮? 閫氬父鍙戠敓鍦ㄤ袱涓寚閽堟寚鍚戝悓涓涓姩鎬佸垎閰嶅璞$殑鏃跺? 榪欐槸涓涓緢闅捐窡韙殑闂<br /> 18.鍦ㄥ璞¤閲婃斁鍚庤鍐欒瀵硅薄, 榪欏父甯鎬細鍙戠敓, 鍥犱負delete琛ㄨ揪寮忓簲鐢ㄧ殑鎸囬拡娌℃湁琚緗負0<br /> 19.涓哄府鍔╃▼搴忓憳鏇村ソ鍦扮鐞嗗姩鎬佸垎閰嶇殑鍐呭瓨, c++搴撴彁渚涗簡auto_ptr綾葷被鍨嬬殑鏀寔 --鏅鴻兘鎸囬拡<br /> 20.auto_ptr綾繪ā鏉垮ご鏂囦歡<memory><br />     auto_ptr<int>pi(new int(1024));<br />     //pi鏄眬閮ㄦ櫤鑳芥寚閽? 褰損i鐢熷懡鏈熺粨鏉熸椂鍊? 浼氳嚜鍔ㄩ噴鏀緋i鎸囧悜鐨勫爢絀洪棿<br />     涓轟簡鍒ゆ柇auto_ptr瀵硅薄鏄惁鎸囧悜浜嗕竴涓璞? 鍙互鐢ㄦ搷浣済et()榪斿洖auto_ptr瀵硅薄鍐呴儴鐨勫簳灞傛寚閽?br />     if(p_auto_int.get() != 0 && *p_auto_int != 1024) { ... }<br /> 21.鍦ㄦ煇浜涙儏鍐典笅, 灝忕粏鑺備細縐仛鎴愬彲鎬曠殑鎬ц兘鐡墮, 榪欎簺緇嗚妭涓嶅簲璇ョ儲鎵伴偅浜涜瘯鍥句負鏁翠釜紼嬪簭鎻愪緵瑙e喅鏂規鐨勪漢, 浣嗘槸榪欎簺緇嗚妭鏄湁緇忛獙鐨勭▼搴忓憳搴旇鑰冭檻<br /> 鐨?br /> 22.瀹氫綅new琛ㄨ揪寮?br />     new琛ㄨ揪寮忓彲浠ュ厑璁哥▼搴忓憳瑕佹眰灝嗗璞″垱寤哄湪宸茬粡琚垎閰嶅ソ鐨勫唴瀛樹腑, 榪欑褰㈠紡鐨刵ew琛ㄨ揪寮忚縐頒負瀹氫綅new琛ㄨ揪寮?placement new expression)<br />     new (place_address) type -specifier<br />     place_address蹇呴』鏄釜鎸囬拡<br />     澶存枃浠?lt;new><br />     byte *mem = new byte[4096]; //榪欎釜鏄嚜瀹氫箟鍐呭瓨姹?<br />     char *tmp = new(mem) char; //鍦ㄥ唴瀛樻睜鍒嗛厤涓涓猚har鏉ョ敤?<br />     delete [] mem;</p> <img src ="http://www.shnenglu.com/jianc/aggbug/167473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/jianc/" target="_blank">jianc</a> 2012-03-09 11:40 <a href="http://www.shnenglu.com/jianc/archive/2012/03/09/167473.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++Primer 璇諱功絎旇8 鍑芥暟http://www.shnenglu.com/jianc/archive/2012/03/08/167436.htmljiancjiancThu, 08 Mar 2012 12:22:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/08/167436.htmlhttp://www.shnenglu.com/jianc/comments/167436.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/08/167436.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167436.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167436.html 2.鎸夊間紶閫?pass-by-value)
3.鏌愪簺鎯呭喌涓? 緙栬瘧鍣ㄨ嚜鍔ㄥ皢鎸夊艱繑鍥炶漿鎹㈠埌鎸夊紩鐢ㄨ繑鍥? 璇ヤ紭鍖栫О涓哄懡鍚嶈繑鍥炲間紭鍖?named return value optimization)
4.鐩存帴鎴栭棿鎺ヨ皟鐢ㄨ嚜宸辯殑鍑芥暟琚О涓洪掑綊鍑芥暟(recursive function)
5.inline鎸囩ず瀵圭紪璇戝櫒鏉ヨ鍙槸涓涓緩璁? 緙栬瘧鍣ㄥ彲浠ラ夋嫨蹇界暐璇ュ緩璁?br />








jianc 2012-03-08 20:22 鍙戣〃璇勮
]]>
C++Primer 璇諱功絎旇7 鎶借薄瀹瑰櫒綾誨瀷http://www.shnenglu.com/jianc/archive/2012/03/08/167416.htmljiancjiancThu, 08 Mar 2012 09:06:00 GMThttp://www.shnenglu.com/jianc/archive/2012/03/08/167416.htmlhttp://www.shnenglu.com/jianc/comments/167416.htmlhttp://www.shnenglu.com/jianc/archive/2012/03/08/167416.html#Feedback0http://www.shnenglu.com/jianc/comments/commentRss/167416.htmlhttp://www.shnenglu.com/jianc/services/trackbacks/167416.html1.欏哄簭瀹瑰櫒(sequence container) --鎷ユ湁鐢卞崟涓綾誨瀷鍏冪礌緇勬垚鐨勪竴涓湁搴忛泦鍚?br />    list, vector, deque
2.鍏寵仈瀹瑰櫒(associative container) --鏀寔鏌ヨ涓涓厓绱犳槸鍚﹀瓨鍦? 騫朵笖鍙互鏈夋晥鍦拌幏鍙栧厓绱?br />    map, set, multimap, multiset
3.瀹瑰櫒鐨勫閲?--鍦ㄥ鍣ㄤ笅涓嬈¢渶瑕佸闀胯嚜宸變箣鍓嶈兘澶熻鍔犲叆鍒板鍣ㄤ腑鐨勫厓绱犵殑鎬繪暟(瀹歸噺鍙笌榪炵畫瀛樺偍鐨勫鍣ㄧ浉鍏?vector, deque, string. 鑰宭ist涓嶈姹?/p>

瀹歸噺)
4.capacity()鎿嶄綔 --姹備竴涓鍣ㄧ殑瀹歸噺
5.瀹瑰櫒鐨勯暱搴?--瀹瑰櫒褰撳墠鎷ユ湁鍏冪礌鐨勪釜鏁?br /> 6.size()鎿嶄綔 --姹備竴涓鍣ㄧ殑闀垮害
7.鏁版嵁綾誨瀷瓚婂鏉? vector鐨勬晥鐜囧氨瓚婁綆
8.reserve()鎿嶄綔 --鍏佽紼嬪簭鍛樺皢瀹瑰櫒鐨勫閲忚緗垚涓涓幇瀹炴寚瀹氱殑鍊?br /> 9.榪唬鍣?iterator) --鎻愪緵浜嗕竴縐嶄竴鑸寲鐨勬柟娉? 瀵歸『搴忔垨鍏寵仈瀹瑰櫒綾誨瀷涓殑姣忎釜鍏冪礌榪涜榪炵畫璁塊棶
10.姣忎釜瀹瑰櫒綾誨瀷閮芥彁渚涗簡涓涓猙egin()鍜屼竴涓猠nd()鎴愬憳鍑芥暟
11.begin()榪斿洖涓涓猧terator, 鎸囧悜瀹瑰櫒鐨勭涓涓厓绱?br /> 12.end()榪斿洖涓涓猧terator, 鎸囧悜瀹瑰櫒鐨勬湯鍏冪礌鐨勪笅涓涓綅緗?br /> 13.鍑轟簡iterator綾誨瀷, 姣忎釜瀹瑰櫒榪樺畾涔変簡涓涓猚onst iterator綾誨瀷, 瀵逛簬閬嶅巻const瀹瑰櫒鏄繀闇鐨?br /> 14.iterator綆楁湳璁虹畻鍙傜敤浜巚ector鎴杁eque, 鑰屼笉閫傜敤涓巐ist, 鍥犱負ielist鐨勫厓绱犲湪鍐呭瓨涓笉鏄繛緇瓨鍌ㄧ殑
15.string.find_first_of()鏌ユ壘涓庤鎼滅儲瀛楃涓蹭腑浠繪剰涓涓瓧絎︾浉鍖歸厤鐨勭涓嬈″嚭鐜? 騫惰繑鍥炲畠鐨勭儲寮曚綅緗?br /> 16.string.substr()鐢熸垚string瀵硅薄鐨勫瓧涓茬殑涓涓嫹璐?br /> 17.string.rfind()鏌ユ壘鏈鍚庣殑鎸囧畾瀛椾覆鍑虹幇鐨勭儲寮?br /> 18.string.find_first_not_of()鏌ユ壘絎竴涓笉涓庤鎼滅儲瀛楃涓茬殑浠繪剰瀛楃鐩稿尮閰嶇殑瀛楃
19.string.find_last_of()鏌ユ壘瀛楃涓蹭腑鐨?涓庢悳绱㈠瓧絎︿覆浠繪剰鍏冪礌鐩稿尮閰?鐨勬渶鍚庝竴涓瓧絎?br /> 20.string.find_last_not_of()鏌ユ壘瀛楃涓蹭腑鐨?涓庢悳绱㈠瓧絎︿覆浠繪剰瀛楃鍏ㄤ笉鍖歸厤"鐨勬渶鍚庝竴涓瓧絎?br /> 21.string.erase(pos, num)鎿嶄綔鍘繪帀瀛楃涓蹭腑鐨勬寚瀹氫覆, pos琛ㄧず浣嶇疆, num琛ㄧず鍘繪帀鐨勯暱搴?br /> 22.<locale>ctype綾? 灝佽漿浜嗘爣鍑哻搴撳嚱鏁扮殑鍔熻兘鍙婁竴緇勯潪鎴愬憳鍑芥暟
23.string.compare(pos, num, str); 姣旇緝pos浣嶇疆鐨勫悗闈um涓瓧絎︽槸鍚︿負str
24.string.insert(pos, newstring); pos琛ㄧず瑕佹彃鍏ョ殑浣嶇疆, newstring琛ㄧず瑕佹彃鍏ョ殑瀛楃涓?br /> 25.string.assign(); 瀛楃涓叉嫹璐?br /> 26.string.append(); 瀛楃涓叉嫾鎺?br /> 27.string.swap(); 浜ゆ崲涓や釜瀛楃涓?br /> 28.string.at(); 瀵瑰瓧絎︾殑涓嬫爣绱㈠紩鎿嶄綔, 鏈夊绱㈠紩鍊艱寖鍥存嫻? 涓嬫爣瓚婄晫鏃舵姏鍑簅ut_of_range寮傚父
   try {
      char ch = st.at(index);
   } catch(std::out_of_range) { ... }
29.string.replace(pos, num, newstring); 鐢╪ewstring浠f浛pos鍚庨潰num涓瓧絎﹀瓙涓?br /> 30.map 涔熷彨鍏寵仈鏁扮粍(associative array) 閿?鍊煎 key/value
    閿敤鏉ョ儲寮昺ap, 鍊肩敤浣滃瓨鍌ㄥ拰媯绱㈢殑鏁版嵁
    map瀵硅薄瀹氫箟, 鑷沖皯瑕佹寚鏄庨敭鍜屽肩殑綾誨瀷, 濡?
    map<string, int> word_count;
31.map鐨勬暟鎹綍鍏?br />     map<string, string> str_str;
    str_str[string("one")] = string("1"); //榪欑鏁堢巼姣旇緝浣?br />     str_str.insert(
        map<string, string>::value_type("two", "2")
    );  //榪欑鏁堢巼楂?br /> 32.鏌ユ壘騫惰幏鍙杕ap涓殑鍏冪礌
    鏈綆鍗曠殑鏂規硶:
    value = mapObj[key];
    浣嗚繖鏍鋒湁涓棶棰? 濡傛灉涓嶅瓨鍦╧ey榪欎釜閿? mapObj灝變細鎻掑叆key閿? 騫舵妸瀵瑰簲鐨剉alue鍊間負榛樿鍊? 榪欐牱寰楀埌鐨剉alue鏄棤鏁堢殑
    鎵浠? 搴旇榪欐牱鍐?br />     if(mapObj.count(key))
        value = mapObj[key];
    鎴栬呰繖鏍?
    map<keyType, valueType>::iterator iter = mapObj.find(key);
    if(iter != mapObj.end())
      value = mapObj[key];
33.浠巑ap涓垹闄ゅ厓绱?br />     erase鎿嶄綔
    mapObj.erase(key);
    榪樻湁涓ょ閲嶈澆鏂瑰紡, 璇﹁鏂囨。

    mapObj.clear(); 娓呯┖map瀵硅薄鎵鏈夊?br />

34.set瀵硅薄鎻掑叆鍏冪礌
    #include <set>
    set<setType> setObj;
    setObj.insert(key);
35.set瀵硅薄鏌ユ壘鍏冪礌
    setObj.count(key); //1鏈? 0娌℃湁
    setObj.find(key); iter涓簊etObj.end()琛ㄧず娌℃湁
36.multiset鍜宮ultimap鍏佽瑕佽瀛樺偍鐨勯敭鍑虹幇澶氭
    瀵逛簬multiset鍜宮ultimap鐨勮凱浠g瓥鐣ユ槸鑱斿悎浣跨敤find榪斿洖鐨刬terator鍜宑ount榪斿洖鐨勫?
    count = mulsetObj.count();
    multiset<type>::iterator iter;
    iter = mulsetObj.find(key);
    for(int i = 0; i < count; ++i, ++iter)
        do_something(*iter);
    鍙︿竴縐嶆柟娉曟槸浣跨敤equal_range()榪斿洖鐨刬terator鍊?br />     濡傛灉榪欎釜鍊煎瓨鍦? 鍒欑涓涓猧terator鎸囧悜璇ュ肩殑絎竴涓疄渚? 涓旂浜屼釜iterator鎸囧悜榪欎釜鍊肩殑鏈鍚庝竴涓疄渚嬬殑涓嬩竴涓綅緗?
    switch(mulmapObj.count) {
    case 0: break; //涓嶅瓨鍦?br />     case 1: //鍙湁涓欏? 鐢ㄦ櫘閫氱殑find鎿嶄綔
        multimap<keyType, valueType>::iterator iter;
        iter = mulmapObj.find(key);
        do_something(*iter);
        break;
    default: //鏈夎澶氶」
        typedef multimap<keyType, valueType>::iterator it;
        pair<it, it>pos;
        pos = mulmapObj.equal_range(key);
        for(; pos.first != pos.second; pos.first++)
            do_somethine(*pos.first);
    }
    //瀵瑰簲鐨? 鍒犻櫎鐨勮瘽鐢╩ulmapObj.erase(pos.first, pos.second);
    //涓嶆敮鎸佷笅鏍囨搷浣滄槸璁塊棶multimap鍏冪礌鐨勪竴涓檺鍒?
    mulmapObj[key]; //閿欒
37.鏍堝鍣?stack container)鏀寔鐨勬搷浣?//澶存枃浠?lt;stack>
   empty()
   size()
   pop()
   top()
   push(item)
38.鏍堢被鍨嬭縐頒負瀹瑰櫒閫傞厤鍣?container adapter)
39.緙虹渷鎯呭喌涓? 鏍堢敤瀹瑰櫒綾誨瀷deque瀹炵幇, 鏀瑰彉榪欎釜緙虹渷鍊煎彲浠ヨ繖鏍?
    stack<type, list<type>> stackObj; //鏀規垚鐢ㄥ鍣ㄧ被鍨媗ist瀹炵幇
    //涓鑸槸瀹氫箟涓涓寚閽堟爤
    class CTest;
    stack<CTest*> ctestStack;
40.鏍囧噯搴撴彁渚涗簡涓ょ椋庢牸鐨勯槦鍒? queue(闃熷垪), priority_queue(浼樺厛綰ч槦鍒?
    澶存枃浠?<queue>
41.queue鍜宲riority_queue鎿嶄綔
   empty()
   size()
   pos()
   front() //鍙兘鐢ㄥ湪涓鑸槦鍒?br />    back() //鍙兘鐢ㄥ湪涓鑸槦鍒?br />    top()  //鍙兘鐢ㄥ湪浼樺厛綰ч槦鍒?br />    push(item)



jianc 2012-03-08 17:06 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲乱码国产乱码精品精| 国产一区二区三区在线观看网站| 亚洲黄色免费网站| 女仆av观看一区| 久久久久久久久久久一区 | 免费成人性网站| 亚洲欧洲精品一区二区三区波多野1战4| 狼狼综合久久久久综合网| 欧美va天堂va视频va在线| 亚洲精品国产拍免费91在线| 99精品99| 国产一区二区在线观看免费| 免费欧美日韩| 欧美视频一区二区三区| 久久成人精品| 欧美国产高清| 午夜精品亚洲| 免费一级欧美在线大片| 亚洲一区二区三区视频播放| 欧美中文字幕在线播放| 99国产精品久久久久老师 | 久久三级视频| 欧美精品久久久久久久| 久久久久国产精品厨房| 女主播福利一区| 亚洲免费一区二区| 久久阴道视频| 亚洲自拍另类| 欧美成人精品一区| 久久精品一区二区三区中文字幕| 男女av一区三区二区色多| 午夜在线精品偷拍| 欧美黄色aaaa| 免费在线欧美黄色| 国产精品久久久久久妇女6080| 蜜桃视频一区| 国产欧美日韩麻豆91| 亚洲精品在线二区| 亚洲国产精品999| 欧美一区二区免费视频| 亚洲伊人网站| 欧美激情自拍| 欧美大片免费观看| 国产日产亚洲精品| 一本久道久久综合狠狠爱| 亚洲国产精品免费| 久久精品国语| 久久精品国产亚洲高清剧情介绍| 欧美日韩在线一区二区| 亚洲欧洲日韩在线| 在线观看一区| 久久久久久黄| 久久亚洲色图| 国模套图日韩精品一区二区| 亚洲在线观看| 先锋影音国产精品| 欧美日韩亚洲系列| 日韩天堂在线视频| 一本到12不卡视频在线dvd| 欧美顶级少妇做爰| 亚洲国产精品嫩草影院| 亚洲国产另类久久久精品极度| 久久精品亚洲一区二区| 久久久欧美精品| 狠久久av成人天堂| 久久久久久久综合日本| 欧美成人dvd在线视频| 亚洲风情在线资源站| 蜜桃精品一区二区三区| 91久久视频| 亚洲一区高清| 国产老女人精品毛片久久| 午夜精品理论片| 久久久久久久波多野高潮日日| 国产午夜一区二区三区| 久久国产一区| 欧美不卡视频一区发布| 亚洲日本va在线观看| 欧美精品性视频| 亚洲视频每日更新| 久久久久久久久久看片| 亚洲高清av| 欧美日韩国产成人在线91| 亚洲视频在线观看网站| 久久成人在线| 亚洲激情av| 欧美日韩免费观看一区=区三区| 夜夜嗨一区二区| 久久久亚洲成人| 亚洲精品少妇| 国产麻豆日韩| 欧美成熟视频| 在线视频你懂得一区| 日韩香蕉视频| 久久成人综合视频| 亚洲国产精品日韩| 欧美视频三区在线播放| 欧美一区二区三区的| 欧美激情精品久久久久久变态| 日韩视频在线观看| 国产亚洲欧洲| 欧美激情1区2区3区| 亚洲自拍偷拍麻豆| 欧美激情亚洲另类| 亚洲欧美国产高清va在线播| 亚洲国产欧美一区二区三区同亚洲 | 午夜精品网站| 亚洲国产欧美一区二区三区丁香婷| 亚洲欧美综合精品久久成人| 在线播放日韩欧美| 欧美吻胸吃奶大尺度电影| 久久久久一区二区三区| 亚洲综合成人婷婷小说| 91久久国产自产拍夜夜嗨| 久久激情中文| 亚洲欧美日韩精品久久奇米色影视 | 欧美精品成人一区二区在线观看| 亚洲你懂的在线视频| 亚洲精品一区二区三| 麻豆精品视频在线| 久久精品国产亚洲精品 | 亚洲福利在线视频| 国产午夜精品一区理论片飘花| 欧美日韩一区不卡| 欧美高清视频一二三区| 久久久国产精品一区二区中文| 亚洲综合色视频| 这里只有精品丝袜| 日韩一区二区精品| 亚洲精品影视在线观看| 亚洲国产一二三| 欧美激情91| 欧美激情二区三区| 欧美电影电视剧在线观看| 久久久久国产精品www| 欧美在线|欧美| 午夜精品视频| 午夜在线视频一区二区区别| 亚洲一区在线视频| 亚洲综合大片69999| 亚洲午夜av在线| 亚洲深爱激情| 在线视频日韩| 亚洲在线视频观看| 亚洲综合首页| 亚洲欧美日韩电影| 亚洲欧美精品一区| 午夜视频在线观看一区二区三区| 一区二区三区色| 在线亚洲精品福利网址导航| 亚洲午夜国产成人av电影男同| 一区二区三区视频观看| 亚洲一区二区毛片| 性欧美大战久久久久久久免费观看 | 亚洲精品久久久久| 一区二区三区蜜桃网| 亚洲欧美精品在线观看| 欧美一区二区三区在| 久久精品午夜| 免费亚洲一区| 亚洲精品久久久久久久久久久| 亚洲欧洲日夜超级视频| 亚洲一区二区三区国产| 久久精品国产久精国产爱| 久久综合图片| 欧美日韩另类一区| 国产日韩三区| 亚洲三级毛片| 亚洲欧美日韩系列| 另类尿喷潮videofree| 亚洲国产精品一区| 亚洲午夜国产成人av电影男同| 亚洲欧美日本日韩| 久热成人在线视频| 欧美日韩福利| 国内精品国语自产拍在线观看| 亚洲人成在线观看网站高清| 亚洲一区在线视频| 欧美成人精品| 亚洲午夜精品久久| 免播放器亚洲一区| 国产精品久久久久秋霞鲁丝| 黄色国产精品| 午夜精品久久久久久久久| 欧美成人精品不卡视频在线观看| 一本一本久久| 麻豆精品精华液| 国产精品欧美久久久久无广告| 在线欧美电影| 亚洲欧美日韩综合国产aⅴ| 欧美v国产在线一区二区三区| 亚洲香蕉伊综合在人在线视看| 麻豆亚洲精品| 国产综合色产在线精品| 亚洲无玛一区| 欧美国产日韩a欧美在线观看| 午夜精品久久久久久久久久久久 | 国产美女高潮久久白浆| 99视频在线精品国自产拍免费观看| 久久久99久久精品女同性|