青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

loop_in_codes

低調(diào)做技術(shù)__歡迎移步我的獨(dú)立博客 codemaro.com 微博 kevinlynx

共6頁: 1 2 3 4 5 6 
re: 正確處理隨機(jī)選擇 Kevin Lynx 2009-03-23 13:18
@陳梓瀚(vczh)
我給徹底搞混了。回頭對比兩段代碼,囧,居然是一樣的。
那第一種方法也應(yīng)該是公平的。我把自己搞昏了,也把好幾個策劃搞昏了。

這次臉丟大了。
單就這篇博文而言,除了展示了段腳本代碼外,沒什么有用的東西。我同意cppexplore的說法
re: 面試中碰到的一個C++陷阱 Kevin Lynx 2009-03-18 14:08
@wocow3
我剛寫了點(diǎn)測試代碼,發(fā)現(xiàn)我們樓上的幾位觀點(diǎn)都有點(diǎn)小錯誤。
是的,成員函數(shù)指針比普通的指針復(fù)雜得多。例如:
class Test
{
public:
virtual void print() {}
};

printf( "%d\n", sizeof( &Test::print ) );

就以上代碼,我在VS2005下得出的結(jié)果是4(如我們所說),但是在gcc下得出的卻是8!而gcc對于一般的函數(shù)(C函數(shù))指針卻是4.

并且,
typedef void (Test::*mem_fn_ptr)();
mem_fn_ptr p = &Test::print;
printf( "%d\n", p );
的結(jié)果在不同的編譯器上也不同,gcc得出的如我所想,是一個偏移值,而VC則始終給出一個真正的地址值。更為奇怪的是,在gcc下去掉virtual關(guān)鍵字,即讓print為一個普通函數(shù),那么其值也為一個真正的地址值。

看來,這個面試官考的也許正是這個。無論如何,一個成員函數(shù)指針不同于普通指針。
參考:http://www.codeproject.com/KB/cpp/FastDelegate.aspx
re: 面試中碰到的一個C++陷阱 Kevin Lynx 2009-03-18 13:28
大家應(yīng)該明確下這里討論的東西,【虛函數(shù)指針】,終究來說還是指針,32位機(jī)器上就是32位。我覺得博主在這里和大家討論并沒有針對指針這個概念。成員函數(shù)指針也是個指針,也是32位,但是其指針值不同一般指針。

面試官問你的問題如果類似于:xxxx指針有多大。。那很明顯,要么是他表述問題的能力有問題,要么是其真的不懂這些東西。面試你的人不見得就比你牛。
其實(shí)這樣說并不全面。
unix發(fā)展到后來,已經(jīng)并不僅僅指的是60年代那個開發(fā)出來的操作系統(tǒng),而成為一種標(biāo)準(zhǔn),基本上凡是符合該標(biāo)準(zhǔn)的OS都可稱為unix。linux,bsd,solaris之類都可以被稱為unix。

詳見:
http://en.wikipedia.org/wiki/Unix
http://en.wikipedia.org/wiki/Single_UNIX_Specification
unix規(guī)格說明文檔中描述,凡是符合此標(biāo)準(zhǔn)的OS,都可使用unix商標(biāo)。(大致是這樣的)
@夢在天涯
這個例子是用于判定一個字符串是否全部是數(shù)字,不過例子中寫的有問題,應(yīng)該是:
int is_number( const char *str )
{
while( *str != 0 )
{
if( !isdigit( *str++ ) ) return 0;
}
return 1;
}

謝謝提醒。
re: STL容器誤用一則 Kevin Lynx 2009-03-11 09:22
存檔的指針指向的內(nèi)存是由你自己來維護(hù)的,不是set來維護(hù),所有有內(nèi)存泄露,也是你自己的錯誤。

std::sort不能對std::list進(jìn)行排序,那是因?yàn)閟td::sort只能對random-access iterator進(jìn)行操作,std::list::iterator不是random-access的。所以std::list才自己提供了sort函數(shù)。

詳細(xì)參看std::sort文檔
@陳梓瀚(vczh)
貌似是的,后面對于錯誤的處理,甚至最基本的錯誤報告(定位)都存在問題。對這塊不熟,沒管了。
cout << this->foreach( this->test1, 4, 5);
改為:
cout << this->foreach( &GridTest::test1, 4, 5);

