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

平凡的天才

目的是為人類(lèi)造福
posts - 20, comments - 41, trackbacks - 0, articles - 6
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
在C/C++語(yǔ)言中,將一個(gè)組合數(shù)據(jù)類(lèi)型如結(jié)構(gòu)各個(gè)字段的值復(fù)制到另一個(gè)相同類(lèi)型的結(jié)構(gòu)中,可以將其對(duì)應(yīng)字段賦值。這種方法對(duì)于各種復(fù)雜的結(jié)構(gòu)如多字段結(jié)構(gòu)、嵌套結(jié)構(gòu),就要寫(xiě)很多行賦值語(yǔ)句,而且如果原來(lái)的結(jié)構(gòu)定義更改,程序代碼就要隨著更改,使用很不方便。本文給出了一個(gè)通用的結(jié)構(gòu)復(fù)制函數(shù)。
????????假定結(jié)構(gòu)的類(lèi)型為STRUCT_TYPE。為了提高效率,用指針引入兩個(gè)結(jié)構(gòu)到函數(shù)中;為了通用,這兩個(gè)指針用任意指針。函數(shù)設(shè)計(jì)的出發(fā)點(diǎn)是,每個(gè)結(jié)構(gòu)在內(nèi)存中各字段連續(xù)存放,而且,每個(gè)字段可以分解中一個(gè)一個(gè)的字節(jié)。這樣,復(fù)制結(jié)構(gòu)時(shí),可以讓兩個(gè)結(jié)構(gòu)的對(duì)應(yīng)的每個(gè)字節(jié)表示的值相等。于是,函數(shù)設(shè)計(jì)如下:


??void?struct_copy(
????void?*p_struct1,???/*結(jié)構(gòu)指針1*/
????void?*p_struct2,???/*結(jié)構(gòu)指針2*/
????unsigned?int?struct_size???/*結(jié)構(gòu)類(lèi)型長(zhǎng)度,可以用sizeof(STRUCT_TYPE)代入*/
?????)
????{
?int?count=0;
?char?*p_char1,*p_char2;
?
?p_char1=(char?*)p_struct1;
?p_char2=(char?*)p_struct2;
?
?while(count!=struct_size)
?{
??*p_char1=*p_char2;
??p_char1++;
??p_char2++;
??count++;
?}
????}
這個(gè)函數(shù)在PC機(jī)和康柏ALPHA小型機(jī)上使用效果不錯(cuò)。
????????有了這個(gè)函數(shù),如有類(lèi)型同為STRUCT_TYPE的兩個(gè)結(jié)構(gòu)struct1和struct2,要使struct1各字段的值與struct2各字段的值相等,也就是要把struct2各字段的值賦給struct1,就可以這樣調(diào)用以上函數(shù):?struct_copy(&struct1,?&struct2,?sizeof(STRUCT_TYPE));??????
????????以上函數(shù)簡(jiǎn)單、通用、有效,對(duì)任意結(jié)構(gòu)類(lèi)型有效,也適合于其它復(fù)雜數(shù)據(jù)類(lèi)型,如聯(lián)合(union)等。有趣的是,它也適合與整形、浮點(diǎn)型等簡(jiǎn)單數(shù)據(jù)類(lèi)型的變量之間復(fù)制。
????????此函數(shù)的設(shè)計(jì)思想可以運(yùn)用在很多方面,如進(jìn)程之間、計(jì)算機(jī)之間通信時(shí),可以在通信的一方將某些數(shù)據(jù)類(lèi)型拆分成字節(jié),到達(dá)通信的另一方再將收到的字節(jié)拼成相應(yīng)的數(shù)據(jù)類(lèi)型,這比按位傳遞要簡(jiǎn)單、高效得多。

