7-19上午刷题未知点集合
問題1
X&(X-1)是什么意思?
?
問題2
?
?
對于算法,一個是要求高效 同時 要便于識別錯誤
?
?
問題3
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<conio.h>
?
using namespace std;
?
int main()
{
float a = 1.0f;
cout << "float a = 1.0f" << endl;
cout <<"int(a) = "<< int(a) << endl;
cout <<"&a = "<< &a << endl;
cout <<"(int&)a = "<< (int&)a << endl;
cout <<"boolalpha ((int)a == (int &)a) = "<< boolalpha << ((int)a == (int &)a) << endl;//輸出什么?
cout << "\n" << endl;
float b = 0.0f;
cout << "float b = 0.0f" << endl;
cout << "int(b) = " << int(b) << endl;
cout << "&b = " << &b << endl;
cout << "(int&)b = " << (int&)b << endl;
cout << "boolalpha ((int)b == (int &)b) = " << boolalpha << ((int)b == (int &)b) << endl;//輸出什么?
cin.get();
return 0;
}
?
?
問題4
| ? | |
| ? |
?
?
解析:unsigned int變量賦值給unsigned char變量時會發(fā)生字節(jié)截斷(3位和高于3位的將 被程序自動丟棄)。
000000f7
第二個數(shù),也就是char* b=(char*)&a中a本身為一個uint類型的值,把它的地址賦給一個執(zhí)行char類型數(shù)據(jù)的指針。char類型的長度只有一個字節(jié),打印char類型的指針指向的值。
影響的是指針的尋址。
fffffff7
注:
&a的結(jié)果是一個指針,它的類型取決于a的類型,此處&a的類型應(yīng)該是:
?
| ? | |
| ? |
上面等價于:
?
| ? | |
| ? |
上面的步驟就是將一個unsigned int型的指針強制轉(zhuǎn)換成一個char型的指針。所以請注意:這里是char類型的指針轉(zhuǎn)換,而不是char類型的轉(zhuǎn)換。
這樣轉(zhuǎn)換后,假設(shè)a的地址是x:
?
| ? | |
| ? |
從一個函數(shù)返回一個表達式的類型與返回類型不相同
在這種情況下返回的表達式類型自動轉(zhuǎn)換成函數(shù)類型。例如:
?
| ? | |
| ? |
?
?
?
總結(jié)
以上是生活随笔為你收集整理的7-19上午刷题未知点集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++复习 第一部分c到c++的过度
- 下一篇: 有关windows 10自动更新 永久关