隨筆-159  評論-114  文章-7  trackbacks-0
           
          g++ -c 編譯成為目標(biāo)文件

          g++ -o 編譯指定輸出文件名

             g++ Info_test_list.cc Info.cc -o Info_test

          如果是在windows上,使用Dev-C++,它支持ANSI-C比較好。

          #include <> 包含頭文件
          #include "" 自己的頭文件

             #include <iostream>
             using namespace std;

          頭文件:

          /usr/local/include/c++/3.2/

          g++自動能找到標(biāo)準(zhǔn)頭文件。

          可以自己定義命名空間:

          namespace std{

          }

          #include <iostream>
          using namespace std;

          namespace czq{
             
          int var = 100;
          }


          int main()
          {
              cout 
          << czq::var << endl;
              
          return 0;
          }


          最后一行應(yīng)該有一個空行。

          在C++中表示字符串,有三種方法,string類,char* char name[]。

          char name[] = "John",這是一個字符串末位有一個'\0',也就是第五個字符。

          'J''o''h''n''\0'

          那么char str[5] 只能放四個字符。

          int main(int argc,char argv[])
          {

          }

          argc至少為1,因為參數(shù)個數(shù)包含可執(zhí)行文件本身。

          argv[0],可以用于檢查執(zhí)行文件名是否被修改,用于版權(quán)保護(hù)哦。

          =============================

          在C++中,只要不是0,就是真,那么0包括0、'\0'、NULL、false

          例子:猜數(shù):

          #include <iostream>
          using namespace std;

          int main()
          {
              unsigned 
          int t = time( NULL );//隨即數(shù)產(chǎn)生
              unsigned 
          int num = t * 37 % 100;
              unsigned 
          int data;
              
          int i;
              cout
          <<"input a number between 0~99:";
              
          for( i=0; i<10; i++ ){
                  cin 
          >> data;
                  
          if!cin ){//如果輸入流沒有讀到整型,那么就會設(shè)置錯誤標(biāo)志
                      cout
          <<"Invalid number!\n";
                      cin.clear();
                      cin.ignore( 
          100'\n' );//忽略字符,最多100個,遇到\n就結(jié)束忽略
                      
          continue;
                  }

                  
          if( data == num ){
                      cout
          <<"you got it!"<<endl;
                      
          break;
                  }

                  
          else if( data < num ){
                      cout
          <<"too small!"<<endl;
                  }

                  
          else
                      cout
          <<"too big!"<<endl;
                  cout
          <<"try again:";
              }

              
          if( i >= 10 )
                  cout 
          << "the answer is " << num << endl;
              
          return 0;
          }



          atoi函數(shù)可以轉(zhuǎn)換字符串變?yōu)檎麛?shù)。不成功為0

          #include <iostream>
          using namespace std;

          int main(int argc,char* argv[])
          {
              
          int score;
              
          char* p = "10000";
              
              score 
          = atoi(p);
              
              cout 
          << score << endl; 
              cin.
          get();
              cin.
          get(); 
              
          return 0;    
          }

           

          C++,只要定義變量,就會分配空間。只有純聲明性的東西才不會分配空間。

          int a;//這時就已經(jīng)分配了4個字節(jié)

          對于對象來說,創(chuàng)建對象有兩種途徑:1、直接定義  2、new 在堆空間

          int a = 0;這是初始化,C++大部分情況不會自己初始化,可能保存著不確定的值,需要程序員完成初始化。

          a = 9; 這是賦值,賦值與初始化是完全不同的概念,賦值操作實質(zhì)是進(jìn)行內(nèi)存數(shù)據(jù)的復(fù)制。初始化,定義時分配空間后給一個值而已。

          賦值與初始化的區(qū)別體現(xiàn)的更明顯 對象的初始化和賦值是完全不同的概念

          posted @ 2006-01-11 21:51 北國狼人的BloG 閱讀(557) | 評論 (0)編輯 收藏
          據(jù)澳大利亞廣播公司10日報道,現(xiàn)在筆記本電腦越來越普及,尤其是很多年輕人,不管走到哪里,想查找資料或玩游戲了,找個地方一坐,將電腦在雙腿上一放,一工作或游戲就是半個小時甚至更長的時間。但最新一項研究顯示,筆記本電腦產(chǎn)生的熱量會使陰囊的溫度上升,從而可能影響精液的數(shù)量。研究人員警告,頻繁使用筆記本電腦可能影響男性的生育能力。
            美國研究人員在《人類繁殖》雜志上公布的研究結(jié)果表明,筆記本電腦會令陰囊的溫度上升差不多3攝氏度。領(lǐng)導(dǎo)此項研究的紐約州立大學(xué)副教授耶菲姆·舍金表示,長期頻繁使用接觸筆記本電腦已成為現(xiàn)代生活的特征,但頻繁使用筆記本電腦會使陰囊溫度過高,可能使男性精子的數(shù)量減少,尤其對十幾歲的男孩和年輕男子影響明顯。

            研究人員認(rèn)為,長時間將筆記本電腦放在雙腿上工作,這是男性精子數(shù)量減少的一個重要原因。最新研究結(jié)果表明,筆記本電腦運(yùn)行時內(nèi)部最高溫度可達(dá)到70多攝氏度。研究人員表示:“在膝蓋位置上頻繁使用筆記本電腦會將陰囊直接暴露給電腦內(nèi)部散發(fā)出的熱量。此外,使用筆記本電腦需要特殊的身體姿勢,陰囊會擠在緊閉的大腿之間,影響精子的數(shù)量。”

            2001年,《手術(shù)刀》雜志曾報道過一名男子在使用筆記本電腦后生殖器和陰囊被灼傷的案例。澳大利亞男性生育專家、墨爾本大學(xué)教授戈登·貝克表示,他對男性使用筆記本電腦后陰囊溫度上升并不感到奇怪。但他對頻繁使用筆記本電腦對男性生育的影響表示懷疑。貝克教授說:“科學(xué)家對筆記本電腦的底部提出了不少警告,我能夠想象到如果你將筆記本電腦放在膝蓋上,這有可能影響你的陰囊。但人們經(jīng)常暴露于很高的溫度環(huán)境下,卻難以找到表明溫度高真正損害精子數(shù)量的直接證據(jù)。”

            舍金教授領(lǐng)導(dǎo)的這項研究涉及29位年齡在21歲至35歲之間的男性。研究人員稱,在他們使用筆記本電腦一小時后,他們左側(cè)陰囊和右側(cè)陰囊的溫度分別平均上升了2.6攝氏度和2.8攝氏度。一些研究發(fā)現(xiàn)陰囊溫度上升1攝氏度就足以抑制精子的產(chǎn)生。盡管研究人員目前還不清楚男性最好使用多長時間筆記本電腦才不至于使精子數(shù)量減少,但他們還是建議十幾歲的男孩和年輕男子應(yīng)該盡可能少使用筆記本電腦。
          posted @ 2006-01-09 22:52 北國狼人的BloG 閱讀(419) | 評論 (0)編輯 收藏

          某個類要想實現(xiàn)拷貝的功能,就必須實現(xiàn)Cloneable接口,并覆蓋Object的clone()方法,才能真正實現(xiàn)克隆。

          淺拷貝,一種默認(rèn)的實現(xiàn),Teacher類中的clone方法的實現(xiàn)就是淺拷貝。

          Student類的clone方法就是深拷貝。注意super.clone返回的對象實際上是被類的對象,可以放心強(qiáng)制轉(zhuǎn)換,至于為什么,我也不知道,估計得讀虛擬機(jī)規(guī)范,從Object源碼看也不到什么,因為是protect native Object clone();


          import java.util.*;
          public class TestClone{
           
          public static void main(String[] args)
           
          {
            Teacher t 
          = new Teacher("Name",22);
            Teacher m 
          = (Teacher)t.clone();
            System.out.println(m);
            
            Student stu 
          = new Student();
            Student deepcloneSTU 
          = (Student)stu.clone();
            stu.courses.put(
          new Integer(1),"Math");
            deepcloneSTU.courses.put(
          new Integer(100),"Java");
            disp(stu.courses);
            disp(deepcloneSTU.courses);
            
           }

           
           
          static void disp(HashMap h)
           
          {
            Set keySet 
          = h.keySet();
            Iterator it 
          = keySet.iterator();
            
          while(it.hasNext())
            
          {
             System.out.println(h.get(it.next()));
            }

           }

          }


          class Teacher implements Cloneable{
           String name;
           
          int age;
           Teacher(String name,
          int age)
           
          {
            
          this.name = name;
            
          this.age = age;
           }

           
           
          public Object clone()
           
          {
            
          try{
             
          return super.clone();
            }
          catch(CloneNotSupportedException e)
            
          {
             
          throw new Error("This should never happen!"); 
            }

           }

           
           
          public String toString()
           
          {
            
          return name + "  " + age;
           }

          }


          class Student implements Cloneable{
           HashMap courses 
          = new HashMap();
           Student()
          {} 
           
           
          public Object clone()
           
          {
            
          try{
             Student stu 
          = (Student)super.clone();
             stu.courses 
          = (HashMap)courses.clone();
             
          return stu;
            }
          catch(CloneNotSupportedException e)
            
          {
             
          throw new Error("This should never happen!"); 
            }

           }

          }




          如何通過對象串行化的方式來做進(jìn)行拷貝工作呢?

          import java.util.*;
          import java.io.*;
          public class TestClone{
              
          public static void main(String[] args) throws Exception
              
          {
                  BMW mycar 
          = new BMW();
                  ByteArrayOutputStream memoryOutputStream 
          = new ByteArrayOutputStream();
                  ObjectOutputStream serializer 
          = new ObjectOutputStream(memoryOutputStream);
                  serializer.writeObject(mycar);
                  serializer.flush();
                  
                  ByteArrayInputStream memoryInputStream 
          = new ByteArrayInputStream(memoryOutputStream.toByteArray( ));
                  ObjectInputStream deserializer 
          = new ObjectInputStream(memoryInputStream);
                  BMW mycopycar 
          = (BMW)deserializer.readObject();

                  mycar.add(
          new String("NB"));
                  mycopycar.add(
          new String("NBNB"));
                System.out.println(mycar.hashCode());
                System.out.println(mycopycar.hashCode());
                System.out.println(mycar.equals(mycopycar));
              }

          }


          class BMW implements Serializable
          {
              
          private int wheels;
            
          private String model;
            
          private ArrayList forTest;
            
            BMW()
            
          {
                wheels 
          = 4;
                model 
          = "530i";
                forTest 
          = new ArrayList();
            }

            
            
          public void add(Object o)
            
          {
                forTest.add(o);
            }

            
            
          public String toString()
            
          {
                
          return "WHEEL:" + wheels + "MODEL:" + model + forTest.toString();    
            }

            
            
          public int hashCode()
            
          {
                
          return wheels + model.hashCode() + forTest.hashCode();    
            }

            
            
          public boolean equals(Object o)
            
          {
                
          if(o == this)
                    
          return true;
                
          if(o == null)
                    
          return false;
                
          if(!(o instanceof BMW))
                  
          return false;
                BMW bmw 
          = (BMW)o;
                
          if(bmw.wheels == wheels&&bmw.model.equals(model)&&bmw.forTest.equals(forTest))
                    
          return true;
                
          else return false;
            }
            
          }


          記住,如果覆蓋了equals方法,應(yīng)該也覆蓋hashCode(),因為如果兩個對象相等也就是equals()返回true,那么這兩個對象應(yīng)該有相同的hashCode。

          posted @ 2006-01-08 17:15 北國狼人的BloG 閱讀(3614) | 評論 (0)編輯 收藏


          食物和皮膚之間有著密切的聯(lián)系,那么,哪些食物是皮膚最喜歡的呢?皮膚科專家們?yōu)槲覀兛偨Y(jié)出了以下
          10種:

           

          1.西蘭花

          它含有豐富的維生素A、維生素C和胡蘿卜素,能增強(qiáng)皮膚的抗損傷能力、有助于保持皮膚彈性。

           

          2.胡蘿卜

          胡蘿卜素有助于維持皮膚細(xì)胞組織的正常機(jī)能、減少皮膚皺紋,保持皮膚潤澤細(xì)嫩。

           

          3.牛奶

          它是皮膚在晚上最喜愛的食物,能改善皮膚細(xì)胞活性,有延緩皮膚衰老、增強(qiáng)皮膚張力、消除小皺紋等功效。

           

          4.大豆

          其中含有豐富的維生素E,不僅能破壞自由基的化學(xué)活性、抑制皮膚衰老,還能防止色素沉著。

           

          5.獼猴桃

          富含維生素C,可干擾黑色素生成,并有助于消除皮膚上的雀斑。

           

          6.西紅柿

          含有番茄紅素,有助于展平皺紋,使皮膚細(xì)嫩光滑。常吃西紅柿還不易出現(xiàn)黑眼圈,且不易被曬傷。

           

          7.蜂蜜

          含有大量易被人體吸收的氨基酸、維生素及糖類,常吃可使皮膚紅潤細(xì)嫩、有光澤。

           

          8.肉皮

          富含膠原蛋白和彈性蛋白,能使細(xì)胞變得豐滿,減少皺紋、增強(qiáng)皮膚彈性。

           

          9.三文魚

          其中的歐咪伽?3脂肪酸能消除一種破壞皮膚膠原和保濕因子的生物活性物質(zhì),防止皺紋產(chǎn)生,避免皮膚變得粗糙。

           

          10.海帶

              它含有豐富的礦物質(zhì),常吃能夠調(diào)節(jié)血液
           
          posted @ 2006-01-07 22:52 北國狼人的BloG 閱讀(299) | 評論 (0)編輯 收藏
          手機(jī)什么時候輻射最強(qiáng)?

           

              當(dāng)人們使用手機(jī)時,手機(jī)會向發(fā)射基站傳送無線電波,而無線電波或多或少地會被人體吸收,這些電波就是手機(jī)輻射。一般來說,手機(jī)待機(jī)時輻射較小,通話時輻射大一些,而在手機(jī)號碼已經(jīng)撥出而尚未接通時,輻射最大,輻射量是待機(jī)時的3倍左右。這些輻射有可能改變?nèi)梭w組織,對人體健康造成不利影響。

          posted @ 2006-01-06 19:09 北國狼人的BloG 閱讀(349) | 評論 (0)編輯 收藏
               摘要: 一臺主機(jī)有個IP地址(邏輯地址),MAC(物理地址)。用IP可以找到一臺主機(jī)。能交換數(shù)據(jù)的是進(jìn)程,進(jìn)程之間交換數(shù)據(jù),不是計算機(jī)。一個程序.exe,靜態(tài)的概念,一個進(jìn)程,在內(nèi)存中,運(yùn)行態(tài)的概念。某些進(jìn)程會占用固定的端口,進(jìn)程與端口對應(yīng)。把一個端口和進(jìn)程建立聯(lián)系的叫做綁定。FTP《=》端口21進(jìn)程間通訊是兩個端口建立連接。由于機(jī)器通訊,要有相同的語言,為保證數(shù)據(jù)正常交互,預(yù)先約定好協(xié)議。網(wǎng)絡(luò)體系架構(gòu),...  閱讀全文
          posted @ 2005-12-29 14:19 北國狼人的BloG 閱讀(383) | 評論 (1)編輯 收藏
          指針一個種特殊的變量,用來存放其他變量的地址。

          定義一個變量,就會分配內(nèi)存,就會開空間,有地址,地址與變量的值無關(guān)系。變量地址不會改變。

          int theVariable = 5;
          int *pPointer = &theVariable;

          那么尋找變量:
          1.通過變量名,可以訪問變量。
          2.通過地址,可以找到變量。(地址唯一,不變)

          指針只保存地址。

          一個變量的地址是有意義的,可以進(jìn)行運(yùn)算(+/-數(shù)字,相減,比較)。

          指針就是一個用來保存地址的特殊變量。

          =================================

          由于地址有類型,所以指針也有類型。(不信?只知道地址,如果不知道類型,取幾個字節(jié)無從獲知)。

          int類型的地址就是四個字節(jié)。

          所以一定要明確  地址需要賦予一個類型的概念。

          int i = 5;

          取地址符號,會取得有類型的地址,&i(整型變量的地址)

          char ch = 'A';

          &ch,就是字符類型的地址

          int *p = &i;

          這個語句的含義:定義一個類型是int的指針變量p,并將i的地址給p,p只存儲了地址。

          指針類型必須與地址類型一致。

          指針的類型由它所指向的存儲空間的內(nèi)容的類型來確定,什么類型的變量,就用什么類型指針。

          任何數(shù)據(jù)類型,都有指針。

          指針是用來保存變量的地址,所以int *p = 2000; 不可以!!

          指針+1一定是找到下一個變量。有類型信息進(jìn)而找到下一個同類型的變量。

          int i = 100;
          int *p = &i;
          char ch = 'a';
          p = &ch;

          錯!指針類型嚴(yán)格匹配。

          可以給指針賦一個NULL,NULL表示內(nèi)存0號單元,起始位置。不可以讀,也不可以寫。禁止訪問。
          試圖訪問,段錯誤。

          在使用指針之前,

          ===========================

          char *p = "hello";//存于常量區(qū),不可以修改
          "hello"一個字符串,也就是一個字符數(shù)組,p的地址就是這個字符數(shù)組第一個元素的地址:一個char類型的地址。
          p[0] 就是'h'。

          ===========================

          posted @ 2005-12-28 00:27 北國狼人的BloG 閱讀(356) | 評論 (0)編輯 收藏
               摘要: 需求,java程序與外屆交流數(shù)據(jù)。實際上是OS與JVM內(nèi)存交互數(shù)據(jù)。那么針對程序,有輸出流,也有輸入流。java.io包下,F(xiàn)ile類,它表示文件系統(tǒng)上的一個文件或者目錄。方法,總體來說是對磁盤文件的磁盤操作,不能看內(nèi)容,主要是為了獲得文件和文件屬性。File dir = new File("d:\");File f = new File(dir,"11.txt");// -->創(chuàng)建文件對象...  閱讀全文
          posted @ 2005-12-25 00:08 北國狼人的BloG 閱讀(435) | 評論 (0)編輯 收藏
               摘要: class Stack{    int index=0;    char data[]=new char[6];    public synchronized void push(char c){&n...  閱讀全文
          posted @ 2005-12-15 00:32 北國狼人的BloG 閱讀(591) | 評論 (2)編輯 收藏
               摘要: 由于本人已經(jīng)有了很多界面開發(fā)經(jīng)驗,對于這塊不是重點,只列舉一些例子。JSF和Web Start(jnlp+jar),將逐步替代Swing和Applet的地位。圖形界面開發(fā),步驟一定要記住。1.選擇容器2.設(shè)置布局管理器,Panel默認(rèn)為Flow,F(xiàn)rame默認(rèn)為Border3.添加組件,可能是容器組件的多層嵌套4.添加時間處理,add***Listener,并給出實現(xiàn)。事件模型是重點. impo...  閱讀全文
          posted @ 2005-12-11 21:15 北國狼人的BloG 閱讀(326) | 評論 (0)編輯 收藏
          僅列出標(biāo)題
          共17頁: First 上一頁 9 10 11 12 13 14 15 16 17 下一頁 
          主站蜘蛛池模板: 拉萨市| 西平县| 甘孜| 古浪县| 阳曲县| 托里县| 洛阳市| 彰化市| 衡阳市| 依兰县| 雷州市| 唐海县| 景谷| 合山市| 沅江市| 察雅县| 图木舒克市| 丰城市| 陆良县| 攀枝花市| 巩留县| 墨玉县| 侯马市| 宁强县| 古蔺县| 河南省| 东明县| 娄烦县| 社旗县| 绥棱县| 河源市| 昌江| 南宁市| 调兵山市| 吉首市| 云阳县| 巴林左旗| 新龙县| 安吉县| 嘉峪关市| 杨浦区|