ฉันใช้auto
คำหลักใหม่ที่มีอยู่ในมาตรฐาน C ++ 11 สำหรับประเภท templated ที่ซับซ้อนซึ่งเป็นสิ่งที่ฉันเชื่อว่าได้รับการออกแบบมา แต่ฉันก็ใช้มันเพื่อสิ่งต่าง ๆ เช่น:
auto foo = std::make_shared<Foo>();
และน่าสงสัยมากขึ้นสำหรับ:
auto foo = bla(); // where bla() return a shared_ptr<Foo>
ฉันไม่เห็นการสนทนาในหัวข้อนี้มากนัก ดูเหมือนว่าauto
จะใช้มากเกินไปเนื่องจากประเภทหนึ่งมักเป็นรูปแบบของเอกสารและการตรวจสอบสติ คุณวาดเส้นในการใช้ที่ไหนauto
และกรณีการใช้งานที่แนะนำสำหรับคุณลักษณะใหม่นี้คืออะไร
เพื่อชี้แจง: ฉันไม่ได้ขอความคิดเห็นทางปรัชญา; ฉันขอใช้คำหลักนี้อย่างตั้งใจโดยคณะกรรมการมาตรฐานอาจมีความคิดเห็นเกี่ยวกับวิธีการใช้งานที่ตั้งใจนั้นได้รับรู้ในทางปฏิบัติ
หมายเหตุด้านข้าง: คำถามนี้ถูกย้ายไปที่ SE.Programmers แล้วกลับไปที่ Stack Overflow การสนทนาเกี่ยวกับเรื่องนี้สามารถพบได้ในคำถามเมตานี้
auto
คำหลักคุณจะรู้ว่าควรใช้อย่างไร นั่นคือสิ่งที่ฉันถามในฐานะคนที่เพิ่งรู้จักคุณลักษณะนี้ฉันควรจะใช้มันอย่างไร
var
(นั่นคือเมื่อคนได้รับมากกว่าความคิดที่ว่ามันไม่ได้พิมพ์แบบไดนามิกหลังจากทั้งหมด) หากคุณต้องการคุณสามารถเริ่มต้นด้วยคำถามนี้และทำตามคำถามที่เกี่ยวข้อง
auto foo = bla();
"ไม่ดี" เป็นความเห็นที่ชัดเจนไม่ใช่ความจริงซึ่งทำให้คำถามนี้และตอบการสนทนาซึ่งทำให้มันเกี่ยวข้องกับโปรแกรมเมอร์ SE ซึ่งเป็นสิ่งที่การลงมติอย่างใกล้ชิดบ่งบอก / ยัก