摘要:C/C++除了pointer外,function prototype和header file也是C/C++的一大特色。
阅读全文
摘要:一篇對C/C++ pointer有整體介紹的好文章,淺顯易懂,讓你可以馬上『見到樹林』...
阅读全文
摘要:C語言書籍眾多,哪些才是值得看的Bible呢?
阅读全文
摘要:當學會C/C++用pointer實作pass by address後,再看到array傳進function,直覺會馬上問自己,到底array傳進function是用pass by value還是pass by address?
阅读全文
摘要:如std::string,在.h宣告時會用到,而在.cpp實作時也用到,若在.h和.cpp都去#include ,這樣又重複include了,枉費我們辛苦的在.h用header guard....。
阅读全文
摘要:在C/C++語言中,pointer和array是一體兩面的東西,理論上array所有的寫法,都可以用pointer取代,只是array的寫法程式可讀性較高,但還是有程序員喜歡用pointer,所以還是得了解。
阅读全文
摘要:此范例demo如何在Linux下建立一个thread。
阅读全文
摘要:凡是C语言的初学者,刚谈到简单的IO时,都会学到以下的程序,只要使用者输入什么,就印什么。 1#include 23int main() {4 char c;5 while(c = getch()) {6 printf("%c\n",c);7 }8} 当我第一次看到这种写法时,非常的震惊,马上改写成C#测试,当然连compile都不会过,为什么C语言可以这样写呢?若将以上程序改写一般语...
阅读全文
摘要:getch()原來在,但現在只有在提供,需配合curses的寫法。
阅读全文
摘要:setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间格一段时间就执行某个function,以下程序demo如何使用setitimer()。
阅读全文
摘要:当宣告C/C++的built-in type后,必须马上initialize该变量的值,因为C/C++在宣告变量时,仅为该变量配置了一块内存,却没对该变量设定任何初始值,所以该变量目前的值为宣告该变量前所残留的值,虽可直接使用该变量,但并没有任何意义。有沒有辦法快速的設定array,struct的初始值呢?
阅读全文
摘要:C++的功能强大无庸置疑,程序写起来也比C高阶且精简很多,但代价是编出的执行档越来越臃肿,我在Linux下写了两个以下的小程序作编译,功能完全一样,但执行档大小已经有差别了。
阅读全文
摘要:有很多人习惯将local variable宣告在function body的最前面,甚至很多source code和书也都这样写,但事实上这并不是一个好的practice。
阅读全文
摘要:摘自C語言教學手冊 P2-6,洪維恩著 編譯器會依您所撰寫的程式內容自己到所含括進來的標頭檔去擷取所需要的資訊,而沒有使用到的資訊則不屬於這個程式的範圍,故不會增加程式碼的大小‧當然,我們也沒有必要含括一些沒有必要的標頭檔到程式來,因為這只會徒增程式閱讀的困擾‧
阅读全文
摘要:C++的Standard Library並沒有提供將std::string轉成大寫和小寫的功能,只有在提供將char轉成大寫(toupper)和小寫(tolower)的功能而已,在此利用STL的transform配合toupper/tolower,完成std::string轉換大(小)寫的功能,也看到Generics的威力,一個transform function,可以適用於任何型別,且只要自己提供
Algorithm,就可完成任何Transform的動作。
阅读全文
摘要:++i和i++哪个速度较快呢?在C++ Primer 4th整本书中,都是用++i,我今天特别跑去问C++老师为什么,答案是因为++i较快,所以C++ Primer才都使用++i。
阅读全文
摘要:在C/C++中,只要宣告一个变量,如int i,尽管没去用它,内存已经占了4 byte的内存了,这个动作称为Definition,以下简单的源代码即可证明,结果可显示该变量的内存地址。
阅读全文
摘要:在C++ Primer 4th P.38,对float和double做了以下的建议
阅读全文
摘要:我很早以前就有这个疑问,在C/C++中,若明知自己的计算没有很大,是否可以char或short来取代int以节省内存。C++ Primer 4th在P.38做了以下的建议。
阅读全文