CPP第四版第五章:位操作符、sizeof及部分编程习题
位操作符
?? ?位操作符使用整型的操作數,位操作符將其整型操作數視為二進制位的集合,為每一位提供檢驗和設置的功能。
?? ??? ?~?? ??? ?位求反
?? ??? ?<< >>?? ?左移 右移
?? ??? ?&?? ??? ?位與
?? ??? ?^?? ??? ?位異或
?? ??? ?|?? ??? ?位或
?? ?位操作符操縱的整數的類型可以是有符號的也可以是無符號的,如果操作數為負數,則位操作符如何處理其操作數的符號位依賴于機器。于是它們的應用可能不同
?? ?在一個應用環境中實現的程序可能無法用于別一個應用環境
?? ?因此:對于位操作符,由于系統不能確保如何處理其操作數的符號位,所以強烈建議使用unsigned整形操作數。
?? ?
sizeof操作符
?? ?sizeof操作符的作用是返回一個對象或類型名的長度,返回值的類型為size_t,長度的單位是字節。sizeof表達式的結果是編譯時常量,該操作符有發下三種語法形式:
?? ?sizeof (type name);
?? ?sizeof (expr);
?? ?sizeof expr;
?? ?使用sizeof的結果部分依賴所涉及的類型:
?? ?1、對char類型或值為char類型的表達式做sizeof操作保證得1。
?? ?2、對引用類型做sizeof操作將返回存放此引用類型對象的內存空間大小。
?? ?3、對指針做sizeof操作將返回存放指針所需的內存大小;注意,如果要獲取該指針所指向的對象的大小,則必須對該指針進行解引用。
?? ?4、對數組做sizeof操作等效于將對其元素類型做sizeof操作的結果乘上數組元素的個數。
?? ?
習題5.18 編寫程序定義一個vector對象,其每個元素都是指向string類型的指針,讀取該vector對象,輸出每個string的內容及其相應的長度
習題5.21 編寫程序處理vector<int>對象的元素:將每個奇數值元素用該值的兩倍替換
#include <iostream>#include <vector>using namespace std;int main(){vector<int> ivect;int i;while(cin >> i){ivect.push_back(i);}vector<int>::iterator vbegin = ivect.begin();while(vbegin != ivect.end()){*vbegin = (*vbegin) % 2 == 0 ? *vbegin : (*vbegin) * 2;cout << *vbegin << endl;vbegin++;}return 0;}?
轉載于:https://www.cnblogs.com/drink-coffee/archive/2013/05/07/3066018.html
總結
以上是生活随笔為你收集整理的CPP第四版第五章:位操作符、sizeof及部分编程习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高性能WEB开发之Web性能测试工具推荐
- 下一篇: 一些不常用的代码汇总(不断更新)