Time of Update: 2018-12-06
C++記憶體問題(很多公司面試的題目,值得一看,看懂了別忘了告訴我) void GetMemory(char *p){p=(char*)malloc(100);}void Test(void){char *str =
Time of Update: 2018-12-06
環境:WinXPSP2 + VC6 + ORACLE10g步驟:1)建立demo.pc,內容如下:#include <stdio.h>#include <string.h>typedef char asciz;EXEC SQL BEGIN DECLARE SECTION;EXEC SQL TYPE asciz IS STRING(20);asciz username[20];asciz password[20];int dept_number;char
Time of Update: 2018-12-06
命名空間使用的關鍵字是namespace,命名空間可以互相嵌套使用命名空間的好處:1. 代碼可分布在多個檔案中,也就是擁有相同的命名空間可以分步在不同的檔案當中2. 命名空間具有擴充性,例子: 在C#中可以把類庫編譯成dll檔案從而讓程式調用,方法如下,在windows命令列下輸入,csc /target:library "需要轉為dll檔案的cs檔案的檔案名稱".cs;把dll檔案與主檔案進行關聯,csc /reference:"dll檔案名稱".dll
Time of Update: 2018-12-06
今天又關注了一下C#4.0的新特性, 可能這對4.0的老玩家已經不能構成興奮了...初學linq的時候就發現var類型十分詭異, 我們為了讓linq查詢的傳回值用在另一個方法或另一個類中而絞盡腦汁...現在終於好了, 看來microsoft也做了不少好事, 哈哈...少說廢話, 上代碼:代碼 Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
第5章 常量 常量是一種標識符,它的值在運行期間恒定不變。C語言用 #define來定義常量(稱為宏常量)。C++ 語言除了 #define外還可以用const來定義常量(稱為const常量)。5.1 為什麼需要常量 如果不使用常量,直接在程式中填寫數字或字串,將會有什麼麻煩?(1) 程式的可讀性(可理解性)變差。程式員自己會忘記那些數字或字串是什麼意思,使用者則更加不知它們從何處來、表示什麼。(2) 在程式的很多地方輸入同樣的數字或字串,難保不發生書寫錯誤。(3
Time of Update: 2018-12-06
using System; namespace BubbleSorter { public class BubbleSorter { public void Sort(int [] list) { int i,j,temp; bool done=false; j=1;
Time of Update: 2018-12-06
第9章 類的建構函式、解構函式與賦值函數建構函式、解構函式與賦值函數是每個類最基本的函數。它們太普通以致讓人容易麻痹大意,其實這些貌似簡單的函數就象沒有頂蓋的下水道那樣危險。 每個類只有一個解構函式和一個賦值函數,但可以有多個建構函式(包含一個拷貝建構函式,其它的稱為普通建構函式)。對於任意一個類A,如果不想編寫上述函數,C++編譯器將自動為A產生四個預設的函數,如 A(void); // 預設的無參數建構函式 A(const A
Time of Update: 2018-12-06
第6章 函數設計函數是C++/C程式的準系統單元,其重要性不言而喻。函數設計的細微缺點很容易導致該函數被錯用,所以光使函數的功能正確是不夠的。本章重點論述函數的介面設計和內部實現的一些規則。函數介面的兩個要素是參數和傳回值。C語言中,函數的參數和傳回值的傳遞方式有兩種:值傳遞(pass by value)和指標傳遞(pass by pointer)。C++ 語言中多了引用傳遞(pass by
Time of Update: 2018-12-06
來新公司半年了。 一直做.net c#開發,加上以前做.net
Time of Update: 2018-12-06
using System; namespace ShellSorter { public class ShellSorter { public void Sort(int [] list) { int inc; for(inc=1;inc<=list.Length/9;inc=3*inc+1);
Time of Update: 2018-12-06
首先有一個有趣的東西:如何不通過對象來訪問對象中的虛函數呢?我們來看下面這樣一段代碼: 1 #include <iostream> 2 using namespace std; 3 4 typedef void (*Fun)(void); // 函數指標 5 6 class A{ 7 public: 8 virtual void testA(void){ 9 cout<<"A is Print."<<endl;10 }11
Time of Update: 2018-12-06
第一部分 準系統 第4章 類型和聲明 1. 名字。用於較大的範圍的名字應該是不想對比較長的更加明確的名字,例如vector、Window_with_border和 Department_number。然而,如果在很小的範圍裡只使用那些短小而熟悉的名字,如x、i和p,代碼會顯得更清晰些。....
Time of Update: 2018-12-06
最近看CLR via C#的線程一部分,對線程的理解有了很大的提高。於是我突然想起了大學時在光穀書城看到的一本書,講的是微軟的面試,翻了幾頁就發現了作者在說這個問題。當時我感覺這個作者很牛B,因為對當時的水平還比較菜。後來就淡忘了。(當然我也沒買那本書,沒想到今後會求職)今天突然想起來這個問題。小試一下,居然成功了。我在這裡鬥膽向各位介紹一下背後的原理並附上代碼,這種程式沒有什麼實際意義,純粹一種加深對多線程理解的練習。有圖有真像:
Time of Update: 2018-12-06
測試代碼:1 FILE *f = fopen("1.txt", "w");2 printf("%x\n", f);3 fprintf(f, "%s", "0123");4 FILE *f2 = freopen("2.txt", "w", f);5 printf("%x\n", f);6 printf("%x\n", f2);7 fprintf(f, "%s",
Time of Update: 2018-12-06
std::move是一個用於提示最佳化的函數,過去的c++98中,由於無法將作為右值的臨時變數從左值當中區別出來,所以程式運行時有大量臨時變數白白的建立後又立刻銷毀,其中又尤其是返回字串std::string的函數存在最大的浪費。比如:1 std::string fileContent = “oldContent”;2 s =
Time of Update: 2018-12-06
進程啟動後使用的預設CPU集合,VC的連結選項中並無設定,可以自己修改PE檔案:1 LOADED_IMAGE img = {0};2 MapAndLoad("C:/Test05", NULL, &img, FALSE, FALSE);3 IMAGE_LOAD_CONFIG_DIRECTORY dir = {0};4 GetImageConfigInformation(&img, &dir);5 6 dir.ProcessAffinityMask = 3;7 8
Time of Update: 2018-12-06
前幾天轉載一篇quora上的文章,但是英文的,我還是覺得有必要將這篇文章翻譯一下,希望更多的人能夠看到C++是一門複雜的語言成為專業級c++程式員的路線:步驟0:理解c++語言 必須去讀Stroustrup的《The C++ Programming Language》,這個是必經的道路步驟1:瞭解c++曆史,理解c++的特性是怎樣被設計出來的 去讀Stroustrup的《The Design and Evolution of
Time of Update: 2018-12-06
1. strcat——字串串連 1 #include <iostream> 2 using namespace std; 3 4 int main(){ 5 6 char str[15] = "abcd"; 7 char str1[] = "abc"; 8 strcat(str, str1); 9 cout<<str<<endl;10 11 system("pause");12 return 0;13
Time of Update: 2018-12-06
關於本條款,作者一直在向我們強調一個觀點,那就是不要把C++當做我們學過的單純語言,而要把C++當做一個具有多個獨立特性的聯邦語言。1. C++由C發展而來,它相容一切C的文法特性,因此,C++國度裡的第一個聯邦——C語言,即面向過程的代表語言。2. 從一開始,C++引入了物件導向的特性,即C++一開始的名稱C with classes,這是C++的第二個聯邦——物件導向語言。3. 接著就是C++
Time of Update: 2018-12-06
QuickSortCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public static void QuickSort(int[] array, int left, int right) { do { int a = left; int b = right;