我熟悉的所有編程語言(C/C++,Java,C#,Objective C)都接受這兩種符號。所以我想知道哪個在語義上是正確的:Object* myObj
或Object *myObj
?對象*或對象*?
對象*或對象*?
回答
嗯,這取決於。兩者都是正確的,但我通常使用Object *,因爲指針本身可以被認爲是一種類型,並且它更具可讀性。
但是有一個問題。 C中的指針實際上只是一種類型的修改,而不是真正的類型。如果你在一個單一的線,因爲這聲明多個變量:
Object *a, b;
您將有a
作爲指針對象和b
爲Object
一個實例,所以我想,正確的做法是把指針與變量。
這就是爲什麼許多編碼風格準則堅持每個語句都有一個變量定義的原因。 –
這就是大衛!每個聲明使用一行,我認爲Object *方法更具可讀性! :D –
哪個語義正確?
語義上它們是相同的。因此,你使用的是品味的問題。你應該更喜歡
其中味道?那麼,你可以寫object* a, b
,並認爲你已經宣佈了兩個指針。當然你還沒有,你宣稱a
是一個指針,而b
是一個對象。
所以你應該更喜歡object *a, b
到object* a, b
。不過,我相信這是最好還要爲每個變量聲明一行:
object *a;
object b;
這種做法有沒有範圍混亂,是由許多編碼風格指南推薦。
它們在語義上不相等。一個是聲明的一部分,另一個是對象的一部分。 – superM
它們在語義上是相同的。他們的意思是一樣的。我想知道你對語義的含義是正確的嗎? –
正如Daniel指出的那樣,'object * a,b'聲明'a'是一個指向'object'的指針,''b'是一個'object'。 –
- 1. $ .getJSON返回「未定義」或[對象對象] [對象對象]
- 2. 抽象對象或創建類對象
- 3. InvalidPipeArgument:'[對象對象],[對象對象],[對象對象],[對象對象],[對象對象],[對象對象],
- 4. 對象等於自我或空對象
- 5. 工廠對象或產品對象
- 6. 與對象或在C++對象指針
- 7. 對象ID或對象引用
- 8. 傳遞對象列表或ArrayList對象
- 9. 傳遞對象或對象ID?
- 10. 傳遞新對象或對象引用
- 11. 完整的對象或子對象?
- 12. NSPredicate:加入對象或對象ID
- 13. 返回類對象或無對象
- 14. OOP Javascript父對象方法或對象?
- 15. `調度員對象或請求`對象
- 16. Angular 2,如何控制對象對象或通過對象對象循環
- 17. 對象== nil或nil ==對象來檢查對象是否爲零?
- 18. 解析對象或對象數組的對象JSON密鑰
- 19. 對象對象
- 20. JavaScript對象或JSON
- 21. PropertyModel或Serializable對象?
- 22. JFrame或類對象?
- 23. 對象的對象
- 24. InvalidCastException對象[*]對象[]
- 25. 對象的對象
- 26. 對象對象jquery
- 27. 對象VS對象
- 28. C#對象/對象
- 29. 爲[對象對象]
- 30. 對象與對象
Java?你確定? –