一、轉換構造函數的學習:
1、回憶數據類型轉換:
在平時寫代碼的時候,最怕的就是那種隱式數據類型轉換了,一不小心,軟件就bug不斷;而顯示數據類型(一般是程序自己去強制類型轉換,這個是我們能夠明顯的識別和掌控的)。為此我們這里總結了一副隱式類型轉換的圖:

下面我們來幾個隱式轉換的例子:
代碼版本一:
#include <iostream>
#include <string>
int main()
{
short s ='a';
unsigned int ui = 100;
int i = -200;
double d = i;
std::cout<<"d =" << d <<std::endl;
std::cout<<"ui= "<<ui<<std::endl;
if((ui+i)>0)
{
std::cout<<"Postive"<<std::endl;
}
else
{
std::cout<<"Negative"<<std::endl;
}
return 0;
}
輸出結果:
root@txp-virtual-machine:/home/txp# ./a.out
d =-200
ui= 100
Postive
注解:這里我們明顯發現(-200+100)還是大于0,這顯然不符合正常人的思維了;所以我們仔細分析一下,發現這里肯定是進行了隱式轉換了,為此我們再加一條語句看看(ui+i)的值到底是多少:
代碼版本二:
#include <iostream>
#include <string>
int main()
{
short s ='a';
unsigned int ui = 100;
int i = -200;
double d = i;
std::cout<<"d =" << d <<std::endl;
std::cout<<"ui= "<<ui<<std::endl;
if((ui+i)>0)
{
std::cout<<"(ui+i) = "<<ui+i<<std::endl;
std::cout<<"Postive"<<std::endl;
}
else
{
std::cout<<"Negative"<<std::endl;
}
return 0;
}
近日,電子科技大學基礎與前沿研究院教授湯迎課題組,聯合中國科學院理論物理研究所研究員張潘、博士后劉晶,北京師范大學系統科學學院教授張江在《自然—通訊》上發表了研究論文。論文報道了利用變分自回歸網絡求解......
大視場像質優秀的光學望遠鏡是天文巡天觀測的核心設備。然而,光學系統中的光學元件失調會造成各視場上的像差有規律的失對稱性的退化,降低觀測圖像的質量,影響望遠鏡觀測效率;利用機器學習技術實現基于星像測量的......
摘要:研究了置于光腔中的兩個二能級原子,在強相干場驅動下的共振熒光光場的輻射場相干性質,發現在壞腔條件下,可以通過調節光腔與相干場的頻率來提高一階可見度和減小二階關聯函數.這是因為改變光腔與相干場的頻......
摘要分子水平上理解蛋白質吸附的機理,是目前蛋白質工程、生物材料和生物醫學領域中一個基本問題。......
摘要一般的蛋白質對接程序能夠提供大量的待選構象,但其中僅含有少量的正確構象。現在時接的主要工作在于如何從這些大量構象中挑出正確構象。我們先前的研究工作證明蛋白質界面比非界面表面具有更高的能量。......