你必須知道的25個C#基礎概念

From:  http://blog.csdn.net/lai123wei/article/details/73215751.靜態變數和非靜態變數的區別? 靜態變數:靜態變數使用 static 修飾符進行聲明 ,在所屬類被裝載時建立,通過類進行訪問,所屬類的 所有執行個體的同一靜態變數都是同一個值。非靜態變數:不帶有static 修飾符聲明的變數稱做非靜態變數,在類被執行個體化時建立,通過對象進行訪 問,同一個類的不同執行個體的同一非靜態變數可以是不同的值。 2.const 和 static

將不確定變為確定~一切歸總為“二”(C#中的位元運算有啥用)

回到目錄本文中的“二”,指的是二進位,即看見2就進一,也叫逢二進一,它是最為簡單和清晰的資料,在現實生活中,人們用的最多的就是十進位資料,即逢十進一,看一下例子:二進位: 十進位0                         001 0110 0211 03100

C++初始化函數列表

在以下三種情況下需要使用初始化成員列表:一,需要初始化的資料成員是對象的情況;二,需要初始化const修飾的類成員;三,需要初始化引用成員資料; 原因:C++可以定義參考型別的成員變數,參考型別的成員變數必須在建構函式的初始化列表中進行初始化。對於類成員是const修飾,或是參考型別的情況,是不允許賦值操作的,(顯然嘛,const就是防止被錯誤賦值的,參考型別必須定義賦值在一起),因此只能用初始化列表對齊進行初始化。成員類型是沒有預設建構函式的類。若沒有提供顯示初始化式,則編譯器隱式使用成員類型

C++中拷貝建構函式

1.什麼是拷貝建構函式: 拷貝建構函式嘛,當然就是拷貝和構造了。(其實很多名字,只要靜下心來想一想,就真的是顧名思義呀)拷貝又稱複製,因此拷貝建構函式又稱複製建構函式。百度百科上是這樣說的:拷貝建構函式,是一種特殊的建構函式,它由編譯器調用來完成一些基於同一類的其他對象的構建及初始化。其唯一的參數(對象的引用)是不可變的(const類型)。此函數經常用在函數調用時使用者定義型別的值傳遞及返回。 2.拷貝建構函式的形式Class X{public:  X();  X(const X&);/

C#中的DBNull、Null、””和String.Empty

C#中的DBNull、Null、""和String.Empty解釋1、DBNull該類用於指示不存在某個已知值(通常在資料庫應用程式中)。 在資料庫應用程式中,Null 物件是欄位的有效值。該類區分空值(Null 物件)和未初始化值(DBNull.Value   執行個體)。例如,表可以包含具有未初始化欄位的記錄。預設情況下,這些未初始化欄位具有   DBNull   值。 DBNull   從不等於任何值。 DBNull  

C++ 編程思想——常量

1、應該完全用const取代#define的值替代。2、C++中的const預設為內部串連。  ( C預設const是外部串連的。如果在C++中想達到外部串連,必須用extern。 )    就是說,const僅在const被定義過的檔案裡才是可見的,而在串連時不能被其它編譯單元看見。    否則由於眾多的const在多個cpp檔案內分配儲存,容易引起串連錯誤。3、常量指標:  const int * x;    指標常量:  int * const x = &d;    常量對象: 

C#中delegate 與event的使用(C#事件-支援發行者/訂閱者模式) )

From:  http://www.cnblogs.com/gzhnan/articles/1896296.html C#事件支援發行者/訂閱者模式,發行者將事件通知給訂閱者,而訂閱者在事件發生時調用已經註冊好的事件處理函數。首先要在一個類中定義某種類型的委託和此種委託類型事件。然後在該類中通過一個函數,將該事件進行觸發。 當外部其他類有對該事件訂閱時候,其他類會轉去處理該事件的處理常式。從而完成資訊的交流。這樣做,一個最大的好處就是事件觸發類不用關心該事件的所有處

控制代碼類 (Thinking in c++__1)

需求:1)安全技術安全的需要。即使核心實現封閉在庫中不可見,但是標頭檔中的變數定義仍然會曝露一些內部資訊; 2)節省編譯時間的需要。在開發設計初期,實現部分需要經常變動,連標頭檔中變數定義也需要經常變動,因此在重編譯的時候標頭檔也需要編譯,有時候導致編譯時間過長。方案:

C++ 編程思想——繼承和組合

預設是Private繼承。建構函式初始設定式表允許顯式調用成員對象的建構函式。內建類型可以像是有單個建構函式的對象一樣初始化。如 int i; i(123);但它並不是真的有建構函式。建構函式調用順序: 先調用基類建構函式,然後調用成員物件建構函數。成員函數建構函式調用順序按聲明順序。解構函式調用順序: (和建構函式相反)名字隱藏:在衍生類別中重定義的函數名會掩蓋所有基類版本。非自動繼承的函數:構造/解構函式不能被繼承,operator =

在C#中使用代理的方式觸發事件 (委託和事件 )

From:  http://www.cnblogs.com/gzhnan/articles/1859477.html 在C#中使用代理的方式觸發事件 (委託和事件 ) 事件(event)是一個非常重要的概念,我們的程式時刻都在觸發和接收著各種事件:滑鼠點擊事件,鍵盤事件,以及處理作業系統的各種事件。所謂事 件就是由某個對象發出的訊息。比如使用者按下了某個按鈕,某個檔案發生了改變,socket上有資料到達。觸發事件的對象稱作寄件者(sender),捕獲

《Effective C#中文版:改善C#程式的50種方法》讀書筆記 

