CPP第四版第五章:位操作符、sizeof及部分编程习题
位操作符
?? ?位操作符使用整型的操作數(shù),位操作符將其整型操作數(shù)視為二進(jìn)制位的集合,為每一位提供檢驗(yàn)和設(shè)置的功能。
?? ??? ?~?? ??? ?位求反
?? ??? ?<< >>?? ?左移 右移
?? ??? ?&?? ??? ?位與
?? ??? ?^?? ??? ?位異或
?? ??? ?|?? ??? ?位或
?? ?位操作符操縱的整數(shù)的類型可以是有符號(hào)的也可以是無(wú)符號(hào)的,如果操作數(shù)為負(fù)數(shù),則位操作符如何處理其操作數(shù)的符號(hào)位依賴于機(jī)器。于是它們的應(yīng)用可能不同
?? ?在一個(gè)應(yīng)用環(huán)境中實(shí)現(xiàn)的程序可能無(wú)法用于別一個(gè)應(yīng)用環(huán)境
?? ?因此:對(duì)于位操作符,由于系統(tǒng)不能確保如何處理其操作數(shù)的符號(hào)位,所以強(qiáng)烈建議使用unsigned整形操作數(shù)。
?? ?
sizeof操作符
?? ?sizeof操作符的作用是返回一個(gè)對(duì)象或類型名的長(zhǎng)度,返回值的類型為size_t,長(zhǎng)度的單位是字節(jié)。sizeof表達(dá)式的結(jié)果是編譯時(shí)常量,該操作符有發(fā)下三種語(yǔ)法形式:
?? ?sizeof (type name);
?? ?sizeof (expr);
?? ?sizeof expr;
?? ?使用sizeof的結(jié)果部分依賴所涉及的類型:
?? ?1、對(duì)char類型或值為char類型的表達(dá)式做sizeof操作保證得1。
?? ?2、對(duì)引用類型做sizeof操作將返回存放此引用類型對(duì)象的內(nèi)存空間大小。
?? ?3、對(duì)指針做sizeof操作將返回存放指針?biāo)璧膬?nèi)存大小;注意,如果要獲取該指針?biāo)赶虻膶?duì)象的大小,則必須對(duì)該指針進(jìn)行解引用。
?? ?4、對(duì)數(shù)組做sizeof操作等效于將對(duì)其元素類型做sizeof操作的結(jié)果乘上數(shù)組元素的個(gè)數(shù)。
?? ?
習(xí)題5.18 編寫程序定義一個(gè)vector對(duì)象,其每個(gè)元素都是指向string類型的指針,讀取該vector對(duì)象,輸出每個(gè)string的內(nèi)容及其相應(yīng)的長(zhǎng)度
習(xí)題5.21 編寫程序處理vector<int>對(duì)象的元素:將每個(gè)奇數(shù)值元素用該值的兩倍替換
#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;}?
轉(zhuǎn)載于:https://www.cnblogs.com/drink-coffee/archive/2013/05/07/3066018.html
總結(jié)
以上是生活随笔為你收集整理的CPP第四版第五章:位操作符、sizeof及部分编程习题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高性能WEB开发之Web性能测试工具推荐
- 下一篇: 一些不常用的代码汇总(不断更新)