ฉันได้อ่านแล้วว่าควรหลีกเลี่ยงตัวดำเนินการเพิ่ม postfixเนื่องจากเหตุผลด้านประสิทธิภาพ (ในบางกรณี)
แต่สิ่งนี้จะไม่ส่งผลกระทบต่อการอ่านรหัสหรือไม่ ในความเห็นของฉัน:
for(int i = 0; i < 42; i++);
/* i will never equal 42! */
ดูดีกว่า:
for(int i = 0; i < 42; ++i);
/* i will never equal 42! */
แต่นี่อาจเป็นเพียงนิสัย เป็นที่ยอมรับฉันไม่ได้เห็นการใช้งาน++i
มากมาย
ในกรณีนี้ประสิทธิภาพที่ไม่ดีพอหรือไม่ หรือฉันเพียงคนตาบอดและ++i
สามารถอ่านได้มากกว่าi++
?
++i
และi++
ทำสิ่งต่าง ๆ ในบริบทบางอย่างอย่าคิดว่าพวกเขาเหมือนกัน
for (type i = 0; i != 42; ++i)
ห่วงสำหรับสำนวนคือ ไม่เพียง แต่สามารถoperator++
จะมากเกินไป แต่เพื่อให้สามารถและoperator!=
operator<
การเพิ่มคำนำหน้าไม่แพงกว่า postfix ไม่เท่ากันไม่แพงกว่าน้อยกว่า เราควรใช้อันไหนดี?
i++
ก่อนที่ฉันจะรู้ว่าอาจส่งผลต่อประสิทธิภาพการทำงานมากกว่า++i
ดังนั้นฉันจึงเปลี่ยน ตอนแรกหลังได้ดูแปลก ๆ หน่อย ๆ แต่หลังจากที่เล็ก ๆ น้อย ๆi++
ในขณะที่ฉันได้ใช้มันและตอนนี้มันให้ความรู้สึกเป็นธรรมชาติ