原创 模板類 與 類模板

用相同的類模板可以組建任何類型的對象集合。在傳統C++中,可能有一個浮點數類或者一個整數類,如果使用類模板,可以定義一個對兩者都適用的類number。   類模板說明的一般形式是:   template <類型形參表>       

原创 雜記,隨時更新

不管是顯示的類型轉換還是隱式的類型轉換,都有一個到轉換結果類型的臨時變量的產生:譬如:       int i = 1.2;    //實際的賦值過程可能是 int temp = 1.2; int i = temp; 無符號變量和有符號變

原创 仿函數認識

C++仿函數到底是什麼呢?其實它就是一個能像函數一樣工作的東西,它的主要作用將會在這篇文章中進行詳細的介紹。 C++編程語言爲我們帶來了非常大的好處。不過即使是我們經常使用的功能也有很多比較高深的內容值得我們去深入的探討。在這裏我們將

原创 Makefile中的變量和函數

  表 1-6  GNU make 命令的常用命令行選項 命令行選項              含義-C DIR              在讀取 makefile 之前改變到指定的目錄 DIR。-f FILE             以

原创 6個變態的C語言寫的Hello World

下面的六個程序片段主要完成這些事情: 1.輸出Hello, World2.混亂C語言的源代碼(加密源代碼,嘿嘿)下面的所有程序都可以在GCC下編譯通過,只有最後一個需要動用C++的編譯器g++才能編程通過。 hello1.c     #d

原创 Linux系統編程---socket編程(全+精)

1. 預備知識 1.1. 網絡字節序     我們已經知道,內存中的多字節數據相對於內存地址有大端和小端之分,磁盤文件中的多字節數據相對於文件中的偏移地址也有大端小端之分。網絡數據流同樣有大端小端之分,那麼如何定義網絡數據流的地址呢?發

原创 thread 注意事項

1. 需要注意的是一個線程僅允許唯一的一個線程使用pthread_join()等待它的終止,並且被等待的線程應該處於可join狀態,即非DETACHED狀態。爲了避免內存泄漏,所有線程的終止,要麼已設爲DETACHED,要麼就需要使用pt

原创 C++:cctype中的字符函數

    函數名稱 返回值 isalnum() 如果參數是字母數字,即字母或者數字,函數返回true isalpha() 如果參數是字母,函數返回true isblank() 如果參數是水平製表符或空格,函數

原创 面試題,進程中的兩個fork

今天一位朋友去一個不錯的外企面試linux開發職位,面試官出了一個如下的題目:       給出如下C程序,在linux下使用gcc編譯: 1 #include "stdio.h" 2 #include "sys/types.h" 3

原创 互斥量、條件變量與pthread_cond_wait()函數的使用,詳解

1. 首先pthread_cond_wait 的定義是這樣的 The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a co

原创 POSIX多線程中的pthread_cond_wait() 函數 使用示例2個

 由於工作站軟件的移植牽涉到這方面的內容, 搜一最近一直在學習Linux線程方面的知識!由於<Beginning  the Linux programming>這本書上沒有將條件變量的問題,所以不能理解的一個函數就是pthread_con

原创 linux的文件系統

linux目錄架構/   根目錄/bin    常用的命令 binary file 的目錄/boot   存放系統啓動時必須讀取的檔案,包括核心 (kernel) 在內     /boot/grub/menu.lst   GRUB設置  

原创 自編 socket 通信示例

注意:sockaddr地址結構體中的成員,除了sin_family之外,其他的成員都要使用網絡字節序(高地址先存,低地址後存,而一般的基於inter的CPU都是低地址先存,高地址後存),所以我們要把這些成員改變爲網絡字節序(htonl(I

原创 關於靜態成員變量在類繼承中的一個誤區

     以前一直認爲:靜態成員變量是該類共有的,那麼其派生類就一定要開闢一段新的內存來該存儲派生類從基類中繼承的靜態成員變量。    正確的說法應該是:基類和其派生類 共享該基類的靜態成員變量內存!    可以看下面的代碼:#inclu

原创 C語言中的位操作例子(將任一整數轉換爲二進制形式)

將任一整數轉換爲二進制形式 *問題分析與算法設計將十進制整數轉換爲二進制的方法很多,這裏介紹的實現方法利用了C語言能夠對位進行操作的特點。對於C語言來說,一個整數在計算機內就是以二進制的形式存儲的,所以沒有必要再將一個整數經過一系列的運算