คำถามติดแท็ก c++

คำถามเกี่ยวกับ C ++ ซึ่งเป็นภาษาการเขียนแบบสแตติกแบบหลายกระบวนทัศน์รวบรวมภาษาการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไป

5
จะดีกว่าที่จะออกแบบจากบนลงล่างหรือล่างขึ้นบน?
ดังที่ฉันเข้าใจการออกแบบจากบนลงล่างคือการปรับแนวคิดระดับสูงที่เป็นนามธรรมลงในคอนกรีตขนาดเล็กและชิ้นส่วนที่เข้าใจได้จนกว่าจะมีการกำหนด Building Block ที่เล็กที่สุด ในขณะที่ล่างขึ้นบนจะกำหนดส่วนที่ต่ำจากนั้นค่อย ๆ สร้างบล็อกระดับที่สูงขึ้นจนกว่าระบบทั้งหมดจะเกิดขึ้น ในทางปฏิบัติได้มีการกล่าวที่ดีที่สุดในการรวมสองวิธี: เริ่มต้นด้วยข้อกำหนดระดับสูงเพื่อระบุความรู้โดเมนความสัมพันธ์และข้อ จำกัด เมื่อเข้าใจปัญหาได้แล้วจะมีการสร้าง Building Block ที่เล็กที่สุดเพื่อสร้างระบบ กระบวนการของ: การสร้างสเป็คความต้องการ สร้างข้อกำหนดการออกแบบ (พร้อมไดอะแกรม) Implement ส่งมอบ ทำซ้ำ (ในการพัฒนาซ้ำ ๆ แทนที่จะทำทั้งก้อนในแต่ละขั้นตอนเราทำกันเล็กน้อยซ้ำแล้วซ้ำอีกและมีการประชุมประจำวันเพื่อปรับให้เข้ากับความต้องการแบบไดนามิกของลูกค้า) ดูเป็นเรื่องปกติสำหรับฉัน (โดยมีรายละเอียดตามแผน) มันมีข้อบกพร่อง แต่นั่นคือสาเหตุที่เราได้รับการพัฒนาซ้ำ: แทนที่จะใช้เวลาในเฟสเดียวกล่าวว่าการวิเคราะห์ความต้องการเพื่อศึกษาทุกสิ่งที่เป็นไปได้ในความรู้ด้านโดเมนซึ่งอาจมีการเปลี่ยนแปลง (อาจเป็นรายวัน) เราทำการวิเคราะห์เล็กน้อย การออกแบบนิดหน่อยแล้วใช้มัน อีกวิธีคือการทำซ้ำแต่ละครั้งเป็นแบบ mini-waterfall ซึ่งจะทำการวิเคราะห์ในสองสามวัน (หรือหนึ่งสัปดาห์) เช่นเดียวกับการออกแบบ เวลาที่เหลือจะถูกนำไปใช้ในการดำเนินการ มีบางอย่างผิดปกติกับวิธีการจากบนลงล่างร่วมกับการพัฒนาแบบวนซ้ำหรือไม่? ในการเขียนโปรแกรมเรียงความของเขาBottom Upดูเหมือนว่า Paul Graham จะสนับสนุนการสร้างจากล่างขึ้นบนอย่างสมบูรณ์หรือตั้งโปรแกรมจากล่างขึ้นบน แต่ไม่ใช่ช่วงการวิเคราะห์ความต้องการ / การออกแบบ: โปรแกรมเมอร์ Lisp ที่มีประสบการณ์แบ่งโปรแกรมต่างกันออกไป …
31 design  c++  lisp 

4
ทำไมถึงไม่เป็นโมฆะ * `` หล่อใน C ++ โดยนัย?
ใน C ไม่จำเป็นต้องส่ง a void *ไปยังชนิดพอยน์เตอร์ใด ๆ มันได้รับการเลื่อนอย่างปลอดภัยเสมอ อย่างไรก็ตามใน C ++ นี่ไม่ใช่กรณี เช่น, int *a = malloc(sizeof(int)); ทำงานใน C แต่ไม่ใช่ใน C ++ (หมายเหตุ: ฉันรู้ว่าคุณไม่ควรใช้mallocใน C ++ หรือสำหรับเรื่องnewนั้นและควรเลือกสมาร์ทพอยน์เตอร์และ / หรือ STL แทนที่จะถามสิ่งนี้เพราะความอยากรู้อยากเห็น) ทำไมมาตรฐาน C ++ จึงไม่อนุญาตให้ใช้แบบจำลองนี้ ในขณะที่มาตรฐาน C ทำอะไร

