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

            4D星宇

            c++

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              57 隨筆 :: 0 文章 :: 39 評論 :: 0 Trackbacks

            #

            posted @ 2008-04-14 10:49 bloodbao 閱讀(150) | 評論 (0)編輯 收藏

                                             出現(xiàn)內(nèi)存泄露
            上周調(diào)程,出現(xiàn)一點點小麻煩,特此MARK!
            一直都在防止程序出現(xiàn)內(nèi)存泄露,由于太過認真,所以反而出現(xiàn)問題,得不到解決。
             CubeData* data=new CubeData();
             m_prop->PopulateWithCubeItems(data);
             cubedata_list.push_back(data);
            //delete data;---->防止程序出現(xiàn)內(nèi)存泄露,結(jié)果反而把數(shù)據(jù)提前刪除,
            由于用到了WXWIDGET和IRRLICHT的STRING結(jié)構(gòu),誤以為兩者的結(jié)構(gòu)不兼容,結(jié)果調(diào)到半夜一兩點。
            經(jīng)過一步步的跟蹤才發(fā)覺是上述問題。
            把它注釋后沒有BUG了,但出現(xiàn)內(nèi)存泄露。
            于是,在全局析構(gòu)中,釋放內(nèi)存。問題解決。

            EditDiag::~EditDiag()        
            {
                
            if(m_prop)
                    delete m_prop;
                
            //*防止內(nèi)存泄露
                list
            <CubeData*>::Iterator it = cubedata_list.begin();
                
            for (; it != cubedata_list.end(); ++it)
                {

                    delete (
            *it);
                }
                  //*/防止內(nèi)存泄露


                m_mgr.UnInit();
            }


             

            posted @ 2008-04-14 10:31 bloodbao 閱讀(148) | 評論 (0)編輯 收藏



            以上是準備加入SCENEEDIT的內(nèi)容:
            posted @ 2008-04-08 16:56 bloodbao 閱讀(285) | 評論 (0)編輯 收藏

                                                                                                               SceneEdit
            挑戰(zhàn)IrrEdit,作為一名IRRLICHT愛好者,我對IRREDIT非常得不滿,它的功能少,且更新速度慢,沒法子, 只好自已寫一個。
            初步有了個原型。等完成這個作品后,去找個工作。哎,沒人要啊!
            新更改的圖如下,將增加水面,草地,樹木以及ODE的支持。

            posted @ 2008-04-02 11:33 bloodbao 閱讀(381) | 評論 (3)編輯 收藏

            >>> xxx = file('c:\\a.txt', 'r')
            關(guān)鍵字的第一部分,是文件路徑及名稱。注意這里面,路徑需要用\\
            第二部分,是對文件的模式或者叫權(quán)限,一般有以下3種 "r" (read), "w" (write)和 "a"(append).

            之后,就可以利用
            xxx_content = infile.read()
            xxx_content = infile.readlines()
            來讀取文件內(nèi)容了
            >>> xxx = file('c:\\a.txt', 'r')
            >>> xxx_content = xxx.read()
            >>> print xxx_content
            This 
            is line #1
            This 
            is line #2
            This 
            is line #3
            END
            >>> xxx.close()
            >>>
            >>> infile = file('c:\\a.txt', 'r')
            >>> xxx = file('c:\\a.txt', 'r')
            >>> for xxx_line in xxx.readlines():
                    print 
            'Line:', xxx_line        
            Line: This is line #1
            Line: This 
            is line #2
            Line: This 
            is line #3
            Line: 
            END
            >>> xxx.close()
            >>> xxx=file('c:\\test.txt','w')
            >>> xxx.write('billrice')
            >>> xxx.write('testtest')
            >>> xxx.write('enter\n')
            >>> xxx.writelines(['billrice','ricerice'])
            >>> xxx.close()
            >>>
            >>> xxx=file('c:\\test.txt','r')
            >>> content=xxx.read()
            >>> print content
            billricetesttestenter
            billricericerice
            >>>


            posted @ 2007-04-04 20:58 bloodbao 閱讀(674) | 評論 (0)編輯 收藏

            contact = {}
            contact_list 
            = []
            while 1:
                contact[
            'name'] = raw_input("please input name: ")
                contact['phone'] = raw_input("please input phone number: ")
                contact_list.append(contact.copy())
                go_on 
            = raw_input("continue?\n")
                
            if go_on == "yes":
                    pass
                elif go_on 
            == "no":
                    break
                
            else:
                    print 
            "you didn't say no\n"
            = 1
            for contact in contact_list:
                print 
            "%d: name=%s" % (i, contact['name'])
                print "%d: phone=%s" % (i, contact['phone'])
                i = i + 1
            首先是回憶一下字符串
            字符串既能夠用""也能夠用''。然后是很有特色的%操作,起到格式化字符串的作用,前面僅僅在字符串中有一個%s,現(xiàn)在有%d和%s兩個,分別代表插入十進制數(shù)值和字符串于%x標記的位置處。

            然后是列表
            列表是順序的序列,用append在后面附加,也能構(gòu)用索引值索引。所以我們完全可以用一個變量保存len(contact_list)得到的長度,然后一個個的遍歷,不過這里展示了另外一種非常方便的方法。而且值得注意的是append()中的參數(shù),我使用了contact.copy(),你可以嘗試著把copy()給去掉,觀察結(jié)果你就知道了所謂的append是怎么干的了,特別是你對指針之類的東西很有感覺的話(但是在Python中是沒有指針這個概念的)

            再來看看字典
            字典是鍵(key)和值(value)的對應(yīng)組合成的無序的序列。所以你存的時候要指明鍵(name或者phone),而且取的時候也是一樣的。

            接下來是判斷
            if是很好用的,==表示判斷兩個是否相等,=表示把右邊的賦給左邊的。而且可以直接判斷字符串是否相等,這個太方便了,如果你曾經(jīng)用過strcpy()的話,就知道了。elif是表示else if的意思,如果if不滿足就判斷elif的條件是否滿足,最后是到else中去。

            循環(huán)是個主體
            while和for都是循環(huán)。不過這里while就沒什么說的了,又是很經(jīng)典的while 1,死循環(huán),然后必須在里面用break來跳出。for和C中的for是不一樣的,for in才是一個完整的語句,指的是從一個能夠逐一取值的序列中(比如list),一個一個的取出值賦給for后面指定的變量中,直到取空,循環(huán)結(jié)束。其實回想一般用C中的for的經(jīng)歷,也大體如此。而且你還可以用for i in range(1,100)來指定一個范圍從多少到多少??梢哉ffor in充分體現(xiàn)了python的體貼周到,用起來很直觀,不會繞彎。

            接下來就是運行了,大家慢慢調(diào)試吧。下次可能是講異常處理,因為我覺得在深入到使用各種高級的要素之前,先要學會怎么去處理異常。最常見的異常應(yīng)該是input(),然后你給出的輸入是一個無法轉(zhuǎn)換為數(shù)字的字符串了,那么我們就要來處理它。
            posted @ 2007-04-04 20:52 bloodbao 閱讀(236) | 評論 (0)編輯 收藏

            以前在XP下學習裝過PYTHON,不過時間久了,很多東西都忘光了!
            現(xiàn)在得重新再來,我的平臺是DEBIAN ETCH+AMD 1G+256M:
            安裝python和其它軟件:aptitude install python python-tk(enter)
            第一個程序:
            from Tkinter import *
            root = Tk()
            w = Label(root, text="Hello, world!")
            w.pack()
            root.mainloop()
            ------------------
            還是解釋一下
            fromt Tkinter import *
            是引入一個模塊,這個模塊用來創(chuàng)建GUI(Graphic User Interface)窗口
            Tk()創(chuàng)建了一個主窗口
            Label()創(chuàng)建一個標簽
            Label的第一個參數(shù)是root表明Label是在這個主窗口中的。
            w.pack()是指用缺省的方式把Label放置在主窗口中
            root.mainloop()開始了一個循環(huán),是等待你的輸入的循環(huán)。


            posted @ 2007-04-04 20:50 bloodbao 閱讀(266) | 評論 (0)編輯 收藏

            僅列出標題
            共6頁: 1 2 3 4 5 6 
            九九久久99综合一区二区| 亚洲狠狠婷婷综合久久蜜芽| 老司机国内精品久久久久| 国产A级毛片久久久精品毛片| 三级韩国一区久久二区综合| 无码人妻精品一区二区三区久久| 久久se精品一区精品二区| 国产精品久久久久久久人人看| 婷婷伊人久久大香线蕉AV| 国产高清美女一级a毛片久久w| 99精品国产99久久久久久97| 国内精品久久久久久久久| 欧洲成人午夜精品无码区久久| 久久久久人妻一区精品果冻| 精品国产乱码久久久久久1区2区| 大香伊人久久精品一区二区| 国产精品18久久久久久vr| 精品久久人人爽天天玩人人妻| 久久久久黑人强伦姧人妻| 久久国产精品-久久精品| 77777亚洲午夜久久多喷| 亚洲欧洲精品成人久久奇米网| 欧美日韩中文字幕久久伊人| 欧美午夜精品久久久久免费视| 亚洲国产成人久久笫一页| 久久99精品久久久久久水蜜桃 | 亚洲精品成人网久久久久久| 精品久久久久久| av国内精品久久久久影院| 亚洲精品无码专区久久久| 一本一道久久a久久精品综合 | 久久久久久精品免费看SSS| 久久e热在这里只有国产中文精品99 | 亚洲伊人久久综合中文成人网| 精品久久久久久国产三级| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲精品无码专区久久久| 老男人久久青草av高清| 久久久久久久精品成人热色戒| 777午夜精品久久av蜜臀| 日韩人妻无码一区二区三区久久|