對于C函數(shù)來說,函數(shù)名直接表示其函數(shù)地址,但是對于成員函數(shù)而言,則必須使用&ClassName::memFn才表示該成員函數(shù)的地址。gcc對C++語法要求更嚴(yán)格。

第三個確實(shí)詭異,不過C支持那樣的代碼是有原因的:
http://en.wikipedia.org/wiki/C_trigraph#C
為了支持一些沒有\(zhòng)符號的鍵盤。
re: 玩了一下alienbrain的EventsScript Kevin Lynx 2009-03-01 13:22
@陳梓瀚(vczh)
這個宏定義在哪里?定義在代碼文件里的話肯定不起作用(會把定義的地方也簽入),在工程設(shè)置里定義會簽出工程文件。
@劍神一笑

你說的有道理。我也越來越喜歡UNIX的東西了。:)
......16G..............
PEB結(jié)構(gòu)是TEB結(jié)構(gòu)的成員?
struct TEB
{
...
struct PEB
{
....
??

MSDN:
typedef struct _TEB{
BYTE Reserved1[1952];
PVOID TlsSlots[64];
...

typedef struct _PEB{
BYTE Reserved1[2];
BYTE BeingDebugger; //是有個標(biāo)志標(biāo)示進(jìn)程是否被調(diào)試
...
從你的文章來看,PEB應(yīng)該在TEB偏移0x30H字節(jié)的地方,但是從MSDN的TEB結(jié)構(gòu)定義來看,PEB位于Reserved1[1952]中的某個位置?
re: 匯編,讓你更拉風(fēng) Kevin Lynx 2009-01-10 10:02
沙發(fā)
re: 小寫了個XML解析器 Kevin Lynx 2009-01-08 09:07
@胖dudu
不用自己做了。BSD(相關(guān)組織)早使用宏寫了一套數(shù)據(jù)結(jié)構(gòu),鏈表,樹,等等。
re: VS2005斷點(diǎn)失效的問題 Kevin Lynx 2009-01-05 08:59
這種情況不解決辦法有 很多。你這個方法我沒用過。最簡單的方法就是ctrl+a, ctrl+f重新格式化這個‘不可調(diào)試’的CPP文件,然后編譯該CPP文件,一般就可以解決。當(dāng)然,有時候也無法解決。
@CK
這里說的就是DEBUG模式。
re: 讓人無語的boost[未登錄] Kevin Lynx 2008-12-28 18:16
:)
不開RTTI,typeid只對靜態(tài)類型有效了,也就是只對編譯器就可以確定的類型有效。
re: 最近接觸的東西 Kevin Lynx 2008-12-12 17:43
@aa
你對我寫這些代碼的前提誤會了。這些代碼是我讀書的時候在寢室寫的。整個周期沒有那么復(fù)雜,就是自己決定做個什么小游戲,然后寫設(shè)計(jì)文檔,然后開始編碼,游戲運(yùn)行基本良好就算完成。然后開始寫下個東西。那個時候是每天早上8點(diǎn)起床到晚上1點(diǎn)左右,排除吃飯時間,基本坐在電腦前。當(dāng)然,每做完一個東西的時候會有幾天的休息。也會有很長一段時間用于看書。我還是肯定地告訴你,是10W行,可以用行數(shù)統(tǒng)計(jì)工具統(tǒng)計(jì)的10W行。當(dāng)然,我承認(rèn),這10W行代碼沒什么技術(shù)含量。
re: 最近接觸的東西 Kevin Lynx 2008-12-12 15:51
@aa
我認(rèn)為注釋、空行都算作源代碼的一部分。如果你面對沒有空行和注釋的代碼,你會覺得這個代碼怎樣?沒有統(tǒng)計(jì)第三方庫代碼,自己的代碼可能有重復(fù)統(tǒng)計(jì)。需要的話我把這些代碼發(fā)你你統(tǒng)計(jì)。
re: VIM學(xué)習(xí) Kevin Lynx 2008-12-11 09:17
vim可以讓你的手不用離開鍵盤去摸鼠標(biāo),甚至不用去摸方向鍵。
re: cygwin 使用 Kevin Lynx 2008-12-11 09:16
當(dāng)初在選擇cygwin和mingw(雖然兩者功能不盡相同)的時候,本來是選擇cygwin的,因?yàn)橛懈嗟膌inux工具可用,mingw則可能只是一個gcc的移植,用setup在線安裝的時候總是不成功,懷疑是網(wǎng)速過慢。于是只好裝mingw了。
re: 小寫了個XML解析器 Kevin Lynx 2008-12-11 08:50
@肥仔
- -!
我恰好說了,如果parent直接保存children,好占空間的,例如你這個vector,雖然我的處理方式累了點(diǎn)。- -!
- -|

我還以為是什么。。。

@嘯天豬
STL predicator不會要求是純虛函數(shù)性質(zhì),唯一的要求就是這是一個具有operator()性質(zhì)的東西,普通C函數(shù),重載了operator() 的類均可。我文章里說的問題在于,函數(shù)不是:
bool operator() ( .... ) const // 需要加上const
{
}

TU是不是編譯單元?如果是標(biāo)準(zhǔn)規(guī)定,哥們可以給我下文檔鏈接不?

@Xw.Y

我的問題同你的本質(zhì)是一樣的。

@Jetricy
作為一個STL USER,我還是要捍衛(wèi)下STL的質(zhì)量。
@浪跡天涯
老實(shí)說,實(shí)際項(xiàng)目里還沒用過memcached。
@浪跡天涯
改造網(wǎng)絡(luò)模型?不清楚。我只知道使用別人的庫。- -|
雖然以前知道你發(fā)的這些文章,但是很少看過,理由很簡單,我覺得要用一些閑暇時間去看你的文章,是不夠的。

今天終于看完了你這個系列的第二篇,并且看了代碼。大致上算理解了你這篇文章講的東西。感覺就是,設(shè)計(jì)和代碼都很老練。
據(jù)以前在金山工作過的兩個朋友所說,金山加班嚴(yán)重(就是成都金山),不敢去。想多活幾年。
@Fox
從設(shè)計(jì)角度來看,即使destructor是trivial的,但是因?yàn)榛惡团缮惔嬖诙鄳B(tài)的使用,即對于應(yīng)用層而言有類似的代碼:
base *pObj = new derived();
那么,destructor都應(yīng)該為virtual的。
re: 讓人無語的boost[未登錄] Kevin Lynx 2008-10-15 23:45
@littlewater
boost::any用到了typeid,這個東西不開RTTI還是可以工作的,但是對于具有vtable的類,要讓typeid工作,就需要開RTTI。
@megax
你這樣說有點(diǎn)不對,指針參數(shù)不見得就會保存該指針。
事實(shí)上,doc確實(shí)沒保存printer,粗略地看了下這塊的代碼,Accept純碎是將一些信息輸出到printer而已。

今天發(fā)現(xiàn)boost果然有這么一個宏庫:
http://www.boost.org/doc/libs/1_36_0/libs/preprocessor/doc/index.html

然后在<C++ Template Metaprogramming>一書里也看到類似的闡述:
http://www.boostpro.com/tmpbook/preprocessor.html

原來我又重造了一次輪子,還沒造好。 = =|
剛我自己復(fù)制了你的代碼嘗試了下,
TinyXml 2.5.3 vs2005 沒有出現(xiàn)你說的錯誤 = =
我也閱讀了TiXmlPrinter 的文檔,發(fā)現(xiàn)我可能說錯了。
我用TinyXML雖然沒用過TiXmlPrinter ,但是,從你的代碼來看,我個人感覺就有點(diǎn)問題:

doc.Accept( &printer );

從接口使用來看,Accept接受了一個指針,那么doc內(nèi)部可能只保存該指針,而不是完全復(fù)制printer對象,那么,在BuildXMLFile退出后,printer對象destruct。假設(shè)Document和Printer在關(guān)于Accept這個動作之間有指針?biāo)袡?quán)改變的動作,那么這個自動destruct動作就可能導(dǎo)致問題。

