Time of Update: 2018-12-03
基本的抽象資料類型(ADT)是編寫C程式必要的過程,這類ADT有鏈表、堆棧、隊列和樹等,本文主要講解下堆棧的幾種實現方法以及他們的優缺點。 堆棧(stack)的顯著特點是後進先出(Last-In First-Out,
Time of Update: 2018-12-03
最近開始nodejs,為了搞清楚內部機制,嘗試寫寫基於V8的C++ code。我用的是mac,自然而然想到了用xcode作為IDE。成功編譯並運行v8 hello world的步驟如下:1)在mac上編譯nodejs參考https://github.com/joyent/node/wiki/Installation 的mac osx那一塊。當然也可以直接編譯V82)建立xcode項目建立一個Command line
Time of Update: 2018-12-03
此文來源於CSDN部落格,轉載出處(夏天的樹人的專欄) 跟Vincent 討論一下這種圖案,他使用js 實現了這種玫瑰線的圖案,使用html5的新功能。而發現,使用其他的語言也可以實現到這種圖案。效果還很不錯。 數學公式:p=a*sin(num*angle); 我想嘗試一個實驗,使用其他語言是不是可以一樣產生,經過測試原理是一樣的。這次使用c#的繪圖API。前提是,我對C#不熟悉,看這種文檔花了不少時間。而且很不熟悉,c#運作.硬頭皮寫了一個。不過幸運的是,圖案產生了。步驟一:建立一個c#
Time of Update: 2018-12-03
//類型轉換面試題.cppchar foo(void){ unsigned int a=6; int b=-20; char c; (a+b>6)?(c=1):(c=0); return c;}//解析: unsigned int 類型的資料與int類型的資料相運算後,自動轉換為unsigned int 類型。//因此a+b的值不是-14,而是一個unsigned
Time of Update: 2018-12-03
C# 可以使用的 .Net 類庫之龐大,不得不感慨一下。對於讀取檔案這一部分,可以使用的方法很多,特將想到和看到的方法收集在此,用到時可以查一查,溫習一下。以文字檔為例,可以有多種方法。方法一:System.IO.File.ReadAllTextstring content = System.IO.File.ReadAllText(fn);方法二:Stream Stream stream = File.OpenRead(fn); int bytesToRead = 1
Time of Update: 2018-12-03
#include"stdio.h"#include <iostream>#include"string.h"#include<stdlib.h>using namespace std;#define Max 20 //結點的最大個數typedef struct node{ char data; struct node *lchild,*rchild;}BinTNode; //自訂二叉樹的結點類型typedef BinTNode *BinTree;
Time of Update: 2018-12-03
//const面試題1.cpp//What does the keyword "const" means in C program? Please at least make two examples about//the usages of const.//[美國某著名電腦嵌入式公司2005面試題]//解析://在C程式中,const的用法主要有定義常量、修飾函數參數、修飾函數傳回值等3個用處。在C程式中,它還可以//修飾函數的定義體,定義類中某個成員函數為恒態函數,即補改變類中的資料成員。/
Time of Update: 2018-12-03
以下迷宮問題中有用到 棧的基本操作 請查看本部落格其他文章————【棧的基本操作的實現】//maze.cpp#include "stack.cpp"#define MAXLEN 10 //迷宮包括外牆最大行列數目typedef struct{ int r; int c; char adr[MAXLEN][MAXLEN]; //可取' ', '*' , '@' , '#'}MazeType; //迷宮類型Status InitMaze(MazeType &maze){ /
Time of Update: 2018-12-03
datagridview 多行刪除,前提是級聯,否則會出現異常,導致無法正常刪除記錄。private void btndelete_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["OnlineResConnectionString"].ToString());
Time of Update: 2018-12-03
++i,在使用i之前,進行自加動作;i++,在使用i之後,進行自加動作。例如:(1)i=1,j=i++;//j=i++,即為j先引用了i的值,然後i完成++的動作 printf("%d,%d\n",i,j);//結果為i=2,j=1 (2)i=1,j=++i;//j=++i,即為i先完成++的動作,然後j再引用 printf("%d,%d\n",i,j);//結果為i=2,j=2
Time of Update: 2018-12-03
屬性(C#)(摘自msdn)2008-11-19 09:49(摘自msdn)屬性是這樣的成員:它們提供靈活的機制來讀取、編寫或計算私人欄位的值。可以像使用公用資料成員一樣使用屬性,但實際上它們是稱為“訪問器”的特殊方法。這使得資料在可被輕鬆訪問的同時,仍能提供方法的安全性和靈活性。在本樣本中,類 TimePeriod 儲存了一個時間段。類內部以秒為單位儲存時間,但提供一個稱為 Hours 的屬性,它允許用戶端指定以小時為單位的時間。Hours
Time of Update: 2018-12-03
#include<iostream>using std::cout;using std::endl;int arr1[5];int arr2[5] = {1,3,5};int main(){int arr3[5];int arr4[5] = {2,4,6};int *pi1 = new int[5];int *pi2 = new int[5]();for(int i = 0; i != 5; i++) cout << arr1[i] << " ";
Time of Update: 2018-12-03
在C++中實現變長數組1.變長一維數組這裡說的變長數組是指在編譯時間不能確定數組長度,程式在運行時需要動態分配記憶體空間的數組。實現變長數組最簡單的是變長一維數組,你可以這樣做://檔案名稱: array01.cpp#include<iostream>using namespace std;int main(){ int len; cin>>len; //用指標p指向new動態分配的長度為len*sizeof(int)的記憶體空間 int *p=new
Time of Update: 2018-12-03
根據網上整理:分配的 網際網路通訊協定 (IP)編號注意:協議編號採用十進位符號形式。 十進位 關鍵字 協議======= ======= ==============0 HOPOPT IPv6 逐跳選項 1 ICMP Internet 控制訊息 2 IGMP Internet 組管理 3 GGP 網關對網關
Time of Update: 2018-12-03
總結一下 如 C1 * p = new C2(); delete p; 這樣的代碼 這裡,C1是C2的基類,C1可能是C2的爸爸,可能是爺爺,可能是爸爸的爺爺,可能是爺爺的爺爺………………………… 那麼首先,調用的建構函式是 從C2的第一個祖先一直到C2………………。和C1是什麼沒關係 在delete p的時候,那麼有以下幾種情況: 1) C1或者C1的祖先(基類)中,含有虛解構函式,那麼調用的解構函式的順序是從C2一直到C2的第一個祖先
Time of Update: 2018-12-03
C++ casts那些事兒 C/C++編譯器類型隱式轉換我想大家都一定很熟悉了。寫C++的程式,要麼是依靠編譯器進行類型隱式轉換,要麼自己顯示將類型進行轉換,但是很少用到cast。最近看到一些代碼經常使用cast來進行顯示轉換。自己研究下,發現cast這東西還是很有意思。 C++中cast關鍵字有:static_cast, dynamic_cast, const_cast, reinterpret_cast四種cast的文法: cast-name<type>(expressiong)
Time of Update: 2018-12-03
stroul,strdupsnprintf()atio C中常用字串操作函數#include <string.h> size_t strlen(const char *s) 測量字串長度s的實際長度。例如s[20]="abc",那麼strlen(s)的結果是3,而不是20.這就是實際長度 char *strcat(const char *s1, const *s2) 將字串s2串連到s1的尾部。從s1的/0開始。 int strcmp(const *s1,const *s2
Time of Update: 2018-12-03
對比兩種傳遞方式:按值傳遞變數,需要有複製實參記憶體以初始化形參,所以這將帶來一些開銷。在討論簡單變數時,內建的類型(如int、float)的開銷可以忽略不計,但對於大型的對象(如代表整個3D世界的大對象)來說,複製的代價會很高昂。C語言也提供了一種指標式的“按值傳遞”,也可以解決傳遞大對象時代價過高的問題,然而“指標”由於安全問題一直為眾多程式員所詬病。故而C++又提供了一個按引用傳遞。按引用傳遞:按值傳遞無法修改實參的值,因為它形參永遠是實參的副本;然而按引用傳遞可以修改實參的值。 某些情況
Time of Update: 2018-12-03
如果沒有自訂複製建構函式,則系統會建立預設的複製建構函式,但系統建立的預設複製建構函式只會執行“淺拷貝”,即將被拷貝對象的資料成員的值一一賦值給新建立的對象,若該類的資料成員中有指標成員,則會使得新的對象的指標所指向的地址與被拷貝對象的指標所指向的地址相同,delete該指標時則會導致兩次重複delete而出錯。下面是樣本://animal.h#include<string>#include<iostream>using namespace std;class
Time of Update: 2018-12-03
在C#中有個較為重要,而常被一些人忽視的符號——問號(?)。在這裡整理一下它在C#的幾種情況:1. 可空類型修飾符“T?”。(我承認先前我確實不知道,也不常用)可空類型的基礎類型可以是任何非可空實值型別或任何具有struct約束的型別參數,但不能是可空類型或參考型別。例如:int? 代表是可空的整形,而