1
คณะกรรมการมาตรฐาน C ++ ทดสอบแนวคิดการออกแบบอย่างไร
คณะกรรมการ C ++ ทดสอบข้อกำหนดการออกแบบใหม่ของพวกเขาด้วยคอมไพเลอร์ต้นแบบบางประเภทก่อนปล่อยมาตรฐานใหม่หรือไม่? หรือพวกเขาปล่อยมาตรฐานซึ่งเป็นผลทางทฤษฎีเท่านั้นจนกว่าคอมไพเลอร์ขนาดใหญ่ใช้มันได้หรือไม่

7
โปรแกรม C ++ ควรจับข้อยกเว้นทั้งหมดและป้องกันข้อยกเว้นจากการเดือดปุด ๆ ในอดีต main () หรือไม่?
ฉันได้รับคำแนะนำครั้งหนึ่งว่าในที่สุดโปรแกรม C ++ ควรจะได้รับการยกเว้นทั้งหมด เหตุผลที่ให้ไว้ในขณะนั้นคือโปรแกรมที่อนุญาตให้มีการยกเว้นเกิดฟองขึ้นนอกmain()เข้าสู่สถานะผีดิบแปลก ๆ ฉันบอกเรื่องนี้เมื่อหลายปีก่อนและในการหวนกลับฉันเชื่อว่าปรากฏการณ์ที่สังเกตได้เกิดจากการทิ้งแกนกลางขนาดใหญ่ที่ยาวเป็นพิเศษจากโครงการที่สงสัย ในเวลานี้ดูเหมือนจะแปลก แต่น่าเชื่อถือ มันไร้สาระโดยสิ้นเชิงที่ C ++ ควร "ลงโทษ" โปรแกรมเมอร์ที่ไม่จับข้อยกเว้นทั้งหมด แต่หลักฐานก่อนหน้าฉันดูเหมือนจะสำรองข้อมูลนี้ไว้ สำหรับโครงการที่มีปัญหาโปรแกรมที่โยนข้อยกเว้นที่ไม่ได้ตรวจจับนั้นดูเหมือนจะเข้าสู่สถานะผีดิบแปลก ๆ หรืออย่างที่ฉันคิดว่าสาเหตุอยู่ในขณะนี้กระบวนการที่อยู่ท่ามกลางการถ่ายโอนข้อมูลหลักที่ไม่ต้องการนั้นยากที่จะหยุด (สำหรับทุกคนที่สงสัยว่าทำไมสิ่งนี้ถึงไม่ชัดเจนในเวลานั้น: โครงการสร้างเอาต์พุตจำนวนมากในหลายไฟล์จากหลายกระบวนการซึ่งบดบังaborted (core dumped)ข้อความประเภทใด ๆ ได้อย่างมีประสิทธิภาพและในกรณีนี้การตรวจสอบการตายของแกนทิ้งไม่ได้ ไม่ใช่เทคนิคการดีบักที่สำคัญดังนั้นการถ่ายโอนข้อมูลหลักจึงไม่ได้รับการคิดมากปัญหาของโปรแกรมมักจะไม่ได้ขึ้นอยู่กับสถานะที่สะสมจากเหตุการณ์ต่าง ๆ ในช่วงเวลาหนึ่งโดยโปรแกรมที่ใช้งานมานาน 1 ชั่วโมง) ดังนั้นจึงมีประโยชน์มากกว่าที่จะรันโปรแกรมอีกครั้งโดยใช้อินพุตเดียวกันจากการสร้างข้อบกพร่องหรือในตัวดีบักเพื่อรับข้อมูลเพิ่มเติม) ขณะนี้ผมไม่แน่ใจว่ามีความได้เปรียบที่สำคัญใด ๆ main()หรือข้อเสียของการจับข้อยกเว้นเพียงเพื่อวัตถุประสงค์ในการป้องกันการยกเว้นจากการออก ข้อได้เปรียบเล็ก ๆ น้อย ๆ ที่ฉันคิดได้ในการยอมให้มีข้อยกเว้นเกิดฟองขึ้นในอดีตmain()คือทำให้เกิดผลลัพธ์std::exception::what()ที่จะพิมพ์ไปยังเทอร์มินัล (อย่างน้อยก็ด้วยโปรแกรมที่คอมไพล์ด้วย gcc บน Linux) บนมืออื่น ๆ นี้เป็นที่น่ารำคาญที่จะบรรลุโดยแทนที่จะจับข้อยกเว้นทั้งหมดมาจากstd::exceptionและการพิมพ์ผลมาจากstd::exception::what()และถ้ามันเป็นที่พึงปรารถนาที่จะพิมพ์ข้อความจากข้อยกเว้นที่ไม่ได้มาจากstd::exceptionนั้นก็จะต้องถูกจับก่อนที่จะออกmain()เพื่อพิมพ์ ข้อความ. ข้อเสียเปรียบเล็กน้อยที่ฉันสามารถคิดได้ในการอนุญาตให้มีการยกเว้นเกิดฟองขึ้นในอดีตmain()คือการทิ้งขยะที่ไม่ต้องการ สำหรับกระบวนการที่ใช้หน่วยความจำจำนวนมากสิ่งนี้อาจสร้างความรำคาญและควบคุมพฤติกรรมการถ่ายโอนข้อมูลหลักจากโปรแกรมที่ต้องการการเรียกใช้ฟังก์ชันเฉพาะระบบปฏิบัติการ ในทางตรงกันข้ามถ้าถ่ายโอนข้อมูลหลักและออกเป็นที่ต้องการแล้วนี้อาจแทนจะประสบความสำเร็จในเวลาใด …
29 c++  exceptions 

