原创 C++ Primer(第五版)4.9--4.11.3節練習

4.28     #include <iostream> using namespace std; int main() { cout << "char: " << sizeof(char) << endl; cout << "

原创 C++ Primer(第五版) 7.4--7.6節練習

7.33    pos位於類的作用域之外,無法直接使用,應改爲Screen::pos。 7.34    放在最後一行無法通過編譯,聲明中使用的名字,包括返回類型和參數列表使用的名字,都必須在使用前確保可見。 7.35     typed

原创 Linux網絡驅動示例之snull網絡接口(三):測試驗證

1. 編譯得到.ko文件後用insmod snull.ko添加模塊; 2. 在/etc/networks中添加網絡號:     snullnet0    192.168.0.0     snullnet1    192.168.1.0 3

原创 C++ Primer(第五版)3.3.1--3.4.1節練習

3.12    (a)正確;(b)錯誤,元素類型不匹配;(c)正確。 3.13    (a)元素數量0;(b)元素數量10,每個都爲0;(c)元素數量10,每個都爲42;(d)元素數量1,值爲10;            (e)元素數量2

原创 C++ Primer(第五版) 2.6.1--2.6.3節練習

2.39    類定義的最後要加上分號。 2.40     struct Sales_data { string bookNo; unsigned units_sold = 0; double revenue =

原创 C++ Primer(第五版) 2.4--2.5.3節練習

2.26    (a)錯誤,const對象必須初始化;            (d)錯誤,const對象的值不能再改變。 2.27    (a)錯誤,非常量引用不能綁定到字面值;            (b)合法;            

原创 C++ Primer(第五版)7.2--7.2.1節練習

7.16    訪問說明符指定其後成員的訪問級別,其出現次數沒有嚴格規定,有效範圍直到出現下一個訪問說明符或到達類結尾。可在整個程序內被訪問的成員定義爲public的;只能被類的成員函數訪問,不能被使用該類的代碼訪問,定義爲private

原创 C++ Primer(第五版) 4.1.2--4.4節練習

4.1    105 4.2    (a)    *(vec.begin())shiyong          (b)    (*(vec.begin())) + 1 4.3    兩個準則可以避免缺陷:          1.    不

原创 C++ Primer(第五版)3.1--3.2.3節練習

3.1    using聲明形式:using namespace::name,例如:using std::cin; using std::cout; 等。頭文件代碼一般不應適用using聲明。 3.2     #include <ios

原创 C++ Primer(第五版) 3.4.2節練習

3.24     #include <iostream> #include <vector> using namespace std; int main() { vector<int> ivec; int i; while (

原创 C++ Primer(第五版) 7.3.1--7.3.4節練習

7.23     #ifndef SCREEN_H #define SCREEN_H class Screen { public: using pos = std::string::size_type; Screen() = de

原创 C++ Primer(第五版) 3.5.4--3.6節練習

3.37    輸出結果是hello,每個字符佔一行。 3.38    指針的值只是所指對象的內存地址,將兩個地址值相加沒有意義。 3.39     #include <iostream> #include <cstring> #inc

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

設備驅動中併發控制的常用機制:中斷屏蔽,原子操作,自旋鎖,互斥量。 1. 中斷屏蔽:     Linux的進程調度都使用中斷實現,屏蔽中斷也就屏蔽了內核搶佔引起的併發問題,但是中斷屏蔽只針對本CPU,不能解決多 個CPU引起的競爭。  

原创 C++ Primer(第五版) 3.5.1--3.5.3節練習

3.27    (a)非法,buf_size不是常量表達式;            (b)合法;            (c)非法,只有當txt_size()是constexpr的才合法;            (d)非法,字符串以'\0

原创 C++ Primer(第五版) 4.5--4.8節練習

4.17    前置版本:先將運算對象加1,將改變後的對象作爲求值結果;後置版本:將運算對象加1,但求值結果是運算對象改變之前的那個值的副本。 4.18    使用前置,pbeg先加1,再解引用,無法輸出第一個元素,而且最後會越界。 4.