3
ฉันสามารถใช้ std :: transform แบบแทนที่ด้วยนโยบายการดำเนินการแบบขนานได้หรือไม่
ถ้าฉันไม่ผิดฉันสามารถทำให้std::transformการดำเนินการในสถานที่ โดยใช้ช่วงเดียวกับ input และ output iterator สมมติว่าฉันมีstd::vectorวัตถุvecแล้วฉันจะเขียน std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) unary_opโดยใช้การดำเนินการที่เหมาะสมเอก ด้วยการใช้มาตรฐาน C ++ 17 ฉันต้องการดำเนินการแปลงแบบขนานโดยการใส่std::execution::parเข้าไปในนั้นเป็นอาร์กิวเมนต์แรก นี้จะทำให้ฟังก์ชั่นการเดินทางจากการโอเวอร์โหลด (1) (2) ในบทความ cppreference std::transformบน อย่างไรก็ตามความคิดเห็นที่เกินพิกัดนี้พูดว่า: unary_op[... ] ต้องไม่ทำให้ตัววนซ้ำใด ๆ รวมถึงตัววนซ้ำสิ้นสุดหรือแก้ไของค์ประกอบใด ๆ ของช่วงที่เกี่ยวข้อง (ตั้งแต่ C ++ 11) "แก้ไของค์ประกอบใด ๆ " จริงๆหมายถึงฉันไม่สามารถใช้อัลกอริทึมในสถานที่หรือกำลังพูดถึงรายละเอียดที่แตกต่างที่ฉันตีความผิด?