將這些代碼都放在同一個作用域里不出問題,也是我做這樣推斷的理由之一。
re: 代碼自動生成-宏遞歸思想 Kevin Lynx 2008-09-17 09:52
@littlewater
依然不明白什么是“這一輪繼續(xù)被遞歸”,更不明白你寫下的
“DEF_XXX( template <typename R, typename P1> class functor<R(P1)>; )

是為了說明什么。

我推測,你的意思是說,當(dāng)宏參數(shù)本身也是一個宏,而這個宏的宏體內(nèi)有逗號時,將會出現(xiàn)歧義:
#define PARAM typename P1,
#define DEF_PARAM( a, b ) something

DEF_PARAM( PARAM, something ); 時,在展開宏體時就會出現(xiàn)DEF_PARAM( typename P1, , something ) 就會出現(xiàn)兩個逗號。

解決這個問題的辦法時,不讓PARAM宏提前展開。

宏展開的一個規(guī)則是:如果某個宏(如DEF_PARAM)的宏實(shí)參也是一個宏(如PARAM),那么在展開這個宏之前,會先展開宏實(shí)參,并將展開后的宏體替換到宏中,然后第二次掃描,如果還有宏,則繼續(xù)展開。

所以,解決辦法就是,讓實(shí)參不是一個宏!

