最佳初始化代碼
回答
對於空終止字符串,在我看來,最佳的初始化這個
szCommand[0] = 0;
不是最優目的? – ybungalobill
@ybungalobill,是的。我發佈了另一種方式,OP可能會發現它確定。 –
關於將一個字節與2048字節設置爲零之間的差異沒有任何「目標」。如果這是一個字符串,則一個字節就足夠了。 –
任何像樣的編譯器應該發出兩種情況下相同的代碼。在memset
的情況下,編譯器可以通過理解標準庫中函數的語義來消除函數調用。
但是,某些編譯器將memset實現爲內部函數,而且情況正好相反,編譯器會將第一個代碼示例替換爲第二個代碼示例。無論如何,這兩種情況下都必須清除內存。 –
第二個不是初始化數組,它更像是賦值給它。我認爲如果以後會有什麼明顯的區別(不會有),你必須親自分析它,並且看到第一個版本可能會更快一點 - 但這只是在優化結束時。 過早的優化是所有罪惡的根源 - 只是DON「T想想
+1對'tiiiiiny'。 :P – Donotalo
兩個版本之間的性能差別是如此微不足道(如果編譯器不優化掉的區別),我」 ð傾向於最可讀的一個去。
兩者都是一樣的,第一個版本是緊湊 - 而已。
- 1. Knockout Mapping初始化的最佳代碼
- 2. 彈簧配置 - 最佳做法與初始化代碼
- 3. 在Java Swing中初始化代碼的最佳實踐
- 4. 編程最佳實踐:初始化或不初始化
- 5. WCF初始化代碼
- 6. 動態初始化代碼
- 7. 最佳方式初始化活動ViewPager
- 8. 初始化JpaPersistModule的最佳方法
- 9. 初始化MobileServicesClient的最佳位置
- 10. 初始化文件最佳實踐
- 11. JPA(Hibernate)表初始化,最佳實踐
- 12. 最佳HashSet初始化(Scala | Java)
- 13. EntityManager初始化最佳實踐
- 14. 代碼格式化初始化列表
- 15. Django初始化後執行代碼
- 16. 在代碼中初始化backgroundWoker
- 17. 修改swiper初始化代碼
- 18. 的Object.create繼承和初始化代碼
- 19. 骨幹視圖的初始化代碼
- 20. 初始化代碼中的infopath
- 21. 初始化器元件代碼錯誤
- 22. 代碼行未初始化導致nullpointerexecption
- 23. 初始化遺址我的代碼
- 24. 在Meteor重新初始化代碼
- 25. 不等待類初始化的代碼!
- 26. 未初始化代碼的一部分
- 27. 初始化圖形代碼塊C++
- 28. 辛格爾頓+初始化代碼
- 29. Python中奇怪的初始化代碼
- 30. 在EJB3.1中執行初始化代碼
只需在字符串末尾加上''\ 0'' –
看到這個幾乎相同的問題http://stackoverflow.com/q/1998752/57428 – sharptooth
@maanu,你需要多少性能好處? – Donotalo