10
การใช้ตัวแปรพอยน์เตอร์เป็นค่าใช้จ่ายในหน่วยความจำใช่หรือไม่
ในภาษาอย่าง C และ C ++ ในขณะที่ใช้พอยน์เตอร์กับตัวแปรเราต้องการที่ตั้งหน่วยความจำอีกหนึ่งแห่งเพื่อเก็บที่อยู่นั้น ดังนั้นนี่ไม่ใช่ค่าใช้จ่ายหน่วยความจำ? สิ่งนี้ได้รับการชดเชยอย่างไร? พอยน์เตอร์ใช้ในเวลาที่แอปพลิเคชันหน่วยความจำเหลือน้อยหรือไม่?
29 c++  c  pointers 

3
เหตุใดบูลีนประเภทใน C ++ จึงสนับสนุน แต่ไม่ใช่ -
ทำไมโอเปอเรเตอร์ถึง--ไม่มีอยู่สำหรับบูลในขณะนั้นสำหรับโอเปอเรเตอร์++? ฉันลองใช้ C ++ แล้วและฉันไม่รู้ว่าคำถามของฉันใช้ได้กับภาษาอื่นหรือไม่ ฉันยินดีที่จะรู้ว่ายัง ฉันรู้ว่าฉันสามารถใช้โอเปอเรเตอร์++กับบูล มันทำให้บูลใด ๆ เท่ากับจริง bool b = false; b++; // Now b == true. ทำไมเราไม่สามารถใช้โอเปอเรเตอร์--ในทางตรงกันข้ามได้ bool b = true; b--; // Now b == false; มันไม่มีประโยชน์มาก แต่ฉันอยากรู้

5
คู่มือสไตล์สำหรับ C ++ [ปิด]
ตอนนี้ฉันกำลังใช้คู่มือสไตล์ C ++ ของ Googleในรหัส C ++ ของฉันและฉันก็ค่อนข้างพอใจกับมัน เมื่อเร็ว ๆ นี้ฉันได้รับแจ้งว่าคู่มือนี้ไม่ดีมาก: Google ใช้งานภายใน (ฉันรู้ว่า) ล้าสมัยและส่งเสริมการปฏิบัติที่ไม่ดีบางอย่าง ดังนั้นฉันต้องการใช้รูปแบบการเข้ารหัสอื่น มีคำแนะนำสไตล์ C ++ ที่ดีและใช้งานอย่างเป็นธรรมอะไรบ้าง? ฉันเขียนโค้ดสำหรับทั้ง gcc และ Visual Studio และฉันใช้คุณสมบัติ C ++ 11 มากมาย สิ่งที่ฉันชอบมากเกี่ยวกับคู่มือสไตล์ Google C ++คือการเยื้องช่องว่างและการตั้งชื่อ (โดยเฉพาะการตั้งชื่อคลาสทุกประเภท - รวมถึง typedefs, นามแฝงประเภทและนามแฝงเทมเพลต - ด้วยอักษรตัวใหญ่ตัวแรก) ฉันรู้ว่าคำตอบใด ๆ ที่เป็นอัตนัย (ฉันหวังว่านี่จะโอเคกับเว็บไซต์นี้) และฉันจะขอบคุณความคิดเห็นใด ๆ แต่ฉันสนใจที่จะใช้คำแนะนำในวันนี้