宏展開還有一個規(guī)則是:即使宏實(shí)參是一個宏,但是這個宏具有括號屬性,例如
#define PARAM( n ) ,typename P##n 中PARAM宏就是這么一個具有括號屬性的宏,該宏作為宏實(shí)參時,如果沒有提供其參數(shù),那么它將被作為普通符號,而不是一個宏。

因此,在代碼kl_macro_params.h中:
#define PARAM( n ) ,typename P##n
#define DEF_PARAM( n ) REPEAT_##n( n, PARAM, PARAM_END )

若DEF_PARAM( 2 ) 時,會得到REPEAT_2( 2, PARAM, PARAM_END )展開REPEAT_2宏時,并不會先展開PARAM,因?yàn)镻ARAM是一個具有括號屬性的宏,如果展開,那么將出現(xiàn)你說的問題。
re: 代碼自動生成-宏遞歸思想 Kevin Lynx 2008-09-16 16:10
#define PARAM( n ) ,typename P##n
#define PARAM_END typename P1

去掉那個逗號不就可以了?

有些不明白littlewater意思。
@littlewater
我感覺更多地是對線程的描述吧?
@czc
非常高興有人可以給我提出如此寶貴的意見!我覺得很少有人會把我寫的東西認(rèn)真讀過,甚至相關(guān)代碼。

1)我覺得你是對的,我認(rèn)為只要類模板被實(shí)例化,就相當(dāng)于產(chǎn)生了一個類,那么就會產(chǎn)生這個static變量。但是typedef很可能沒有實(shí)例化類模板,所以我覺得你是對的,但是如何去證明這一點(diǎn)?

2)你說的完全正確。當(dāng)lua_binder被用于實(shí)際項(xiàng)目時,我也發(fā)現(xiàn)了這個問題,所以最后我只得用一個ID去區(qū)分這些binder:
template <typename Prototype, long id>
class lua_binder;
上層代碼就不得不自己提供一個唯一的ID,很丑陋,但是我沒有想到優(yōu)雅的解決辦法,不知道你有沒有什么看法?
加上正常關(guān)閉closesocket之類,在程序未退出前不要ctrl+c強(qiáng)制退出。你試下這些。我做實(shí)驗(yàn)也是在WIN平臺下。
@thinkinnight
發(fā)送RST通常都是因?yàn)楫惓M顺鰧?dǎo)致的。可能你沒有正常關(guān)閉。
@dikatour
這個測試?yán)哟_實(shí)可能出現(xiàn)這樣的問題。但是在klhttpd中則不會存在,response的內(nèi)容都交給應(yīng)用層去做。

re: *a++與(*a)++的區(qū)別[未登錄] Kevin Lynx 2008-09-01 11:43
*A++ 先返回A,然后計(jì)算*A,那么這個表達(dá)式返回的值就是*A,然后A++,將A自身改變

(*A)++,先計(jì)算*A的值,這個表達(dá)式返回的值就是*A,然后A指向的變量值++

