首頁 > 後端開發 > C++ > C 17 如何改變「if」表達式中變數宣告的規則?

C 17 如何改變「if」表達式中變數宣告的規則?

Linda Hamilton
發布: 2024-12-13 16:30:13
原創
619 人瀏覽過

How Has C  17 Changed the Rules for Variable Declaration in `if` Expressions?

「if」表達式中的變數宣告:澄清規則

「if」表達式條件中宣告的變數一直是問號程式員有一段時間了。 C 標準最初概述了這些變數的範圍,但在括號和多重聲明方面仍然存在歧義。

在提供的範例中,當變數宣告周圍使用括號時,編譯器無法編譯:

if((int a = Func1()))
{
    // Fails to compile.
}
登入後複製

此行為也擴展到單一條件中具有多個宣告的情況,這是由於聲明必須緊接在條件本身之前的規則。括號打破了這個規則。

但是,隨著 C 17 的引入,情況發生了變化:

if (int a = Func1(), b = Func2(); a && b)
{
    // Do stuff with a and b.
}
登入後複製

現在,可以使用 ; 在括號內聲明變數。將聲明與條件分開。此增強功能擴展了“if”條件的靈活性。

以上是C 17 如何改變「if」表達式中變數宣告的規則?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板