C++ 的布爾類型

來源:互聯網
上載者:User
1.

當運算式需要一個算術值時 布爾對象(如 found)和布爾文字都被隱式地提升成 int(正 如下面的例子) false 變成 0 而 true變成 1 例如  

bool found = false;
int occurrence_count = 0;
 
while ( /* 條件省略  */ )
{
   found = look_for( /* 內容省略 */ );
   
// found 的值被提升為 0 或者 1
   occurrence_count += found;
}

 

2.

正如文字false 和 true能自動轉換成整數值 0 和 1 一樣 如果有必要 算術值和指標值也 能隱式地被轉換成布爾類型的值 0或null 指標被轉換成 false 所有其他的值都被轉換成 true  例如 
 
// 返回出現次數
extern int find( const string& );
bool found = false;
if ( found = find( "rosebud" ))
     // ok: found == true
 
 
// 如找到返回該項的指標
extern int* find( int value ); 
if ( found = find( 1024 ))
     // ok: found == true 
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.