Time of Update: 2018-12-07
1. 操作符與基本類型賦值運算子的優先順序低於算數運算子。如:X*=3+2即X*=(3+2) 優先順序&&高於||, &高於^高於| 一元操作符的關聯是從右至左,“++”和“- -”都必須邦定一個變數或者叫“左值”,如“x”。注意“-X”並不是左值。例如:z+=-x++ + ++y,相當於:z+=-(x++)+(++y) 字元:’0’對應ASCII的48,’A’對應的是65。
Time of Update: 2018-12-07
Freesc Huang @ HUST All Rights Reserved2008-2-11Keywords.NET
Time of Update: 2018-12-07
1.C++靜態成員函數的地址可用普通函數指標儲存,而普通成員函數地址需要用 類成員函數指標來儲存。舉例如下: 1. class base{ 2. static int func1(); 3. int func2(); 4. }; 5. int (*pf1)()=&base::func1;//普通的函數指標 6. int (base::*pf2)()=&base::func2;//成員函數指標
Time of Update: 2018-12-07
類體中的資料成員的聲明前加上static關鍵字,該資料成員就成為了該類的待用資料成員。和其他資料成員一樣,待用資料成員也遵守public/protected/private訪問規則。同時,待用資料成員還具有以下特點:1.C++待用資料成員的定義。 待用資料成員實際上是類域中的全域變數。所以,待用資料成員的定義(初始化)不應該被放在標頭檔中。其定義方式與全域變數相同。舉例如下:xxx.h檔案 1. class base{ 2. private: 3. static
Time of Update: 2018-12-07
C#訪問同類執行個體的私人成員代碼大家都知道,一個類的私人成員只能在他的內部訪問!但是不知道大家注意到沒有,實際上在C#中一個類的執行個體是可以訪問同一個類的另外一個執行個體的私人成員的。請看這段簡單的代碼public class MyClass { private int i = 0; public void Function() { MyClass a = new MyClass();
Time of Update: 2018-12-07
在c++中,為瞭解決一些頻繁調用的小函數大量消耗棧空間或者是叫棧記憶體的問題,特別的引入了inline修飾符,表示為內嵌函式。 可能說到這裡,很多人還不明白什麼是棧空間,其實棧空間就是指放置程式的局部資料也就是函數內資料的記憶體空間 ,在系統下,棧空間是有限的 ,如果頻繁大量的使用就會造成因棧空間不足所造成的程式出錯的問題,函數的死迴圈遞迴調用的最終結果就是導致棧記憶體空間枯竭。 下面我們來看一個例子:#include <iostream> #include
Time of Update: 2018-12-07
keyit.focus();}C語言TCP程式中的Hello World。以前一直用OO語言,現在用C語言寫著玩,思想上有點轉不過來彎,o(∩_∩)o...Server:#pragma comment(lib, "ws2_32.lib")#include <Winsock2.h>#include <stdio.h>void main(){//版本協商WORD wVersionRequested;WSADATA wsaData;int
Time of Update: 2018-12-07
最簡單的知識有時間記憶回憶起來卻最難.1.類型轉換會產生臨時變數 (const std::vector<ACE_INT32>)類型轉換將導致產生新的臨時變數. 所以先做類型轉換,再取其地址或其內部屬性地址時危險的.2.delete null不會coredump 這麼多年C++才知道,當然學校時是連什麼是coredump都不知道地 刪除null 指標是安全的(因為它什麼也沒做)。
Time of Update: 2018-12-07
轉自:http://blog.sina.com.cn/s/blog_9f4f649d010163sa.html1. 調用棧系列下面是函數原型:1234#include "execinfo .h"int backtrace(void **buffer, int size);char **backtrace_symbols(void *const *buffer, int size);void backtrace_symbols_fd(void *const *buffer, int size,
Time of Update: 2018-12-07
編譯簡單的 C 程式 (HelloWorld,捕捉錯誤,編譯多個源檔案)C 語言經典的入門例子是HelloWorld,#include <stdio.h>int main(void){ printf("Hello,world!\n"); return 0;} 我們假定該代碼存為檔案‘hello.c’。要用gcc編譯該檔案,使用下面的命令:$ gcc -g-Wall hello.c -o
Time of Update: 2018-12-07
1 數組的長度是固定的,而且程式員無法知道一個給定數組的長度。 2 如果要改變數組的長度,只能建立一個更大的新數組,再把原數組的元素逐個複製到新數組空間中去。 3 與使用標準vector類型的程式相比,依賴於內建數組的程式更容易出錯而且難以調試。 4 在現代C++,數組被嚴格限制於程式內部使用,只有當效能測試表明使用vector無法達到必要的速度要求時,才使用數組。 5
Time of Update: 2018-12-07
string 類型和許多其他庫類型都定義了一些配套類型。 通過這些配套類型,庫類型的使用就能與機器無關。 如string::size_type:
Time of Update: 2018-12-07
c++支援兩種初始設定變數的形式:複製初始化和直接初始化。 怎樣去區分?我剛看到的時候也一頭霧水。 int ival(1024); //複製初始化 int ival = 1024;//直接初始化 原來如此。 另外,在C++中初始化並不是賦值:初始化指建立變數並給它賦初始值,而賦值則是擦除對象的當前值並用新值代替。
Time of Update: 2018-12-07
1.C++內的靜態成員變數,是類的一部分,但是對不是該類的各個對象的一部分。一個static成員只有唯一的一份副本,而不像常規的非static成員那樣的每個對象裡各有一份副本。與此類似,一個需要訪問類成員,然而並不需要針對特定對象去調用的函數被成為一個static成員函數。2.靜態成員也可以像任何其他成員一樣引用。此外對於靜態成員的引用不必提到任何對象。相反,在這裡應該給成員的名字加上了作為限定詞的類名字。(P203,C++程式設計語言,10.2.4節)問題1:一個static成員只有一個副本,
Time of Update: 2018-12-07
在Windows Mobile的手機上面, RIL提供了訪問Radio模組的介面, 下面以一個簡單的樣本說明如何在C#中通過RIL獲得基站資訊.第一步. 定義必要的資料結構和回呼函數1. 包含基站資訊的RILCELLTOWERINFO類Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
建構函式提供了一種機制,通過它有機會完成必要的初始化工作,從而使對象成為有意義的存在物,而不僅僅只是一塊原始的空間。但是,我們逐漸瞭解到,建構函式具有的地位,不僅對於使用者(程式員),對於編譯器履行職責也極為重要。通過這個機制,它讓C++的一些基本的特性,如繼承、多態得到了正確的貫徹和表現。首先不難理解的一點是在建構函式中,要確保基類對象的正確構造,如果是從基類繼承的話。因為繼承類對象至少可以被“低”看為一個基類對象,具有後者的所有行為和表現,所以基類的建構函式首先被調用。如果所謂的基類也是從其
Time of Update: 2018-12-07
由於c#是由設計.net本身的人設計出來的,所以c#才是.net上最一流的語言。實際上,已經有一百多萬行c#代碼用於實現.Net class framework。要發揮出.net平台全部的效能,只有c#才是首選。1,switch語句可以用來測試string型的對象這在c,c++,java等其他各主流語言中都是不可以的,唯獨c#可以。例如string a="haha";switch(a){ case "dfj": ... break; case "djkfdjkf":
Time of Update: 2018-12-07
getch()、getche()和getchar()函數 (1) getch()和getche()函數 這兩個函數都是從鍵盤上讀入一個字元。其調用格式為: getch(); getche(); 兩者的區別是: getch()函數不將讀入的字元回顯在顯示螢幕上, 而getche() 函數卻將讀入的字元回顯到顯示螢幕上。 例1: #include<stdio.h> main() {
Time of Update: 2018-12-07
論壇上經常有人問到這樣兩個問題:如何使用C#在Windows Mobile上編寫一個像Windows服務一樣的背景程式;如何使用C#在Windows Mobile上編寫“今日”螢幕外掛程式(Today plug-in); Peter Nowaks 的部落格文章creating Managed Services in Windows Mobile by using .NET Compact Framework. 他為此編寫了一套類庫,你可以在 CodePlex上找到。Christopher
Time of Update: 2018-12-07
1.在C++中允許從一個case貫穿到另一個case標籤比如:int a =1;switch(a){ case 1: some statements; case 2; other statements;