หนึ่งในสิ่งที่ทำให้คุณหลีกเลี่ยงการเขียนอัลกอริธึมพื้นฐานใน C ++ 11 คือความพร้อมใช้ของ lambdas เมื่อใช้ร่วมกับอัลกอริทึมที่จัดทำโดยไลบรารีมาตรฐาน
ฉันกำลังใช้สิ่งเหล่านี้ในตอนนี้และมันเหลือเชื่อว่าคุณจะบอกสิ่งที่คุณต้องการทำบ่อยเพียงใดโดยใช้ count_if (), for_each () หรืออัลกอริทึมอื่น ๆ แทนที่จะต้องเขียนลูปแช่งอีกครั้ง
เมื่อคุณใช้คอมไพเลอร์ C ++ 11 กับไลบรารี่มาตรฐาน C ++ 11 ที่สมบูรณ์คุณจะไม่มีข้อแก้ตัวที่ดีอีกต่อไปที่จะไม่ใช้อัลกอริธึมมาตรฐานเพื่อสร้างของคุณ แลมบ์ดาแค่ฆ่ามัน
ทำไม?
ในทางปฏิบัติ (หลังจากใช้วิธีการเขียนอัลกอริธึมด้วยตัวเอง) มันรู้สึกง่ายกว่าที่จะอ่านสิ่งที่สร้างขึ้นด้วยคำพูดที่ตรงไปตรงมาซึ่งหมายถึงสิ่งที่ทำกว่าลูปบางอย่างที่คุณต้องถอดรหัสเพื่อรู้ความหมาย ที่กล่าวว่าการสร้างข้อโต้แย้งแลมบ์ดาโดยอัตโนมัติจะช่วยได้มากทำให้การสร้างไวยากรณ์ง่ายขึ้นเทียบกับการวนซ้ำดิบ
โดยทั่วไปขั้นตอนวิธีการอ่านที่สร้างด้วยอัลกอริธึมมาตรฐานนั้นง่ายกว่ามากเมื่อคำที่ซ่อนรายละเอียดการนำไปใช้ของลูป
ฉันเดาว่าอัลกอริทึมระดับสูงกว่าต้องได้รับการคิดตอนนี้ว่าเรามีอัลกอริทึมระดับต่ำกว่าที่จะสร้าง