原创 c 經典100題

C經典100題(1) http://hi.baidu.com/lewutianc語言經典100題【實用】 【程序1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? 1.程序分析:可填在百位、十位、個

原创 c/c++內存劃分 堆和棧

http://hi.baidu.com/lewutian   一、一個經過編譯的C/C++的程序佔用的內存分成以下幾個部分:   1、棧區(stack):由編譯器自動分配和釋放 ,存放函數的參數值、局部變量的值等,甚至函數的調用過程

原创 Data-Structure 之一 二

 Data-Structure 之一 第1章 概論 數據結構討論的是數據的邏輯結構、存儲方式以及相關操作的實現等問題。本章講述數據結構的

原创 揭開私有繼承的面紗

   什麼是私有繼承?以前在學校學習的時候,冥冥乎知道有這樣一個東西,卻沒有仔細研究過。後來工作中用到Boost庫纔開始瞭解它。如果說保護繼承大多是爲了語言完整性的話,私有繼承還是有一些用途的。 私有繼承 vs 公有繼承 公有繼承繼承的

原创 C++ 值傳遞、指針傳遞、引用傳遞詳解

  摘要: 最近寫了幾篇深層次討論數組和指針的文章,其中提到了C語言中,所有非數組的形式參數傳遞均以值傳遞形式數組和指針背後內存角度語義"陷阱"---數組和指針而關於值傳遞,指針傳遞,引用傳遞這幾個方面還會存在 ... 最近寫了幾

原创 C++ 對象的內存佈局(上)

                    C++ 對象的內存佈局(上) 陳皓 http://blog.csdn.net/haoel 點擊這裏查看下篇>>> 前言 07年12月,我寫了一篇《C++虛函數表解析》的文章,引起了大家

原创 Linux設備驅動中的阻塞與非阻塞總結

阻塞與非阻塞訪問是I/O操作的兩種不同模式,前者在I/O操作暫時不可進行時會讓進程睡眠。 在設備驅動中阻塞I/O一般基於等待隊列來實現,等待隊列可用於同步驅動中事件發生的先後順序。 使用非阻塞I/O的應用程序也可藉助輪詢函數來查詢設

原创 軟件設計模式

 來源: 李齊禮的日誌 一般模式有4個基本要素:模式名稱(pattern name)、問題(problem)、解決方案(solution)、效

原创 Linux上vi(vim)編輯器使用教程

2011年05月24日 上午 | 作者:VPSer vi(vim)是上Linux非常常用的編輯器,很多Linux發行版都默認安裝了vi(vim)。vi(vim)命令繁多但是如果使用靈活之後將會大大提高效率。vi是“visual inte

原创 Linux設備驅動中的併發控制總結

併發(concurrency)指的是多個執行單元同時、並行被執行。而併發的執行單元對共享資源(硬件資源和軟件上的全局、靜態變量)的訪問則容易導致競態(race conditions)。 SMP是一種緊耦合、共享存儲的系統模型,它的

原创 Linux字符設備驅動總結

  Linux2.6內核中使用cdev結構體描述字符設備: struct cdev { struct kobject kobj; // 內嵌的kobject對象,描述設備引用計數 struct module *owner; //

原创 c++模板詳解

  c++ 模板分爲2類: 1. 函數模板 格式:template <typename 形參名,typename 形參名> 反回類型函數名(參數列表){函數體} 比如: template <typename T> void swap(T&

原创 有關(int&)和(int)的區別

先看一段程序 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include "stdafx.h" #include <

原创 C/C++中的引用和指針

    引用又稱 別名,它可以最爲對象的一個名字,但它既不是對象的指針,也不是對象的副本。 通過引用可以間接地操作對象,使用方式類似於指針,但不需要指針的語法。 使用規則: 1> 引用被創建的同時必須被初始化,(指針可以在任何時

原创 5.多態性和虛函數

第五章 小 結 (1) C++的多態性表現在它爲編程者提供了運算符重載,函數名重載和虛函數等運行機制。運算符重載和函數名重載採用靜態聯編機制,而虛函數採用動態聯編機制。 (2) 運算符重載是把 C++本身提供的標準運算符重新在類中定義,