0
爲什麼需要指定變量的數據類型?如果我的程序要求用戶輸入可能屬於兩種非相交數據類型中的任何一種的數據,該怎麼辦?不應該提供聲明變量而不指定變量的選項,以便說明情況。爲什麼我們不能讓計算機根據用戶輸入來決定數據類型?如果編譯器有足夠的能力來識別類型錯誤,我相信它可以根據輸入輕鬆指定數據類型。在C++中聲明變量而不指定其數據類型
爲什麼需要指定變量的數據類型?如果我的程序要求用戶輸入可能屬於兩種非相交數據類型中的任何一種的數據,該怎麼辦?不應該提供聲明變量而不指定變量的選項,以便說明情況。爲什麼我們不能讓計算機根據用戶輸入來決定數據類型?如果編譯器有足夠的能力來識別類型錯誤,我相信它可以根據輸入輕鬆指定數據類型。在C++中聲明變量而不指定其數據類型
編譯器不處理輸入,所以這是不行的。
有boost::variant<T,U>
這是一種可以安裝一個T
或U
值,但你還是要指定編譯器的所有可能的選項,你必須讓你把明確豆。
用戶輸入總是啓動作爲一個字符串出來。解析將其轉換爲類型,但結果取決於實際解析。如果你正在解析浮點值,0
是一個非常好的浮點值。
您在質疑強類型語言的基本定義。在編譯時知道每個變量和每個表達式的類型使C和C++強類型語言。沒有這個,你將會有一個弱類型的語言,比如PERL,JavaScript,PHP。 – 2014-10-01 06:32:03
因爲這不是C++的設計方式。它將程序的這部分留給應用程序員,而不是語言。如果你想要一個更靈活的數據類型的語言,使用動態語言,如PHP或Lisp。 – Barmar 2014-10-01 06:32:38
我認爲我只是補充說我對編程和C++很陌生。在閱讀關於數據處理的章節並且在網絡搜索被證明無效之後(大部分答案都是關於C),這個問題出現了,我決定發佈這個問題。 @RSahu所以這就是它的一切!這解決了我的問題。我想我可以通過閱讀強類型和弱類型語言來充分理解爲什麼C++不提供這個選項。謝謝! – Sachin 2014-10-01 06:48:12