average的例子直接取得<C++ template>呀,模板遞歸的例子也是模板元里的常見例子。

這些東西有什么用?當(dāng)你有這個思想時,你會發(fā)現(xiàn)它非常有用。說沒用的人,那是他自己根本不懂。
re: "multiple definition of" 錯誤 Kevin Lynx 2008-08-27 08:59
概念性問題而已。

const int a = 12; 表示a 是個常量
const char * STR_TEST = "Hello world!";表示STR_TEST指向的內(nèi)容是常量,但其本身(作為一個指針變量而言)不是一個常量。
所以:
char * const STR_TEST = ".." 即可
cppblog人才輩出,不敢說話了。
我是真的來灌水......
通過functor,可以做到將成員函數(shù),C式函數(shù),operator(),等綁定為線程函數(shù).
我覺得這種方式起碼比繼承重寫某個虛函數(shù)來得靈活.
看來很多人都偏向于回調(diào)啊。我剛開始也打算用回調(diào),但是leader說這樣很麻煩。我們原有的腳本系統(tǒng)就是采用掛起的方式。如果采用回調(diào),那么對于sleep這樣的操作你們是怎么做的?
@創(chuàng)
確實(shí),這個也算不做造輪子。之前我基本上將SGI的內(nèi)存池翻譯成C代碼,所以我對那一塊比較熟悉。一看你的代碼,我就覺得很眼熟。:D

@金哥
同意你的說法。我覺得我們周圍有很多程序員都抱著這樣的想法。他們總以“不重造輪子”的觀點(diǎn)告誡自己,從而不知道很多東西的底層實(shí)現(xiàn)原理。就像有些程序員以“盲目的優(yōu)化只會適得其反”這樣觀點(diǎn)為理由,而忽視了優(yōu)化的重要性一樣。