6
การใช้ภาษาโปรแกรมที่ Google [ปิด]
ฉันเคยได้ยินว่า Google ใช้ Python, Java และ C ++ แต่สิ่งที่ฉันไม่รู้ก็คือวิธีการใช้ภาษาการเขียนโปรแกรมแต่ละภาษา ฉันหมายถึง Python, Java และ C ++ ที่ใช้กับ Google ทำไมพวกเขาถึงไม่เกิน 3 ภาษาการเขียนโปรแกรมเมื่อ 1 ภาษาเพียงพอ มีใครรู้บ้าง

4
ใช้ #ifdef เพื่อสลับไปมาระหว่างพฤติกรรมประเภทต่าง ๆ ในระหว่างการพัฒนา
เป็นวิธีปฏิบัติที่ดีหรือไม่ที่จะใช้ #ifdef ระหว่างการพัฒนาเพื่อสลับไปมาระหว่างพฤติกรรมประเภทต่าง ๆ ? ตัวอย่างเช่นฉันต้องการเปลี่ยนพฤติกรรมของรหัสที่มีอยู่ฉันมีความคิดหลายอย่างเกี่ยวกับวิธีการเปลี่ยนพฤติกรรมและจำเป็นต้องสลับระหว่างการใช้งานที่แตกต่างกันเพื่อทดสอบและเปรียบเทียบวิธีการที่แตกต่างกัน การเปลี่ยนแปลงรหัสมักจะซับซ้อนและมีผลต่อวิธีการต่าง ๆ ในไฟล์ที่แตกต่างกัน ฉันมักจะแนะนำตัวระบุหลายตัวและทำอะไรแบบนั้น void foo() { doSomething1(); #ifdef APPROACH1 foo_approach1(); #endif doSomething2(); #ifdef APPROACH2 foo_approach2(); #endif } void bar() { doSomething3(); #ifndef APPROACH3 doSomething4(); #endif doSomething5(); #ifdef APPROACH2 bar_approach2(); #endif } int main() { foo(); bar(); return 0; } วิธีนี้ช่วยให้สามารถสลับไปมาระหว่างวิธีการต่าง ๆ ได้อย่างรวดเร็วและทำทุกอย่างในสำเนาของซอร์สโค้ดเดียว มันเป็นแนวทางที่ดีสำหรับการพัฒนาหรือมีแนวปฏิบัติที่ดีกว่านี้หรือไม่?

6
ทำไมฉันไม่สามารถตรวจสอบว่า Mutex ถูกล็อคหรือไม่
C ++ 14 ดูเหมือนจะไม่ได้ใช้กลไกสำหรับตรวจสอบว่ามีการstd::mutexล็อกอยู่หรือไม่ ดูคำถาม SO นี้: https://stackoverflow.com/questions/21892934/how-to-assert-if-a-stdmutex-is-locked มีหลายวิธีเช่นนี้โดยใช้; std::mutex::try_lock() std::unique_lock::owns_lock() แต่สิ่งเหล่านี้ไม่ได้เป็นโซลูชั่นที่น่าพึงพอใจโดยเฉพาะ try_lock()ได้รับอนุญาตให้ส่งคืนค่าลบที่เป็นเท็จและมีพฤติกรรมที่ไม่ได้กำหนดหากเธรดปัจจุบันล็อค mutex นอกจากนี้ยังมีผลข้างเคียง owns_lock()ต้องมีการก่อสร้างที่อยู่ด้านบนของเดิมunique_lockstd::mutex เห็นได้ชัดว่าฉันสามารถม้วนตัวเอง แต่ฉันค่อนข้างเข้าใจแรงจูงใจสำหรับอินเทอร์เฟซปัจจุบัน ความสามารถในการตรวจสอบสถานะของ mutex (เช่นstd::mutex::is_locked()) ดูเหมือนจะไม่เป็นการร้องขอที่ลึกลับสำหรับฉันดังนั้นฉันจึงสงสัยว่าคณะกรรมการมาตรฐานได้ละเว้นคุณลักษณะนี้โดยไม่ได้ตั้งใจ ทำไม? แก้ไข:ตกลงดังนั้นกรณีการใช้งานนี้อาจไม่เหมือนที่ฉันคาดไว้ดังนั้นฉันจะอธิบายสถานการณ์ของฉันโดยเฉพาะ ฉันมีอัลกอริทึมการเรียนรู้ของเครื่องซึ่งกระจายอยู่ในหลายเธรด แต่ละเธรดทำงานแบบอะซิงโครนัสและกลับไปยังพูลต้นแบบเมื่อปัญหาการปรับให้เหมาะสมเสร็จสมบูรณ์ จากนั้นล็อคมาสเตอร์ mutex จากนั้นเธรดต้องเลือกพาเรนต์ใหม่ที่จะทำการกลายพันธุ์ของลูกหลาน แต่อาจเลือกจากพาเรนต์ที่ยังไม่มีลูกในขณะนี้ซึ่งถูกปรับให้เหมาะสมโดยเธรดอื่น ฉันจึงต้องทำการค้นหาเพื่อค้นหาผู้ปกครองที่ไม่ได้ล็อคโดยเธรดอื่นในขณะนี้ ไม่มีความเสี่ยงของสถานะของการเปลี่ยนแปลง mutex ระหว่างการค้นหาเนื่องจากมาสเตอร์เธรด mutex ถูกล็อก เห็นได้ชัดว่ามีวิธีแก้ปัญหาอื่น ๆ (ขณะนี้ฉันใช้แฟล็กบูลีน) แต่ฉันคิดว่า mutex เสนอวิธีแก้ปัญหาแบบลอจิคัลกับปัญหานี้เนื่องจากมีอยู่เพื่อจุดประสงค์ในการซิงโครไนซ์ระหว่างเธรด
28 c++ 

