Time of Update: 2018-12-04
文章目錄 C++標頭檔作用,為什麼C#不需要標頭檔. 原始碼的翻譯簡介我們知道機器其實是比較笨的,它只認識0101這樣的機器語言.你用進階語言寫的原始碼對機器來說就像地球人看火星文一樣,沒法整明白的.必須要經過中間很多翻譯環節.通常來說分為如下四步,實際上每一步都相當於在做翻譯中的一小部分工作.1.先行編譯階段,也叫預先處理.顧名思義就是在處理之前預先做些準備工作.比如你寫的#include
Time of Update: 2018-12-04
文章目錄 C++中常用預先處理指令1.include引用標頭檔2.條件編譯3.#define定義宏4.#progma 常用預先處理指令 C++中常用預先處理指令前面講了主要有四種1.include引用標頭檔 2.條件編譯#define #ifdef等 3.#define定義宏 4.progma 1.include引用標頭檔我們經常會看到#include "ABC.h" 和#include <iostream>這樣的寫法.
Time of Update: 2018-12-04
文章目錄 6.TODO 注釋 C++編碼規範(1):代碼注釋C++編碼規範(2):命名規範 當你閱讀別人的代碼時如果沒有注釋那會是件比較痛苦的事.一說到注釋我們馬上想到是通過//或/*
Time of Update: 2018-12-04
我們知道如果不希望改變某個變數的值就用const修飾它,讓它變為常量.基本類型和指標類型都能用const來修飾.數組也可以用const來修飾.那你自然要問我們把class執行個體化成一個對象後,如果不希望修改對象中的成員變數,讓對象變得像個常量一樣該咋整呢?你首先自然會想到把類中所有的成員變數都用const修飾不就得了.其實這確實是個辦法拉,但是如果我們只是想某個類的一個執行個體對象弄得像常量啊.你這樣用const整就真成了常量了,所有類的執行個體都只能當常量來處理了.這顯然不行拉.其實很簡單,
Time of Update: 2018-12-04
文章目錄 強型別與弱類型語言隱式轉換新式強制類型轉換方式C#強制類型轉換 強型別與弱類型語言像C++,C,Java,C#這些主流的程式設計語言都是強型別語言.而一些指令碼語言則是弱類型的,比如vbscript , javascript.1.強型別語言簡單的理解就是當定義了一個變數之後就會指定一個固定的類型,並對應一個固定的記憶體塊大小.比如有int , double
Time of Update: 2018-12-04
由於C#Managed 程式碼中是沒有指標的,所以當要把一個函數做為一個參數傳給另外一個函數時,用正常方法就沒辦法了,由於就弄出了個代理(Delegate),當然C#中的代理也只是類似函數指標,它除了能實現函數指標的功能外還有其他一些特性.先來說下C++中的函數指標:void PrintNum(int num) { cout<<num;} //一個列印數位簡單函數void (*FunPtr)(int);
Time of Update: 2018-12-04
地球人都知道物件導向的三個主要特徵是封裝,繼承,多態.前面兩個概念顧名思義,比較容易理解,封裝就是所有的東東都給封裝到一個個的class中,並通過public,private等存取修飾詞提供一些許可權控制.繼承嘛就是子類能擁有父類的非私人的成員變數和函數,就像你能繼承你老子的財產一樣啊.多態光看名字可不好理解,可沒變態那麼通俗易懂啊.其實前面說的三個特性還有另外的版本,比如:資料抽象,繼承,動態綁定.說法不一樣但表示的意思完全一樣.
Time of Update: 2018-12-04
文章目錄 C++ 基礎資料型別 (Elementary Data Type)C#基礎資料型別 (Elementary Data Type) 1.類型系統簡介我們認識事務時總喜歡先分個類,然後研究每個各類的特性.在程式設計語言裡面把也會把所有基本內容分門別類.你首先想到的自然是int,long等基礎資料型別 (Elementary Data
Time of Update: 2018-12-04
下面通過C++代碼實現單鏈表的如下簡單操作viod Add(T val); //在鏈表尾部添加元素bool InsertAt(int pos, T val); //在索引為pos的位置插入元素valbool Remove(); //刪除鏈表尾部元素boo RemoveAt(int pos); //刪除任意指定索引所在元素 T GetHeadVal(); //返回鏈表頭部元素的值T GetTailVal(); //尾部元素的值int Find(T val);
Time of Update: 2018-12-04
excel的公式忘掉了;想做一個輸入一個數 連續列印五次結果 每次結果 *1.25 還要四捨五入; 於是寫個小程式,我以為2分鐘 連帶測試就搞定了,結果折騰了近半小時,還是眼高手低啊; 其實原因很簡單,就是 *1.25後的值 需要每次判斷 四捨五入後 取整,然後在繼續下一次迴圈; 貼代碼;別的不多說了……#include"iostream"using namespace std;int main(){ float i = 0; int j=1; cout
Time of Update: 2018-12-04
平時在作資料庫插入操作時,如果用 INSERT 語句向一個varchar型欄位插入內容時,有時會因為插入的內容長度超出規定的長度而報錯。尤其是插入中英文混合字串時,SQL Server中一般中文要佔兩個位元組,所以對混合型的字串就要作一個處理,統一按位元組長度來計算字串長度,方法如下: /// <summary> /// 擷取指定位元組長度的中英文混合字串 /// </summary> private string GetString(string str,
Time of Update: 2018-12-04
不安裝.NET Framework 運行C#.NET程式 收藏 首先,要說明的是飛信也是用C#寫的,但是我們在運行C#時,並不用安裝.NET Framework,這事因為,飛信本身內建了一個.NET 虛擬程式,由這個程式來調用我們飛信主程式。 同樣,我們要可以利用這可現成的虛擬機器來運行我們的C#.NET程式,這樣即使在沒有安裝.NETFramework的windows系統中,也可以運行我們的C#.NET程式。
Time of Update: 2018-12-04
[size=medium]Download, Installation, Configuration:Download: ftp://ftp.gnu.org/gnu/cgicc/Unpack: tar xzf cgicc-X.X.X.tar.gzBuild Libraries: * cd cgicc-X.X.X/ * ./configure --prefix=/usr (Default or /opt. Make sure you have write priviges to
Time of Update: 2018-12-04
困難度之一“C++ 是個難學易用的語言”,這句話相信很多人都心有戚戚。C++的學習難度,一在於語言本身太多的“幕”,另一個就在於 "paradigm shift" (思考模式的移轉)。傳統語言如 C, Pascal, Basic, Fortran...,除了模樣看起來稍有不同,基本上都是函式 call 來 call 去,大同小異,很容易掌握。你想做的動作,在 code 中都看得一清二楚。你所看不到的,也不過就是編譯器為你的函式加上用以處理堆疊的一小段碼(prologue 和 epilogue),
Time of Update: 2018-12-04
本文用經典的生產者消費者的例子,說明Mnitor對象的用法。實現的目標是:生產者生產一個資料,然後消費者開始消費,消費完成後生產者繼續生產,迴圈10次後結束。下面是代碼: namespace ConsoleTest { /// <summary> /// 生產者消費者例子 /// </summary> public class Producer_Consumer { /// <summary> //
Time of Update: 2018-12-04
STL用法很通俗易懂,但是,想深入瞭解STL源碼的實現,以為以後設計自己的模板類。首先應瞭解和掌握模板類的設計方法,然後推薦《C++模板元編程》、《STL源碼剖析》兩本書,博大精深的STL!這些書電子版在jask中都能下到。1. 類模板和STLSTL是C++的標準模板庫,其源碼編程完全依賴模板實現。類模板是能根據不同參數建立不同類型成員的類。2. 類模板的定義template<模板類參數>class 類名{ 成員名;};根據需要參數可以多個。3.
Time of Update: 2018-12-04
using System;class Circle{ private int r; public Circle() { Console.WriteLine("NonStatic"); } static Circle() { Console.WriteLine("Static"); } public static void Main() { Console.WriteLine("1st Line");
Time of Update: 2018-12-04
工作中自己用C#寫了專門讀寫EXCEL(不需要OFFICE環境,直接讀原始檔案,速度快)的COM組件,在使用過程中,發現原先的註冊程式是有問題的。網上也有同樣的網友碰到這個問題,但都沒找到合適的解決辦法。現在我把問題和解決方案都寫出來,供讀者參考。 其實問題都是出在COM組件的註冊上,根本的原因就是REGASM /u 命令有些時候是無效的! 我這邊提供的註冊過程是先卸載,然後註冊。原先的註冊過程是: (1) regasm /u XLSRW.dll (2)
Time of Update: 2018-12-04
入門級:Ptypes Ptypes一個開源輕量級的c++庫,包括對一些I/O操作、網路通訊、多線程和異常處理的封裝。雖然代碼有限,包括的內容不少,麻雀雖小,五髒俱全。 提高:STL Boost和STL ACE Boost庫是一個可移植、提供原始碼的C++庫,作為標準庫的後備,是C++標準化進程的發動機之一。
Time of Update: 2018-12-04
昨天被問了個很基礎的C語言的問題。寫出u8 * memcpy(u8 * src, u8 * dst, size_t len)的定義。比較緊張,以為要考慮很多東西;於是,將很多亂七八糟的情況考慮了下。一般寫成void *,強制轉換成8bit的類型。事實上,由於這裡使用unsigned