Time of Update: 2015-04-10
標籤:ctrl+c和ctrl+z都是中斷命令,但是他們的作用卻不一樣.ctrl+c是強制中斷程式的執行,而ctrl+z的是將任務中斷,但是此任務並沒有結束,他仍然在進程中他只是維持掛起的狀態,使用者可以使用fg/bg操作繼續前台或背景任務,fg命令重新啟動前台被中斷的任務,bg命令把被中斷的任務放在後台執行.例如:當你vi一個檔案是,如果需要用shell執行別的操作,但是你又不打算關閉vi,因為你得存檔推出,你可以簡單的按下ctrl+z,shell會將vi進程掛起~,當你結束了那個shell操作
Time of Update: 2015-04-10
標籤:c++ 規範 Google C++ 編程風格手冊裡面提到了許多編程時需要注意到的問題,對規範代碼還是有協助的。這裡是一些閱讀時的筆記,也算是歸納的一些要點。 - Google C++ Style Guide 閱讀筆記 1 - Google C++ Style Guide 閱讀筆記 2 - Google C++ Style Guide 閱讀筆記 3 - Google C++ Style Guide 閱讀筆記 4 -
Time of Update: 2015-04-10
標籤:1. typedef 最簡單使用 1 typedef long byte_4; // 給已知資料類型long起個新名字,叫byte_4 你可以在任何需要 long 的上下文中使用 byte_4。注意 typedef 並不建立新的類型。它僅僅為現有類型添加一個同義字。2. typedef 修飾數組 1 typedef char mySizes[100]; 2 mySizes xxx; 3 4 typedef char [100]
Time of Update: 2015-04-10
標籤:strchr// 實現strchr(在一個字串中尋找字元,找到的話返回指向該字元的指標,沒找到的話返回空)#include <stdio.h>#include <assert.h>char * my_strchr( char const *str, char c ){assert( str != NULL );while( *str != '\0'){if( *str == c )return str;elsestr++;}printf("
Time of Update: 2015-04-10
標籤:strrchr// 實現strrchr(尋找該字串最後一次出現的位置)#include <stdio.h>#include <assert.h>char * my_strrchr( char const *str, char c){int count = 0;int i;assert( str != NULL );while( *str != '\0'){str++;count++;}str--;for( i = 0; i < count;
Time of Update: 2015-04-10
標籤:固然我們可以自己使用遞迴編寫全排列程式,但是既然STL裡面已將有了這個功能為什麼不直接用呢,下面就寫一下直接使用C++ STL產生全排序的程式函數名:next_permutation包含標頭檔:algorithm函數原型:template<class BidirectionalIterator> bool
Time of Update: 2015-04-10
標籤:前面的C++的常量摺疊(一)的最後留下了一個問題,那就是在聲明i的時候,加上修飾符volatile關鍵字,發現輸出的就不一樣了,下面來說一下volatile這個關鍵字。 C/C++中的volatile關鍵字和const對應,用來修飾變數,通常用於建立語言層級的memory barrier。下面這句話是Stroustrup在“The C++ Programming Language”中對volatile修飾詞的說明: A volatile specifier is a hint to a
Time of Update: 2015-04-10
標籤:1.簡述sizeof和strlen的區別 最常考察的題目之一。主要區別如下: 1)sizeof是一個操作符,strlen是庫函數。
Time of Update: 2015-04-10
標籤:通訊錄 typedef switch 介面 類 實現一個通訊錄:通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括:姓名,性別,年齡,電話,住址提供方法:1: &nb
Time of Update: 2015-04-10
標籤:C++中的動態記憶體管理是通過new和delete兩個操作符來完成的。new操作符,為對象分配記憶體並調用對象所屬類的建構函式,返回一個指向該對象的指標。delete調用時,銷毀對象,並釋放對象所在的記憶體。但在程式中使用new和delete容易導致很多問題,這裡列出三個比較容易犯的錯誤。我們new了一個對象,但沒有delete它。這會引起memory leak記憶體泄露,可能會導致程式崩潰。用指標訪問一個已經被free的對象。這就是我們常說的dangling
Time of Update: 2015-04-10
標籤:1 無參宏定義無參宏的宏名後不帶參數。其定義的一般形式為: #define 標識符
Time of Update: 2015-04-10
標籤:指標變數與間址訪問能夠存放地址值的變數成為指標變數聲明:int *p;//在變數說明語句中,*是表示指標類型,也就是用來說明p是存放地址的變數int a=10;p=&a;cout<<*p;//還是輸出10;這裡的*在地址值之前,是指標運算子這裡有個要注意的地方:交換指標變數的值與交換指標變數指向單元的值的區別#include<iostream>using namespace std;int main(){long int
Time of Update: 2015-04-10
標籤:1、範圍修飾符修飾符: public:公用訪問,即所屬類的成員和非所屬類的成員都可以訪問 private:私人訪問,只有所屬類的成員才可以訪問 internal:內部訪問,只有當前程式集可以訪問 protected:保護訪問,所屬子類和父類的類型可以訪問2、靜態變數static 靜態變數在函數執行完成後不會消失,在整個程式中會保留其值。 靜態變數可以在成員函數或類定義之外初始化。 對於類的所有對象,記憶體中僅存在一份靜態變數的副本,不能進行執行個體化。 因為沒有執行個體變數
Time of Update: 2015-04-10
標籤:event 委託 delegate PanPen120在CSDN上原創,如其他網站轉載請注意排版和寫明出處: 研究委託,因為有函數指標的基礎,還容易上手,但是對於一些概念和實踐,總是為了弄的非常清楚而糾結,這幾篇關於委託的文章我是結合《C#與.NET4進階程式設計》、MSDN、借鑒其他人的博文來總結話語,以最直接簡潔的話來闡述清楚關鍵字: event描述/優勢:
Time of Update: 2015-04-10
標籤:action func 泛型委派 PanPen120在CSDN上原創,如其他網站轉載請注意排版和寫明出處: 研究委託,因為有函數指標的基礎,還容易上手,但是對於一些概念和實踐,總是為了弄的非常清楚而糾結,這幾篇關於委託的文章我是結合《C#與.NET4進階程式設計》、MSDN、借鑒其他人的博文來總結話語,以最直接簡潔的話來闡述清楚關鍵字: Func Action
Time of Update: 2015-04-10
標籤:給你一個小例子,如果你有點基礎,應該能觸類旁通。12345678910111213141516171819202122232425262728using System.Messaging; // 建一個類public class Person{ public string FirstName { get; set; } &nb
Time of Update: 2015-04-10
標籤:interface IPrint { void Print(); } class A : IPrint { public void Print() { System.Console.WriteLine("A"); } } class B : IPrint { public void Print() { System.Console.WriteLine("B"); } }&
Time of Update: 2015-04-10
標籤: //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期減一 DateTime.Now.AddDays(-1).ToShortDateString(); //明天,同理,加一 DateTime.Now.AddDays(1).ToShortDateStrin
Time of Update: 2015-04-10
標籤:用自然語言來描述繼承中的關係就是 人繼承生物 男人繼承人 你繼承男人 人具備所有生物應該有的特徵 男生具備所有人應該有的特徵 你具備男人所有應該有的特徵 C#中的繼承就是為了描述現實世界的具體包容 關係!你可以很簡單的把繼承認識為一種針對於面向過程語言的簡化性,包括操作的簡化,代碼的簡化,便於理解!比如說,在C中你需要描述一個人的資訊,就要結構 人 {五官四肢}結構 男人{五官四肢鬍鬚}結構 女人{五官四肢胸部}這樣的代碼你看到問題沒有。。。就是每一種定義裡邊都具備五官和四肢。。
Time of Update: 2015-04-10
標籤:首先建立一個很簡單的委託~public delegate void DoIt(string str);然後建立一個委託引用~public DoIt _DoIt;之後就是在你程式需要觸發回呼函數的地方去執行這個委託~if (_DoIt != null) //執行委託需要判斷是否為空白,如果沒有將對應簽名的方法存入委託,直接執行會報錯{ _DoIt("測試");}最後就是去為委託添加回調方法,簽名必須一樣~_DoIt = (str) =>