3
ยกเว้นตัวรวบรวมขยะสิ่งอื่นใดที่ทำให้ Java เป็นภาษาการเขียนโปรแกรมที่ไม่ใช่แบบเรียลไทม์
ยกเว้นตัวรวบรวมขยะคุณสมบัติอื่น ๆ ของ Java ที่ไม่เหมาะสมสำหรับการเขียนโปรแกรมแบบเรียลไทม์คืออะไร บนเน็ตทุกครั้งที่มีการพูดถึง Java vs C ++ เกี่ยวกับการเขียนโปรแกรมแบบเรียลไทม์มันจะเป็นตัวรวบรวมขยะที่กล่าวถึงเสมอ มีอะไรอีกไหม?

7
ทักษะ C ++ สูงกว่าทักษะ C หรือไม่ [ปิด]
ฉันรู้สึกว่า C / C ++ ที่เห็นบ่อย ๆ ไม่ได้อธิบายทักษะของฉันในประวัติย่อของฉัน ดังนั้นฉันวางแผนที่จะแยกมันออกเป็นความรู้ C ++ ขั้นสูงและทักษะ C ปานกลาง คุณคิดว่าสิ่งนี้ทำให้ผู้อ่านสับสนหรือไม่? เธออาจคิดว่า: "C เป็นเซตย่อยของ C ++ ดังนั้นผู้ชายคนนี้จึงพยายามโทรหาฉัน" สิ่งที่ฉันพยายามจะบอกคือ: ฉันได้ทำโครงการ C ++ ในโลกแห่งความเป็นจริงในขณะที่โครงการ C ล้วนๆซึ่งเป็นงานอดิเรก คุณเห็นด้วยหรือไม่ว่าโปรแกรมเมอร์ C ++ ที่มีทักษะไม่จำเป็นต้องเป็นคนที่มีคุณสมบัติ C หรือคุณคิดว่าสวิตช์นี้สามารถทำได้อย่างง่ายดายหรือไม่?
28 c++  c  skills 

10
เหตุใดฉันจึงจะเรียนรู้ C ++ 11 โดยรู้จัก C และ C ++ [ปิด]
ฉันเป็นโปรแกรมเมอร์ใน C และ C ++ ถึงแม้ว่าฉันจะไม่ยึดติดกับภาษาใดภาษาหนึ่งและเขียนส่วนผสมของทั้งสอง บางครั้งมีรหัสในชั้นเรียนอาจมีตัวดำเนินการมากเกินไปหรือแม่แบบและโอ้ดีมาก STL ชัดวิธีดีกว่า บางครั้งการใช้ตัวชี้ฟังก์ชัน C แบบง่าย ๆ นั้นสามารถอ่านและล้างได้ง่ายกว่ามาก ดังนั้นฉันจึงพบความงามและการใช้งานได้จริงในทั้งสองภาษา ฉันไม่ต้องการพูดคุยเกี่ยวกับ "ถ้าคุณมิกซ์และคอมไพล์ด้วยคอมไพเลอร์ C ++ มันไม่ใช่มิกซ์อีกต่อไปมันคือ C ++ ทั้งหมด" ฉันคิดว่าเราทุกคนเข้าใจสิ่งที่ฉันหมายถึงโดยการผสมพวกเขา นอกจากนี้ฉันไม่ต้องการพูดเกี่ยวกับ C vs C ++ คำถามนี้เกี่ยวกับ C ++ 11 C ++ 11 แนะนำสิ่งที่ฉันคิดว่าเป็นการเปลี่ยนแปลงที่สำคัญกับวิธีการทำงานของ C ++ แต่ได้แนะนำกรณีพิเศษจำนวนมากข้อยกเว้นและความผิดปกติที่เปลี่ยนวิธีการทำงานของคุณลักษณะที่แตกต่างกันในสถานการณ์ที่แตกต่างกันวางข้อ จำกัด ในการสืบทอดหลายแบบ ของตัวอักษรสตริงแลมบ์ดาจับตัวแปรฟังก์ชั่น ฯลฯ ฉันรู้ว่าในบางจุดในอนาคตเมื่อคุณพูดว่า C ++ ทุกคนจะถือว่า C ++ …
28 learning  c++  c  c++11 