Feedback

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-29 23:34 by 踏雪赤兔
博主貎似在寫(xiě)memcpy()函數(shù)的具體實(shí)現(xiàn)……

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 00:32 by Test
有必要這樣嗎, memcpy就解決了.

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 08:29 by 漂舟
樓主似乎沒(méi)用過(guò)memcpy(...);哈哈,猜測(cè)

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 08:31 by 漂舟
如果你沒(méi)用過(guò)memcpy(...),而自己悟出需要個(gè)這樣的函數(shù),
就有點(diǎn)NB了。

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 16:32 by noname
C++ 的對(duì)象默認(rèn)的賦值操作就是如此, 何必再寫(xiě)函數(shù)。比如:
struct foo
{
int a;
char b;
};

void main()
{
foo f, g;
f.a=f.b=0;
g = f;
}

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-01 07:10 by 琛思者
這樣的函數(shù)似乎只能表層復(fù)制,如果對(duì)象含有指針成員好像會(huì)出錯(cuò)啊

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-02 23:14 by deling
做你有把握的事!

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-10 15:32 by 平凡的天才
我測(cè)試過(guò),如果內(nèi)含指針一樣可以使用,但是必須保證存儲(chǔ)空間是連續(xù)的!

# re: 通用的復(fù)合數(shù)據(jù)類(lèi)型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-13 10:05 by gufan
暈死!竟然是一個(gè)字節(jié)一個(gè)字節(jié)的拷貝.

