-
1. C++中是什麼型別的迭代器? 下面是如何使用迭代器的示例。
迭代器是指向容器的指標,獨立於容器中儲存的物件,並體現了通用程式設計。
用法:vector::iterator iter=;
此迭代器是指向 vec 容器的標頭元素。
2. 引用運算子 (&) 和取消引用運算子 (*) 以及位址運算子 (&) 和指標運算子 (*) 之間是否有任何內在聯絡?
引用類似於指標,但引用不需要像指標一樣為指標分配記憶體。
在指標上使用取消引用運算子時,它是對指標指向的物件的直接引用。
address 運算子獲取物件的位址。 該值是記憶體位址。
指標運算子 (*) 和取消引用運算子 (*) 是一回事。
-
迭代器是乙個物件,可用於迴圈訪問 STL 容器中的部分或全部元素,每個迭代器物件表示容器中的乙個確定位址。 迭代器修改常規指標的介面,迭代器是概念抽象:任何行為類似於迭代器的東西都可以稱為迭代器。
但是,迭代器具有許多不同的功能,可以將抽象容器與通用演算法統一起來。
具體來說,房東可以在其中輸入“迭代器”。 有示例和功能。
關於引用和指標。 房東是這樣理解的:
int i=4;
int &ii=i;
並且必須初始化引用語句。 值不能隔行掃瞄; 例如:int ii=i; 這是錯誤的。
指標是不同的,它們可以獨立存在,可以宣告然後初始化。 他在記憶體中有乙個無符號的 long int 記憶體單元,用於其他記憶體位址。
-
這應該是反向程式碼和補碼的問題。
讓我們從幾個概念開始:
正數的補碼與原始程式碼相同。
負數補碼的符號位為1,其餘數字為逐位數字絕對值的原始程式碼。 然後在整數上加 1
例如,原始碼:
原始程式碼 7 是 0 0000111
原始程式碼 7 是 1 0000111
可以看出,原始程式碼無法額外計算。
反碼:正數:正數的反碼與原始碼相同。
負數:負數的反碼,符號位為“1”,數值部分按位反轉。
補碼:正數:正數的補碼與原始程式碼相同。
負數:負數的補碼是符號位“1”,數字部分用位反轉,然後將1加到最後乙個(最低數字)。 即“反程式碼+1”。
在內部,計算使用補碼來儲存值,因此問題的步驟如下:
首先,將 123 轉換為二進位數 01111011,因為正補碼與原始程式碼相同,計算機儲存01111011
然後你取否定得到10000100,那麼第乙個位變成1,這意味著它現在是乙個負值,現在需要找出這個負值是什麼,也是根據補碼規則,保留符號位,並在後面的位上加1, 得到11111100,這個值是 -124。
希望大家理解,祝大家進步!
-
這意味著按位否定,你對此的考慮較少。
123 的二進位表示為:01111011
按位否定的結果是:10000100
根據 8bit,它是 -124
-
有符號整數使用補碼表示形式而不是原始程式碼。
10000100是補碼,找到它的值時,去掉符號位,將下面的乙個倒置加到1,即1111011+1=1111100,即4+8+16+32+64=124
所以它是-124
參考資料是百科全書中的“補語”條目,您可以檢視。
-
看看上面的資料,我想你會很容易發現,給定月份的兔子數量正好是前兩個月兔子數量的總和,也就是說。
f[n] = f[n-1] +f[n-2];
那麼這個程式是什麼意思呢?
首先,f1 = f2 = 1 是第乙個月和第二個月的兔子數量,然後輸出 f1, f2;
在那對之後 f1 = f1+f2 ; 根據公式,您可以知道當前的 f1 是數量的第三個月。
那麼此時 f2 = f1+f2; f1 是第三個月的數量,f2 是第二個月的數量,加起來就是第四個月的數量。
同樣,通過這種方式,您可以輸出未來幾個月的數量。
-
int main()
return 0;
根據這個話題,這個程式是錯誤的。
根據樓下的解釋,確實可以解釋**中的資料。 但問題是,第乙個月和第二個月的兔子是1對,也就是2對,第三個月是2對,也就是4,這個程式中的公式從一開始就錯了。