3
เหตุใดข้อความข้อผิดพลาดเทมเพลต C ++ จึงน่ากลัวมาก
เทมเพลต C ++ มีชื่อเสียงในด้านการสร้างข้อความแสดงข้อผิดพลาดที่ยาวและไม่สามารถอ่านได้ ฉันมีความคิดทั่วไปว่าทำไมข้อความแสดงข้อผิดพลาดแม่แบบใน C ++ จึงแย่มาก โดยพื้นฐานแล้วปัญหาคือว่าข้อผิดพลาดจะไม่ถูกเรียกจนกระทั่งคอมไพเลอร์พบไวยากรณ์ที่ไม่ได้รับการสนับสนุนจากบางประเภทในแม่แบบ ตัวอย่างเช่น: template <class T> void dosomething(T& x) { x += 5; } หากTไม่รองรับ+=ผู้ปฏิบัติงานคอมไพเลอร์จะสร้างข้อความแสดงข้อผิดพลาด และหากสิ่งนี้เกิดขึ้นลึกลงไปในห้องสมุดบางแห่งข้อความแสดงข้อผิดพลาดอาจยาวหลายพันบรรทัด แต่แม่แบบ C ++ นั้นเป็นเพียงกลไกสำหรับการพิมพ์เป็ดเวลาคอมไพล์ ข้อผิดพลาดแม่แบบ C ++ เป็นแนวคิดคล้ายกับข้อผิดพลาดประเภทรันไทม์ที่อาจเกิดขึ้นในภาษาแบบไดนามิกเช่น Python ตัวอย่างเช่นพิจารณารหัสไพ ธ อนต่อไปนี้: def dosomething(x): x.foo() ที่นี่หากxไม่มีfoo()วิธีใดตัวแปลภาษา Python จะแสดงข้อยกเว้นและแสดงการติดตามสแต็กพร้อมกับข้อความแสดงข้อผิดพลาดที่ค่อนข้างชัดเจนซึ่งระบุถึงปัญหา แม้ว่าข้อผิดพลาดจะไม่ถูกเรียกใช้จนกว่าล่ามจะอยู่ลึกเข้าไปในฟังก์ชั่นของห้องสมุด แต่ข้อความข้อผิดพลาดเกี่ยวกับรันไทม์ยังไม่ใกล้เคียงเท่าที่อาเจียนไม่สามารถอ่านได้โดยคอมไพเลอร์ C ++ ทั่วไป แล้วทำไมคอมไพเลอร์ C ++ ไม่สามารถบอกได้ชัดเจนว่าเกิดอะไรขึ้น …

9
เหตุใด Scala ไม่ถูกนำไปใช้กับ C หรือ C ++
ไม่มีใครรู้ว่าทำไม Scala ถูกนำไปใช้ใน Java และ. NET แทนที่จะเป็น C หรือ C ++? ภาษาส่วนใหญ่ใช้กับ Cor C ++ [เช่น Erlang, Python, PHP, Ruby, Perl] ข้อดีของ Scala ที่นำมาใช้ใน Java และ. NET นอกเหนือจากการให้สิทธิ์การเข้าถึงไลบรารี Java และ. NET คืออะไร? UPDATE สกาล่าจะไม่ได้รับประโยชน์มากขึ้นหากนำไปใช้ใน C เพราะสามารถปรับได้ดีกว่าการพึ่งพา JVM
28 java  c++  .net  c  scala 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.