Time of Update: 2017-02-27
今天用C++ Builder 2010寫一段小代碼,用到了集合類,可集合運算結果怎麼也不對,排除了其它原因,最後確定應該是集合類原始碼的問題,下面是一段集合類的測試代碼:enum TTest{tt0, tt15 = 15, tt16 = 16}; typedef Set<TTest, tt0, tt16> TTests; void __fastcall TForm1::Button1Click(TObject *Sender) { TTests t1 =
Time of Update: 2017-02-27
Linux下的Valgrind真是利器啊(不知道Valgrind的請自覺查看參考文獻(1)(2)),幫我找出了不少C++中的記憶體管理錯誤,前一陣子還在糾結為什麼VS
Time of Update: 2017-02-27
看C++視頻教程-範磊主講(2.91G)視頻學習筆記整理。1.c++為什麼要引入名字空間(namespace)?c++引入名字空間這個概念,是為了避免重名問題,比如說避免重複的函數名或者變數名引起的衝突。2.比如:採用名字空間這樣寫,可以有三個名字為b的變數名,但是他們的值都是不一樣的。#include<iostream>namespace a{ int b=5;}namespace c{ int b=8;}int main(){ int b=9; std::
Time of Update: 2017-02-27
1.字元型的應用之強制類型轉換:#include<iostream>using namespace std;int main(){ for(int i=32;i<128;i++) { cout<<(char)i; } cout<<endl; return
Time of Update: 2017-02-27
定義二進位變數:一般是以八進位或者十六進位來定義,八位元以0開頭,十六進位數以0x開頭例如int a = 0x80, 這裡的80隻能表示8個二進位位,它表示的是int的低8位,前面的24個二進位位補0,所以a = 128;也可以 a = –0x80, 此時a = -128;8進位同理需要注意的是:如果0x…能夠在整形內表示,則其預設是int,否則再看unsigned int能否表示,接著long long ,再接著unsigned long long
Time of Update: 2017-02-27
這邊之前的大多數項目都用的java,而自己用的c++,等到快要上線的時候才發現線上機器的gcc和libc的版本都巨低,跟自己測試開發用的環境不相容,編譯出的c++可執行檔沒法運行。解決c++程式的移植問題費了挺大周章,如下是一個具體記錄:1、問題描述如上所述,線上機器與開發機環境不相容,需要做c++程式的移植。2、表現細節不表,總之就是程式沒法運行,找不到對應的庫。如下給出幾個跟gcc有關的錯誤提示:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.
Time of Update: 2017-02-28
新的Interop 在Visual Studio .NET 2003的所有基於 .NET Framework的語言當中,Visual C++ 2005提供了最好的interop功能。它可不像是紙上談兵,如今具有了足夠的能力來實現真實世界中的情境,一個最好的例子就是把Quake II移植到 .NET Framework平台上,而Visual C++
Time of Update: 2017-02-27
用C語言編寫程式實現Zip或者Rar無損壓縮演算法/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** **HUFF.C Huffman encode for multimedia application 8*8 pixel Ver 3 **
Time of Update: 2017-02-27
根據定義,UUID(Universally Unique IDentifier,也稱GUID)在時間和空間都是唯一的。為保證空間的唯一性,每個UUID使用了一個48位的值來記錄,一般是電腦的網卡地址。為保證時間上的唯一性,每個UUID具有一個60位的時間戳記(timestamp)。這個時間戳記表示自公元1582年(絕對不是1852,這是《COM技術內幕》,1999年3月第1版第89頁中的一個錯誤)10月15號00:00:00:00以來的時間,是以100納秒為單位的時間間隔。1納秒(ns)=10-
Time of Update: 2017-02-27
C++語言是案頭系統,尤其是系統軟體、大型應用軟體的主流開發語言。C++語言以其靈活性著稱,同時也更複雜。利用C++編寫健壯的代碼,更具有挑戰性。C++允許動態記憶體管理, 同時也容易導致更多和記憶體相關的問題。一般而言, 除了系統設計上的缺陷, 基於C++的軟體的缺陷和錯誤大部分都和記憶體缺陷(主要包括記憶體訪問錯誤和記憶體流失兩類)相關。
Time of Update: 2017-02-27
如果要你在程式中顯示資料庫中的資料記錄,你首先想用的顯示工具肯定是DataGrid。當然用DataGrid顯示資料記錄是一種既常用又簡單的方法。但是在程式控制方面,它卻無法那麼隨心所欲。本文就是介紹另外一種顯示資料記錄的方法--用ListView來顯示資料記錄,由於他是手動加入記錄,雖然在程式設計中稍微煩瑣了些,但對於那些在特殊的顯示要求,卻往往能夠滿足要求。在.Net FrameWork SDK中定義了許多組件,Visual
Time of Update: 2017-02-27
Visual C#是微軟公司推出的下一代程式開發語言。他不僅具有Visual C++功能強大的特點,又具有Visual Basic的簡潔,易上手的特點。所以一經推出,就收到了廣大程式開發人員的歡迎。Visual C#和Visual C++的一個明顯的區別在於,Visual C#本身是沒有類庫的,而Visual C++卻是自身就帶有類庫。Visual C#雖然沒有類庫,但作為.Net架構中的一個十分重要的開發語言。他可以使用.Net架構提供的一個通用的軟體開發包--.Net FrameWork
Time of Update: 2017-02-27
CurrencyGroupSizes屬性此屬性擷取或設定貨幣值中小數點左邊每一組的位元。其文法格式為:public int[] CurrencyGroupSizes{get;set;}l 屬性值:貨幣值中小數點左邊每一組的位元。的預設值是一個一維數組,該數組只包含一個設定為3的元素。主要代碼如下。private void button1_Click(objectsender,EventArgs e){System.Globalization.NumberFormatInfo CN=new
Time of Update: 2017-02-27
C#語言有很多值得學習的地方,這裡我們主要介紹C#自訂資料,包括介紹每一個由 DBObject派生的對象都擁有儲存C#自訂資料的擴充字典等方面。我們將建立一個新的字典對象,它用來表示我們僱員就職的 ‘Acme 公司‘( 呵呵,當然是虛構的一家公司)的部門。這個“部門”字典對象將包含一個表示 部門經理的記錄。我們還會加入代碼到僱員建立過程,這個過程會加入一個索引到僱員工作
Time of Update: 2017-02-27
Berkeley DB是曆史悠久的嵌入式資料庫系統,主要應用在UNIX/LINUX作業系統上。Berkeley DB的儲存的是key/value索引值對,可以理解為硬碟上的超級hash表。其可以管理256TB資料,而且能支撐幾千個並發訪問。目前Berkeley DB有C++版和Java版。所以,我們需要一個訪問的中間轉換,已經有人發布了C#的API。可以從 Berkeley DB for .NET
Time of Update: 2017-02-27
開發程式時,為了更好的識別檔案的相關屬性,經常需要將檔案的路徑、名稱及其副檔名從一個字串中分離出來,這時可以使用Substring方法在字串中進行相應的截取,然後輸出即可。從字串中分離檔案路徑、檔案名稱及副檔名的關鍵代碼如下:string strPath = textBox1.Text.Substring(0, textBox1.Text.LastIndexOf("\\"));string
Time of Update: 2017-02-27
在系統開發的過程中,我們總是需要使用設定檔來儲存一些我們需要儲存的系統參數, 畢竟這是.Net時代,如果再使用註冊表那就顯得複雜了,畢竟操作註冊表的API並不是哪麼容 易理解的。所以在.net應用程式中,都預設出現一個App.Config(對於 Web應用程式 是Web.Config)我們可以將系統運行所需要的參數採用加密或者明文的方式儲存在這個檔案 中。但是當我們需要大量的,並且有一定邏輯結構的資料,希望也能夠儲存到設定檔中,
Time of Update: 2017-02-28
實值型別資料還是參考型別資料?結構還是類?什麼你須要使用它們呢?這不 是C++,你可以把所有類型都定義為實值型別,並為它們做一個引用。這也不是 Java,所有的類型都是實值型別。你在建立每個類型執行個體時,你必須決定它們以什 麼樣的形式存在。這是一個為了取得正確結果,必須在一開始就要面對的重要決 定。(一但做也決定)你就必須一直面對這個決定給你帶來的後果,因為想在後 面再對它進行改動,你就不得不在很多細小的地方強行添加很多代碼。當你設計
Time of Update: 2017-02-28
在.Net世界裡,用得最多的方法之一就是System.Object.ToStrying()了。你 應該為你所有的客戶寫一個“通情達理”的類(譯註:這裡是指這個 類應該對方便使用)。要麼,你就迫使所用類的使用者,去使用類的屬性並添加一 些合理的易讀的說明。這個以字串形式存在,關於你設計的類的說明,可以很 容易的向你的使用者顯示一些關於對象的資訊到:Windows Form裡,Web Form裡, 控制台輸出。這些字元說明可以用於調試。你寫的任何一種類型,都應該合理的
Time of Update: 2017-02-27
根據馬士兵老師聊天室程式進行最佳化,同時增加聊天者之間的互動。同時增加服務端會為每一個用戶端增加一個互動視窗,讓伺服器可以和每一個用戶端互動!服務端代碼1.import java.net.*;2.import java.util.*;3.import java.io.*;4.import java.awt.*;5.import java.awt.event.*;6.import javax.swing.*;7.8.import javax.swing.JFrame;9.10.public