typedefs
不是強類型的原因是什麼?有沒有我看不到的好處,還是因爲向後兼容?看到這個例子:爲什麼typedef沒有強類型?
typedef int Velocity;
void foo(Velocity v) {
//do anything;
}
int main() {
int i=4;
foo(i); //Should result in compile error if strongly typed.
return 0;
}
我沒有要求的解決方法,以獲得強大的類型化的數據類型,但只是想知道爲什麼該標準不要求typedefs
是強類型?
謝謝。
因爲C語言是一種想要完成任務的人的語言,而不是那些想要思考抽象類型系統的數學美的人。 (作爲讚賞這兩項活動的人,我不會評判任何一項)。 –
@Stephen佳能:誰說抽象類型系統不能幫助你完成任務?調試意外誤用類型導致的運行時錯誤當然不會算作我書中的事物完成。 –
@MichaelBorgwardt:我當然沒有說他們不能。但是,他們*可能會被濫用。 –