我注意到,當我在Visual Studio中的一個新的C++類,它寫下來Foo(void)
和~Foo(void)
作爲構造和析構函數模板代替Foo()
和~Foo()
。但是,這兩個版本似乎都有效。兩者之間有差異還是根本不在乎我使用哪個版本?C++:構造器之間的差異()和構造函數(無效)
2
A
回答
5
在C++中,這兩種在技術上相同的,如在
有關詳細信息「它沒有參數的函數」:即需要
在C中,然而,富(空隙)是「的功能沒有參數「,但是Foo()是」一個接受未知數量參數的函數「。這些論點是一個不明確的類型。
Foo(void)在兩種語言之間用相同的含義。
1
兩者都是等價的,所以這只是風格的一種選擇。我更喜歡Foo()
,因爲它涉及較少的打字,這是我經常看到的。
這個問題其實是covered before on SO。
顯然foo()
在C表示「取的未指定的類型的參數未指定數量的函數foo
」,其中在C++中它的意思是「函數foo
沒有參數」。
+1
我也用過,因爲你可以更容易地看到構造函數是否帶參數。我只是好奇而已。 – Rapti 2014-12-27 20:27:46
0
只有當構造函數和析構函數不需要任何參數時,纔會有相同的結果。 Foo(void)
似乎不太經常使用。
相關問題
- 1. C++「無效構造函數」
- 2. C++構造差異
- 3. ArrayList構造函數之間的性能和學習差異
- 4. c#靜態成員或靜態構造函數和單例之間的差異
- 5. 構造函數和異常
- 6. String構造差異
- 7. 構造函數和析構函數 - C++
- 8. 構造函數和零參數構造函數之間的區別(Java)
- 9. 差異在構造函數中定義
- 10. 誤差的基礎構造函數(C#)
- 11. 構造函數和無參數構造函數?
- 12. malloc和C++構造函數
- 13. SWIG和C++構造函數
- 14. C++:使用Structs或枚舉來重載構造函數之間的差異?
- 15. c#構造函數注入和構造函數重載
- 16. C#構造函數
- 17. 構造函數中的調用基構造函數和其他構造函數
- 18. 構造函數內的構造函數
- 19. 是什麼holder.getAdapterPosition(之間)的位置屬性在onBindViewHolder(差異和構造函數)
- 20. 正則表達式構造函數和文字之間的反斜槓差異
- 21. C#依賴容器和構造函數
- 22. C++中的異步構造函數11
- 23. javascript構造函數之間的區別
- 24. C#的構造函數和構造對象的類型
- 25. 從構造函數調用構造函數並捕獲異常
- 26. c#中的無參數構造函數#
- 27. C++類構造函數/析構函數
- 28. C#鑄造類型之間的差異
- 29. 拷貝構造函數和一個轉換構造之間的困惑
- 30. 在父構造函數之前調用子類構造函數
已經有人迴應=) http://stackoverflow.com/questions/51032/is-there-a-difference-between-foovoid-and-foo-in-c-or-c – Bloo2 2014-12-27 20:28:17
這沒不會顯示在我的搜索結果中,因爲它與一般的功能有關。直到現在我纔看到它帶有構造函數和析構函數。 – Rapti 2014-12-27 20:32:47
別擔心,這不是一個指責,你應該更好地搜索。 :)你的問題很好。 – hvd 2014-12-27 20:35:08