我有一位合著者,他將許多巨集定義為 例如\newcommand{\foo}[0]{foo}
,明確給出參數數量,即使它為零,我以前總是使用和看到\newcommand{\foo}{foo}
沒有參數的巨集。
這兩個版本之間是否存在任何可能的行為差異,或者有任何超出可讀性的原因而選擇其中一個而不是另一個?
答案1
沒有區別,實際上[0]
是可選參數的預設值,因此在第一次掃描可選參數之後,它們遵循相同的程式碼路徑。
我有一位合著者,他將許多巨集定義為 例如\newcommand{\foo}[0]{foo}
,明確給出參數數量,即使它為零,我以前總是使用和看到\newcommand{\foo}{foo}
沒有參數的巨集。
這兩個版本之間是否存在任何可能的行為差異,或者有任何超出可讀性的原因而選擇其中一個而不是另一個?
沒有區別,實際上[0]
是可選參數的預設值,因此在第一次掃描可選參數之後,它們遵循相同的程式碼路徑。