只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩精品欧美日韩精品| 麻豆freexxxx性91精品| 亚洲成色www久久网站| 在线日韩中文字幕| 性久久久久久久久久久久| 国产精品theporn| 国产欧美日本一区视频| 国产一区二区三区在线观看视频 | 免费成人av| 亚洲精品日韩精品| 亚洲欧美国产另类| 久久国产88| 日韩视频在线你懂得| 亚洲女爱视频在线| 久久久人成影片一区二区三区观看| 欧美激情第3页| 国产婷婷色综合av蜜臀av| 亚洲欧洲日本国产| 久久精品九九| 亚洲精品久久久久久久久| aⅴ色国产欧美| 久久精品国产99国产精品澳门| 欧美成人精品福利| 国产精品区二区三区日本| 最新国产精品拍自在线播放| 亚洲日韩欧美视频| 国产美女诱惑一区二区| 在线视频欧美日韩精品| 欧美国产精品久久| 欧美一区二区三区免费大片| 欧美日韩一本到| 日韩视频欧美视频| 欧美jizz19性欧美| 欧美一级日韩一级| 一本色道久久综合一区| 亚洲成色最大综合在线| 国产精品久久久久久模特| 一区二区三区四区国产| 欧美在线一区二区三区| 国产精一区二区三区| 另类天堂视频在线观看| 亚洲字幕一区二区| 亚洲裸体在线观看| 欧美在线欧美在线| 亚洲影院在线观看| 999在线观看精品免费不卡网站| 国产亚洲制服色| 日韩一二三区视频| 亚洲人午夜精品免费| 欧美一区激情| 午夜激情亚洲| 性欧美精品高清| 国产一区二区三区免费在线观看 | 亚洲欧美国内爽妇网| 免费观看日韩av| 亚洲国产精品一区| 亚洲电影网站| 欧美激情一区二区久久久| 一区二区三区视频在线| 久久综合久色欧美综合狠狠| 麻豆精品91| 国产精品欧美久久久久无广告| 亚洲精品1区| 欧美四级在线| 性欧美video另类hd性玩具| 欧美激情精品久久久久久蜜臀| 久久综合久色欧美综合狠狠| 亚洲三级影院| 亚洲日本成人女熟在线观看| 久久综合导航| 欧美不卡福利| 亚洲三级电影在线观看| 可以看av的网站久久看| 模特精品在线| 最新69国产成人精品视频免费| 久久久成人网| 一本久道久久综合狠狠爱| 欧美高清视频一区二区| 亚洲国产视频一区| 国产美女一区二区| 亚洲欧美日韩成人| 亚洲乱码日产精品bd| 欧美激情亚洲另类| 欧美精品一区二区三区蜜臀| 欧美日韩精品系列| 99re热这里只有精品视频 | 欧美视频导航| 亚洲永久在线观看| 亚洲欧洲在线视频| 欧美另类女人| 亚洲无毛电影| 91久久在线观看| 欧美片在线播放| 亚洲一区二区三区四区在线观看| 久久av一区二区三区| 尤物精品在线| 亚洲最新中文字幕| 欧美在线视频日韩| 亚洲高清资源| 国产精品xxx在线观看www| 欧美在线啊v一区| 亚洲国产精品电影在线观看| 一区二区三区免费在线观看| 国产精一区二区三区| 另类尿喷潮videofree| 一区二区三区三区在线| 欧美电影免费| 欧美激情视频一区二区三区在线播放 | 亚洲天堂免费在线观看视频| 久久国产精品72免费观看| 欧美国产一区二区在线观看| 国产欧美精品在线播放| 欧美阿v一级看视频| 亚洲一区三区视频在线观看| 亚洲大胆女人| 欧美在线啊v| 国产手机视频一区二区| 欧美激情久久久久| 久久精品亚洲| 亚洲天堂久久| 亚洲日本中文字幕| 老**午夜毛片一区二区三区| 亚洲综合好骚| 一区二区三区高清不卡| 在线日韩精品视频| 免费观看亚洲视频大全| 亚洲视频中文| 亚洲精品小视频在线观看| 亚洲精品久久久久久久久久久久| 国产乱码精品| 国产精品第一区| 亚洲一区二区成人在线观看| 亚洲国产乱码最新视频| 久久久久久穴| 亚洲国产综合91精品麻豆| 欧美成人精品在线观看| 久久国产精品久久久久久久久久| 亚洲少妇最新在线视频| 亚洲欧美成人| 亚洲视频香蕉人妖| 夜夜爽夜夜爽精品视频| 亚洲精品乱码| 日韩一二三在线视频播| 国产精品一区在线播放| 国产精品va在线播放| 欧美三区视频| 欧美三级电影网| 国产精品xvideos88| 国产精品v欧美精品∨日韩| 欧美日韩精品三区| 欧美午夜美女看片| 久久久亚洲欧洲日产国码αv | 久久精品国产亚洲aⅴ| 欧美一区二区三区在线免费观看| 亚洲欧美精品伊人久久| 亚洲色诱最新| 亚洲男人av电影| 小黄鸭精品密入口导航| 久久爱www久久做| 欧美在线视频一区二区三区| 久久精品五月| 欧美大胆人体视频| 欧美日韩成人综合在线一区二区 | 欧美精品自拍| 欧美午夜在线| 国产视频不卡| 亚洲国产cao| 99精品免费| 午夜性色一区二区三区免费视频| 欧美一区二区成人6969| 久久久久久久999精品视频| 日韩午夜视频在线观看| 亚洲无限av看| 中文在线资源观看视频网站免费不卡| 亚洲国产精品毛片| 夜夜躁日日躁狠狠久久88av| 亚洲免费婷婷| 嫩草国产精品入口| 亚洲免费观看在线观看| 欧美一区二区日韩| 欧美99在线视频观看| 国产精品毛片大码女人| 欲色影视综合吧| 亚洲一区视频| 欧美成人免费一级人片100| 99精品视频免费全部在线| 久久岛国电影| 欧美日韩一区二区三区免费| 国产一区二区三区在线免费观看 | 国产伦精品一区二区三区视频黑人| 国产亚洲欧美日韩在线一区| 亚洲伦理一区| 久久乐国产精品| 99re6热只有精品免费观看| 久久精品在线播放| 国产精品对白刺激久久久| 亚洲国产美女精品久久久久∴| 性一交一乱一区二区洋洋av| 亚洲国产精品一区二区第一页| 亚洲欧美清纯在线制服|