Time of Update: 2018-07-18
本文的主要內容就是對C++一些知識點的總結,便於自己方便的查看和複習,就是把自己的理解方式記錄下來,具體的一些代碼什麼的有些懶得寫,如果還是沒看懂的話就去看書好了。 1、結構體和類 在C++中結構體是用關鍵字 struct 聲明的類,類用 class 聲明。結構體預設情況下其成員是 public 的,可以在類的外部進行訪問,類預設情況下是 private 的,只能在類的內部進行訪問。 注意:在定義類時,不要忘了在右括弧處加上一個分號“;”。
Time of Update: 2018-07-18
出自c++ programming language 1.6.1節 翻譯的不好請大家指教 對於c程式員的建議 一個人越熟悉c,就越難避免寫c模式的c++程式。因此,會丟失一些潛在的c++的優點。請看附錄B,它描述了c和c++的不同。這裡有幾點是使用c++模式的程式比c程式的模式要好。
Time of Update: 2018-07-18
這是一個及其常見的問題,網上已經有關於這個問題的很多討論。但是我覺得都是不求甚解,有一些還是在誤導別人。下面我來說下我對這三者的理解,如有錯誤的地方請大家及時指正。 一:""與string.Empty我認為是一樣的。網上有一篇被轉載了幾十遍的文章是這樣說的string.Empty 不分配儲存空間,"" 分配一個長度為空白的儲存空間,我認為這句話是錯誤並且含糊不清的。 1、實際上Empty是string類中的一個靜態唯讀欄位,他的定義是這樣的:
Time of Update: 2018-07-18
如果你不確定你將來從事何種行業的軟體開發,只是想學習一門程式設計語言,那麼從C++起步是個很好的選擇。要執著,不要今天學點C++,明天學點VB,最後是學了十幾種語言,都是只懂皮毛。學習C++不需要C語言基礎,沒有任何程式設計語言的基礎的人學得會更快。首先選擇一本教材,如果你的耐心不夠好,就選擇薄一點的,如清華大學錢能教授的《C++程式設計教程》。厚一點的,適合初學者看的就是《C++
Time of Update: 2018-07-18
回呼函數是一個很有用,也很重要的概念。當發生某種事件時,系統或其他函數將會自動調用你定義的一段函數。回呼函數在windows編程使用的場合很多,比如Hook回呼函數:MouseProc,GetMsgProc以及EnumWindows,DrawState的回呼函數等等,還有很多系統級的回調過程。 一般情況下, 我們使用的回呼函數基本都是採用C語言風格. 這裡介紹一種C++風格的回調對象方法. 採用template實現. template < class Class, typename
Time of Update: 2018-07-18
1.結構大小 int *pi = new int[12];中的pi純粹是個指標變數,它就是一個指標,在32位環境下佔4個位元組;而int ia[]={0, 1, 2};中的ia是個數組,雖然它的值是第一個元素的地址,但是它代表了整個這一個數組,數組中有三個元素,每個int類型的元素佔4 個位元組,共是12個位元組,pi申請完記憶體後,是整個記憶體塊的首地址,*pi代表的就是第一個元素,每個元素為int類型的,當然為4了,如果為char
Time of Update: 2018-07-18
前言 - 記憶體越界處理 我們先看設計圖. 記憶體越界檢查原理如下 上面原理是不是很簡單. 而這恰恰是最通用的做法. 美的東西不負責. 美很重要. 那我們按照上面設計思路. 首先構建 介面檔案 checkmem.h #ifndef _H_MEMCHECK_CHECKMEM#define _H_MEMCHECK_CHECKMEM#include <stddef.h>/**
Time of Update: 2018-07-18
很多人在做簡訊發送的時候都會遇到字元轉換的問題.也就是說漢字轉換成Unicode編碼的問題. 1.C#中的代碼 /// <summary> /// <函數:Encode> ///
Time of Update: 2018-07-18
C#語言中逸出字元和C/C++語言的逸出字元不太一樣,但有一些是通用的。在C#語言中的逸出字元有下面這些(也許不太完整,此為個人實踐中的總結,在網上看到的很多轉載的文章都混淆了和C/C++中的逸出字元。) \'(單引號 0x0027) \"(雙引號 0x0022) \\(反斜線 0x005C) \0(Null 字元 0x0000)
Time of Update: 2018-07-18
拷貝檔案夾的所有內容到另一個檔案夾內: 1 public static void CopyDir(string srcPath, string aimPath) 2 { 3 try 4 { 5 // 檢查目標目錄是否以目錄分割字元結束如果不是則添加之 6 if (aimPath[aimPath.Length - 1] !=
Time of Update: 2018-07-18
Unicode 字元逸出序列表示一個 Unicode 字元。unicode-escape-sequence:(unicode 逸出序列:) /u hex-digit hex-digit hex-digit hex-digit(/u 十六進位數字 十六進位數字 &
Time of Update: 2018-07-18
《C++ Primer》作為久負盛名的C++經典教程,豐富的教學輔助內容、精心組織的編程示範,無論是初學者入門,或是中、進階程式員提升,都是不容置疑的首選。 一本好書只有讀過才有價值,然而《C++ Primer》這本厚如磚頭的好書,很多人在購買之後,都僅僅只是簡單翻閱了前面幾個章節,而並未能夠認真的完整讀完該書。 實驗樓為了能夠讓大家能夠更好的利用《C++ Primer》學習C++,推出了深入學習《C++ Primer
Time of Update: 2018-07-18
C 語言原本是在英文環境中設計的,主要的字元集是7 位的ASCII 碼。從此開始,8 位的byte(位元組)變成最常見的字元編碼單位,但是國際化軟體必須能夠表示不同的字元,而這些字元數量龐大,無法使用一個位元組編碼,於是世界上使用各式 各樣多位元組的字元編碼集合已經有數十年了,比如用來表示“非拉丁字母”以及“非字母”的中、日、韓文字系統。在1994 年,“Normative Addendum 1”(基準增補一)的採用,讓ISO C 可以標準化兩種表示大型字元集的方法:寬字元(wide
Time of Update: 2018-07-18
多線程執行個體二 此執行個體示範採用CreateThread函數在主線程中建立一個線程,並且向建立的線程中傳遞一個參數。 由於採用MFC編程,自動產生的程式碼比較多,還是列出部分實現多線程的代碼。 線程函數: [cpp] view plain copy
Time of Update: 2018-07-18
附:http://blog.csdn.net/yingxunren/archive/2009/10/13/4663014.aspx inline 可以放在 .cpp 中,但此時只有本 cpp 檔案可以用它 如果要做成公用的,就必須放在 .h
Time of Update: 2018-07-18
C中的靜態變數和靜態函數。(1)C中的靜態變數是處於全域儲存區,區別於自動變數的儲存於棧中。兩者的關鍵 區別是其範圍的區別。自動變數的範圍處於其所在的函數或語句塊中;而靜態 變數的範圍起始於其定義處,終止於程式結束處。 (2)C中的靜態函數主要是限制函數的名字以及可訪問域於檔案中,表示此函數僅供 此檔案所用,不允許在其他檔案中調用的。有關靜態函數的使用可以考慮幾點:一 是靜態函數的名字僅可見於其所定義的檔案。這就允許在不同的檔案中存在同名的
Time of Update: 2018-07-18
c與c++ static函數的區別 c 與c++ static 函數的區別 static 關鍵字是 C, C++
Time of Update: 2018-07-18
MCI_OPEN_PARMS是一結構體類型,其結構體定義為 typedef struct { DWORD_PTR dwCallback; MCIDEVICEID wDeviceID;//設別ID LPCTSTR lpstrDeviceType;//裝置類型 LPCTSTR lpstrElementName;/
Time of Update: 2018-07-18
問題雖然是C語言中的靜態變數,其實說起來在其他很多的程式設計語言中,靜態變數的意義和用法都和C語言中差不多,所以搞懂了這個概念在以後學習其他的程式設計語言的時候是很有作用的。
Time of Update: 2018-07-18
這句話起什麽作用。 條件總為假,用來跳過某些程式碼片段,編譯時間跳過#if 0與#endif之間的代碼,該語句導致#if 0---#endif之間的語句不會被編譯,他是一條先行編譯語句。 當注釋掉大塊代碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的注釋要防止被注釋掉的代碼中有嵌套的"/**/",這會導致注釋掉的代碼地區不是你想要的範圍,