不重造輪子,是基于你懂得造輪子的原理基礎(chǔ)上的。而如果你自己都不懂,連重造輪子的能力都沒有,那基本就比重造輪子的人還差了。
共6頁: 1 2 3 4 5 6 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            在线成人h网| 欧美14一18处毛片| 国内激情久久| 国产色婷婷国产综合在线理论片a| 欧美久久久久| 欧美激情综合网| 欧美三级欧美一级| 国产精品乱码妇女bbbb| 国产欧美1区2区3区| 国际精品欧美精品| 亚洲国产一区在线| 欧美.www| 国产精品久久久久一区二区三区共 | 欧美一区午夜视频在线观看| 欧美在线黄色| 欧美国产日韩一二三区| 亚洲毛片av| 欧美一级二区| 欧美成人69| 国产精品影片在线观看| 在线播放不卡| 中文精品视频一区二区在线观看| 欧美一级淫片aaaaaaa视频| 免费成人黄色片| 99视频精品| 久久综合久久久| 国产欧美在线观看| 日韩写真在线| 久久久之久亚州精品露出| 一本色道88久久加勒比精品| 免费在线欧美视频| 老司机精品视频网站| 欧美性开放视频| 性刺激综合网| 欧美女激情福利| 国产亚洲一区二区三区在线播放| 伊人久久av导航| 性做久久久久久| 日韩视频免费观看| 久久人人精品| 国产性做久久久久久| 亚洲性线免费观看视频成熟| 亚洲电影欧美电影有声小说| 欧美一区1区三区3区公司| 欧美天堂亚洲电影院在线观看| 在线观看不卡| 久久九九精品99国产精品| 亚洲美女少妇无套啪啪呻吟| 狂野欧美激情性xxxx欧美| 国产一区二区激情| 欧美一区二区三区在线| 亚洲视频免费在线| 欧美日韩在线另类| 一本久久综合亚洲鲁鲁五月天| 欧美承认网站| 欧美成人黄色小视频| 亚洲国产精品v| 欧美福利视频一区| 乱人伦精品视频在线观看| 国产女精品视频网站免费| 亚洲在线不卡| 亚洲一级在线观看| 国产精品综合不卡av| 欧美一区二区三区久久精品茉莉花 | 国产日韩综合| 欧美一区二区三区视频免费| 亚洲视频一起| 国产婷婷色一区二区三区在线 | 亚洲欧美激情诱惑| 国产精品综合| 久久久久在线| 看片网站欧美日韩| 亚洲精品色婷婷福利天堂| 亚洲精品美女在线观看| 欧美三日本三级三级在线播放| 亚洲永久免费| 亚洲欧美日韩在线不卡| 国内精品一区二区三区| 欧美1区3d| 欧美久久久久| 久久成人免费网| 裸体一区二区| 亚洲一区二区三区精品在线| 国产精品嫩草99av在线| 国产精品日韩一区二区| 欧美日韩三区| 亚洲福利视频免费观看| 欧美一区二区三区久久精品| 亚洲欧美成人网| 一区二区三区在线视频观看| 亚洲国产精品v| 欧美屁股在线| 久久国产黑丝| 欧美在线视频免费| 亚洲国产精品一区二区尤物区| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美不卡视频一区| 欧美风情在线观看| 亚洲女女女同性video| 欧美在线视频导航| 亚洲精品一区二区网址| 欧美一区二区三区成人 | 亚洲一区欧美激情| 久久精品国产999大香线蕉| 99re热精品| 久久精彩视频| 亚洲一区制服诱惑| 麻豆久久精品| 久久精品视频在线看| 欧美日本国产一区| 麻豆精品一区二区av白丝在线| 欧美日韩国产精品自在自线| 麻豆91精品| 国产目拍亚洲精品99久久精品| 亚洲国产综合视频在线观看| 国内精品**久久毛片app| 亚洲午夜一级| 亚洲靠逼com| 噜噜噜躁狠狠躁狠狠精品视频| 久久不射中文字幕| 国产精品免费视频xxxx| 亚洲精品中文在线| 亚洲精品综合在线| 麻豆91精品| 免费观看成人网| 国产一区二区在线观看免费| 亚洲专区一二三| 亚洲欧美日本日韩| 国产精品极品美女粉嫩高清在线| 亚洲国产精品999| 91久久精品美女高潮| 久久亚洲国产成人| 麻豆成人综合网| 激情欧美一区二区三区在线观看| 午夜日韩在线| 久久久久久9| 精品白丝av| 久久久久国产精品一区二区| 国产精品sm| 亚洲免费在线精品一区| 欧美一区二区三区在线免费观看| 国产精品久久二区| 亚洲一区欧美| 久久久国产成人精品| 狠狠色综合网站久久久久久久| 欧美一区二区免费| 美女黄网久久| 亚洲精品永久免费| 欧美日韩国产片| 亚洲婷婷免费| 久久精品伊人| 亚洲国产视频一区二区| 欧美啪啪一区| 午夜精品一区二区三区在线视| 久久九九久久九九| 亚洲精品久久久久久久久久久久| 欧美成人精品福利| 亚洲毛片在线| 久久国产免费看| 亚洲精品视频在线播放| 欧美三级视频| 欧美在线影院在线视频| 欧美1区2区3区| 亚洲图片欧美一区| 国产自产精品| 欧美日本韩国一区| 午夜精品福利在线| 亚洲国产精品久久| 欧美一区二区精品久久911| 亚洲国产va精品久久久不卡综合| 欧美日本一区二区高清播放视频| 亚洲女性裸体视频| 亚洲经典视频在线观看| 欧美亚洲日本一区| 亚洲精品久久久一区二区三区| 国产精品日韩久久久| 久久亚洲综合| 亚洲一区3d动漫同人无遮挡| 欧美大片一区二区| 欧美在线3区| 在线亚洲欧美视频| 在线观看亚洲视频啊啊啊啊| 国产精品a久久久久久| 蜜桃av一区二区在线观看| 亚洲影院在线观看| 亚洲精品欧美专区| 男女激情视频一区| 欧美资源在线| 亚洲一区二区三区在线播放| 亚洲大黄网站| 国产亚洲欧美中文| 国产精品久久久久久模特| 免费成人高清视频| 欧美一区午夜精品| 亚洲在线观看视频网站| 日韩一级在线| 亚洲日本成人网| 亚洲第一区在线| 女生裸体视频一区二区三区| 久久久亚洲精品一区二区三区|