Time of Update: 2018-12-04
class B{public : virtual void m1(); virtual void m2();};class D : public B{ virtual void m1();}有天參加某大公司筆試,遇到這個問題,回來重新翻看C++教材和網上找答案,才恍然大悟。答案如下:C++的動態綁定使用vtable(虛成員函數表)來實現。vtable支援運行時查詢,使系統可以將某一函數名綁定到vtable的特定入口地址。例如上段代碼的虛函數表為:虛成員函數
Time of Update: 2018-12-04
C#中的out與ref2007-09-19 10:19 MSDN上的簡單介紹: out 關鍵字會導致參數通過引用來傳遞。這與 ref 關鍵字類似,不同之處在於 ref 要求變數必須在傳遞之前進行初始化。若要使用 out 參數,方法定義和調用方法都必須顯式使用 out 關鍵字。例如:class OutExample{ static void Method(out int i) { i = 44; } static void Main(
Time of Update: 2018-12-04
C#中有沒有判斷一個string類型變數是否為數字類型的系統函數(如vb中的IsNumeric(s))?答案肯定是沒有的。有人提議用int.Parse(string)的方法,然後通過捕獲異常來判斷返回的值。更好的方法是用Regex:public int IsNumeric(string str){ int i; if(str != null && Regex.IsMatch(str,@"^/d+$")) i = int.Parse
Time of Update: 2018-12-04
預定義的方式來儲存連接字串,列舉兩種方法。方法一在web.config裡面<configuration><connectionStrings> <add name="MyDB" providerName="System.Data.SqlClient" connectionString="Data Source=HZJ/HZJ;Integrated Security=True;Initial Catalog=MyDB"/>
Time of Update: 2018-12-04
http://blog.csdn.net/hikaliv/archive/2009/05/24/4212864.aspx 文章內容: http://blog.csdn.net/CARL_SEN/archive/2009/05/04/4148426.aspx第一部分:1. 異常發生時,異常對象會沿函數調用棧的反方向拋出,這個過程常稱為棧展開(堆棧解退)。2. 在棧展開過程中,如果異常對象始終都沒遇到可行的 catch 處理塊,系統將調用 terminate 函數強制終止程式。當然如果連 try
Time of Update: 2018-12-04
顧名思義,private/public/protected 分別表示“私人/公開/保護”,是一組用於存取權限控制的關鍵字。 那麼,要控制誰(訪問者)訪問誰(被訪問者)的許可權呢? “誰(被訪問者)”很明確,指類的成員(包括成員變數和成員方法)。然而,“誰(訪問者)”卻比較含糊。其實,它指的是一個函數,而不是類(更不是變數)。 private/public/protected要控制的是一個函數(訪問者)對一個類的成員(包括成員變數和成員方法)的存取權限。所以:
Time of Update: 2018-12-04
Visual C++.NET中的字串轉換方法From:http://www.vczx.com/article/show.php?id=340Visual C++.NET涉及到ATL/ATL
Time of Update: 2018-12-04
1. 概念 異常說明/規範(exception specification)指定, 如果函數拋出異常, 被拋出的異常將是包含在該說明中的一種, 或者是從列出的異常中派生的類型. 2. 定義 異常說明跟在函數形參表之後. 一個異常說明在關鍵字throw之後跟著一個(可能為空白的)由圓括弧括起來的異常類型列表. 如: void foo(int) throw (std::logic_error, std::runtime_error); 這個聲明指出, foo是接受int值的函數, 返回void.
Time of Update: 2018-12-04
1. 定義數組時, 只能使用這樣的順序: TypeName arrayName[SIZE]; // 正確不能使用這樣的順序: TypeName [SIZE] arrayName; // 錯誤 這一點跟 Java 中定義數組是不同的. 2. 定義 const 對象時, 可以使用這樣的順序: const TypeName varName = initializationValue; // 正確也可以使用這樣的順序: TypeName const varName =
Time of Update: 2018-12-04
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;//計算a1的平方...a2的平方namespace power2{ public partial class Form1 :
Time of Update: 2018-12-04
1. 最優實現class CSingleton{public: static CSingleton& GetInstance() { static CSingleton theSingleton; return theSingleton; } /* more (non-static) functions here */private: CSingleton() // 必須定義, 且為private. { }
Time of Update: 2018-12-04
c#中 ==與equals有什麼區別對於實值型別、參考型別來說比較過程怎樣的?using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class Person { private string name; public string Name { get { return name;
Time of Update: 2018-12-04
C/S 架構C/S 架構是一種典型的兩層架構,其全程是Client/Server,即用戶端伺服器端架構,其用戶端包含一個或多個在使用者的電腦上啟動並執行程式,而伺服器端有兩種,一種是資料庫伺服器端,用戶端通過資料庫連接訪問伺服器端的資料;另一種是Socket伺服器端,伺服器端的程式通過Socket與用戶端的程式通訊。C/S
Time of Update: 2018-12-04
寫之前,先聲明,我很菜,又很懶。事出有因,先看下原因。我想通過網路由JAVA向C#裡傳遞一個檔案,由於我很懶,選擇了Web Service,還只想傳簡單類型,於是,我想起了base64,於是我就決定用base64編碼後通過Java提供Web Service,由C#調用。必須要先編成base64碼吧,用java不會編,選了C#編碼,得儲存成一個文字檔,用java讀,比較來了,就出自讀取文字檔。C#: StreamReader reader =
Time of Update: 2018-12-04
要做一個Toolbar ToggleButton圖片切換。 private void TBMain_ButtonClick(object sender, ToolBarButtonClickEventArgs e) { switch (e.Button.Text) { . . .
Time of Update: 2018-12-04
導讀: db4o C# DatabaseNative to .NET 2 incl. Compact Framework100% object-oriented, no object-relational mappingDesigned for embedded use in zero-admin environmentsOpen source and free under the GPLPerst for .NET (C#) and .NET Compact FrameworkThe
Time of Update: 2018-12-04
1、 引入 Python語言的核心檔案只有一個PythonXX.dll,XX是版本號碼,所有的.py、.pyc、.pyo檔案都是用Pythonxx.dll進行解釋執行的。而python.exe、Pythonw.exe只是對為pythonxx.dll提供了一個解譯器表單。 由於pythonxx.dll解釋執行py檔案時會在一定的路徑下尋找模組,而我關心的就是pythonxx.dll到底從哪些路徑進行尋找。 2、 Pyhon.exe調用哪個pythonxx.dll
Time of Update: 2018-12-04
嵌入式C編程的風格規範一、概述 本文檔描述在嵌入式開發中,C語言編程中應該注意的編程風格;力圖使不同的模組, 不同人員編寫的程式具有類似的風格,為程式方便維護打下基礎。 針對人員:所有參與C編程的開發人員。二、檔案組織和結構 1.1
Time of Update: 2018-12-04
C++的羅浮宮Disclaimer: You should first (but not the least) understand the fundamentals of multithreading memory models to be able to read the following text. I personally recommend you start with the related C++0x memory model proposals if you’re a C++
Time of Update: 2018-12-04
Lua指令碼調用C函數小結 Lua指令碼調用C函數小結 仔細的學習了一下,發現功能的確非常強大。用指令碼調用C的函數,都希望有如下特性:1. 多輸出Lua 本身就支援函數返回多個值,文法如下:x,y = testext.Test()2. 可以使用類似C的結構的形式輸入輸出Lua 的Table可以在形式上很好的模仿C的結構,a = {}a.i = 101a.name = "jason"a.subtable = {}a.subtable.i = 99相當於struct A{ int i;