來自: http://kb.cnblogs.com/page/106722/    從去年找工作以來,都沒什麼時間寫部落格[找工作的體會:建議以後有自己開公司的IT人一定要找IT專業人員做HR,好多公司的HR並不能真正發掘人 才,他們形成了太多的偏見,如在學校期間學不了什麼東西、只看學校有多少獎勵等。真正鑽研技術的人才不會追求虛無的東西],其實這本書我都借了好久,一直

C# static const和readonly區別

from:  http://blog.csdn.net/lai123wei/article/details/6933340  Const 定義的是靜態常在對象初始化的時候賦值.以後不能改變它的值.屬於編譯時間常量。Static 定義的是靜態變數.可以再外部改變它的值..Readonly 是唯讀變數.屬於運行時變數.可以在類初始化的時候改變它的值..const 和 static 不能在一起用我們都知道,const和static

C++ 編程思想——引用和拷貝建構函式

引用就像能自動地被編譯器間接引用的常量型指標。它通常用於函數的參數表中和函數的傳回值,但也可以獨立使用。當引用被做函數參數時,在函數內任何對引用的更改將對函數外的參數產生改變。從函數返回的引用必須像指標一樣對待。當函數返回時,引用關聯的對象應該存在,否則,將不知道指向哪一個記憶體。使用引用時有一定的規則:1.建立引用時必須初始化。2.引用被初始化後就不能改變。3.引用不能為NULL。必須確保引用和一塊合法的儲存單元關聯。參數傳遞準則:

C++ 編程思想——內嵌函式

應該永遠不使用宏,只使用內嵌函式。任何在類中定義的函數自動地成為內嵌函式。也可用inline關鍵字使類外定義的函數成內嵌函式。內嵌函式必須使函數和聲明結合在一起,否則編譯器將他作為普通函數對待。一般應該把內嵌函式放在標頭檔裡。在標頭檔裡,內嵌函式預設為內部串連,即static。並且只能在它被包含的編譯單元看到。只要在不同的編譯單元中聲明,在內斂函數和全域函數之間用同樣的名字也不會在串連時產生衝突。如果函數太複雜,編譯器將不能執行內聯。一般,任何類型的迴圈都被認為太複雜而不能擴充為內嵌函式。內聯僅

淺析C#深拷貝與淺拷貝

from: http://blog.csdn.net/lai123wei/article/details/7217365  1.深拷貝與淺拷貝  拷貝即是通常所說的複製(Copy)或複製(Clone),對象的拷貝也就是從現有對象複製一個“一模一樣”的新對象出來。雖然都是複製對象,但是不同的 複製方法,複製出來的新對象卻並非完全一模一樣,對象內部存在著一些差異。通常的拷貝方法有兩種,即深拷貝和淺拷貝,那二者之間有何區別呢?MSDN裡對

C++ 編程思想——命名控制

1、static靜態對象的解構函式在程式從main()塊中退出時,或標準的C庫函數exit()被調用時才被調用。這意味著在解構函式內部使用exit()很危險。可以用atexit()來指定當程式跳出main()或調用exit()時應執行的操作。如果一個包含靜態對象的函數未被調用過,那麼這個對象的解構函式也就不會被執行。在檔案範圍內,一個被明確聲明為static的對象或函數的名字對編譯單元來說是局部變數。局部類(在函數內部定義的類)中不能有待用資料成員。2、namespacenamespace只能在

JNI中java類型與C/C++類型對應關係

在如下情況下,需要在本地方法中應用java對象的引用,就會用到類型之間的轉換:  1)java方法裡面將參數傳入本地方法;2)在本地方法裡面建立java對象;3)在本地方法裡面return結果給java程式。  分為如下兩種情況:  一、Java原始類型像booleans、integers、floats等從Java程式中傳到本地方法中的原始類型可以直接使用,下面是java中的原始類型和本地方法中的類型的對應:Java類型  本地類型  位元組(bit)boolean   jboolean   8

基礎才是重中之重~為什麼C#有顯示實現介面

回到目錄題目很有意思,在C#世界裡,有一種實現叫做“顯示實現”,它說的其實是對介面的實現方式,一般地,我們用到的實現都是隱示實現(VS裡叫做實現介面)為什麼我們沒有用過“顯示實現介面”呢?當類只繼承一個介面時,顯式實現介面與實現介面(我習慣稱它為隱示實現)沒有區別,如果你非要找個區別,那就是顯示介面後,所有介面方法都必須是public,而“顯示實現介面“則對類來說不是public,如果你需要用到介面方法時,在聲明對象時,必須使用介面作聲明,而如果使用“隱示實現介面”,則使用類或者介面作聲明都是可

C++中的繼承和組合區別使用

C++的“繼承”特性可以提高程式的可複用性。正因為“繼承”太有用、太容易用,才要防止亂用“繼承”。我們要給“繼承”立一些使用規則:  一、如果類A 和類B 毫不相關,不可以為了使B 的功能更多些而讓B 繼承A 的功能。  不要覺得“不吃白不吃”,讓一個好端端的健壯青年無緣無故地吃人蔘補身體。  二、如果類B 有必要使用A 的功能,則要分兩種情況考慮:(1)若在邏輯上B 是A 的“一種”(a kind of ),則允許B 繼承A

C++新標準庫 VS C++舊標準庫 VS 對C庫的相容

  C++標準庫很大,非常大。難以置信的大。怎麼個大法?這麼說吧:在C++標準中,關於標準庫的規格說明佔了密密麻麻300多頁,這還不包括標準C庫,後者只是 “作為參考

總頁數: 4314 1 .... 561 562 563 564 565 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.