• <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>

            那誰的技術博客

            感興趣領域:高性能服務器編程,存儲,算法,Linux內核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數據加載中……

            (C++)一個愚蠢的錯誤

            #include <string.h>
            #include 
            <string>
            using namespace std;

            typedef 
            struct Test
            {
                
            string name;
                
            int    a;
            }Test;

            int main()
            {
                Test tTest;
                memset(
            &tTest, 0sizeof(Test));

                
            return 0;
            }

            立此為據,長點記性.


            posted on 2008-06-06 21:30 那誰 閱讀(4877) 評論(23)  編輯 收藏 引用 所屬分類: C\C++

            評論

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            #include <string.h>
            #include <string>
            很有才
            2008-06-06 21:44 | 羅賓李

            # re: (C++)一個愚蠢的錯誤[未登錄]  回復  更多評論   

            暈倒
            chinaunix上的是你哦,我是voipexplore。string內存布局不透明,只能用new類,不能用malloc類。
            另樓上 包含string.h 是為了用memset
            2008-06-06 22:00 | CppExplore

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            @羅賓李
            string.h是C中的函數,使用memset的頭文件,string就不必說了吧?我還不至于犯string和string.h不分的錯誤.
            2008-06-06 22:17 |

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            @CppExplore

            以后注意兄弟的ID了:)
            2008-06-06 22:22 |

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            C++里的結構就是類,不可以memset哦
            2008-06-07 00:56 |

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            錯誤就是 memset( ...string ) ?

            有點巧,我同事也犯過這個錯。:D
            2008-06-07 09:27 | Kevin Lynx

            # re: (C++)一個愚蠢的錯誤[未登錄]  回復  更多評論   

            長知識了。
            2008-06-07 13:25 | ron

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            能否請樓主詳細解說一下錯誤?
            2008-06-07 15:01 | kam

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            可以正常執行啊!可以解釋一下么?謝謝!!
            2008-06-07 20:24 | 林茂

            # re: (C++)一個愚蠢的錯誤[未登錄]  回復  更多評論   

            樓上的,C++里結構就是類,而不是原生的C結構。用memset會把類里的一些必要數據也清零。比如如果類有虛函數,則就有虛表指針,你用memset會把虛函數表指針置為0,這樣你的類還有多態嗎,你的程序還是健壯的嗎
            2008-06-07 22:51 | christanxw

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            #include <cstring>
            #include <string>
            2008-06-09 18:05 | Wang Feng

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            @christanxw
            thanks for explanation
            2008-06-09 18:22 | 林茂

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            OK, mark 下
            2008-06-10 10:21 | 零宇

            # re: (C++)一個愚蠢的錯誤[未登錄]  回復  更多評論   

            ......我也這么做過。。。。
            2008-06-12 19:28 | 楊粼波

            # re: (C++)一個愚蠢的錯誤[未登錄]  回復  更多評論   

            @創
            “C++對我而言就是有STL帶class能處理多態,繼承的C. ”
            最初的C++大體是這樣,除了STL。
            然而,現在還這么想的話,犯下這個錯誤是必然——C++的對象模型遠不止C那么簡單,背后有很多事情需要注意的。甚至,有時候構造函數是否為inline就決定了代碼是否為二進制兼容。
            2008-06-15 19:53 | raof01

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            看完后,嚇出一身汗,對內存對象模型的理解實在不夠深入。
            2008-06-15 23:30 | alexandercer

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            不能把一個string型的對象memset了。俺對CString對象做過相同的操作,結果,自然所崩潰了。
            2008-06-19 16:30 | abettor

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            我只學過C++ 沒用過這樣的用法,有構造函數為什么還要如此呢
            2008-07-02 20:13 | foxtail

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            這種錯誤,我一般不會犯。
            因為結構體里我絕對不會放類對象,我只會放基本類型數據,
            如果有類對象,我一定會放在類里,如果是用到類,一定會把memset要不放在構造函數里,要不就放在成員函數里
            2008-10-13 15:53 | x

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            學習了。
            2009-09-24 19:41 | kiven

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            額..struct里頭的string不能按字節memset吧。。。
            2010-01-26 00:10 | qiuxiafei

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            不錯,學習了
            2010-02-10 18:51 | wantukang

            # re: (C++)一個愚蠢的錯誤  回復  更多評論   

            不過是個慣性問題
            2010-09-01 09:30 | lcm
            狠狠色丁香婷婷综合久久来来去| 久久久国产精品福利免费| 久久青青草原精品影院| 国产精品一区二区久久国产| 国产精品热久久毛片| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 天天爽天天狠久久久综合麻豆| 久久亚洲精精品中文字幕| 久久精品国产99久久丝袜| 亚洲AV无码1区2区久久| 国产精品久久久久影院嫩草| 久久久久se色偷偷亚洲精品av| 久久精品国产久精国产思思| 久久夜色精品国产噜噜亚洲a| 亚洲国产精品婷婷久久| 一本一本久久A久久综合精品| 久久久国产精品| 日日噜噜夜夜狠狠久久丁香五月| 亚洲国产精品久久| 丁香色欲久久久久久综合网| 伊人久久大香线蕉精品| 天天躁日日躁狠狠久久| 亚洲欧洲中文日韩久久AV乱码| 色综合久久久久| 一本色道久久99一综合| 午夜精品久久久久成人| 99久久精品日本一区二区免费| 久久综合色区| 久久精品亚洲欧美日韩久久| 亚洲人成精品久久久久| 久久久精品无码专区不卡| 久久er国产精品免费观看2| 色综合色天天久久婷婷基地 | 伊人久久大香线蕉av一区| 久久久久久噜噜精品免费直播| 久久伊人精品青青草原高清| 久久综合亚洲欧美成人| 亚洲国产精品久久电影欧美| 2020国产成人久久精品| 日韩乱码人妻无码中文字幕久久| 亚洲国产成人久久一区WWW|