c++函數(shù)默認實參和python類似噩凹。差別如下
- c++默認實參在函數(shù)聲明中在指定儒飒,并將該聲明放在合適的頭文件中者蠕。并且可以修改。python默認實參在函數(shù)定義中實現(xiàn)佩番,且不能修改
- c++函數(shù)如果重復聲明众旗,每個形參只能被賦予一次默認實參。換句話說趟畏,后續(xù)的函數(shù)聲明贡歧,只能為之前那些沒有默認值的形參添加默認實參,而且該形參的右側所有形參必須已經(jīng)在前面的聲明中賦予了默認實參。
局部變量不能座位默認實參艘款。除此之外持际,只要表達式的類型能轉換成形參所需的類型,該表達式就能作為默認實參:
sz wd = 80; // 全局變量
char def = ' '; // 全局變量
sz ht(); // 函數(shù)聲明
// 函數(shù)聲明哗咆,指定默認實參
string screen(st = hz(), sz = wd, char =def);