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

C ++ เป็นภาษาโปรแกรมทั่วไป เดิมได้รับการออกแบบให้เป็นส่วนขยายของ C และมีไวยากรณ์ที่คล้ายกัน แต่ตอนนี้มันเป็นภาษาที่แตกต่างอย่างสิ้นเชิง ใช้แท็กนี้สำหรับคำถามเกี่ยวกับรหัส (จะ) คอมไพล์ด้วยคอมไพเลอร์ C ++ ใช้แท็กเฉพาะรุ่นสำหรับคำถามที่เกี่ยวข้องกับการแก้ไขมาตรฐานเฉพาะ [C ++ 11], [C ++ 14], [C ++ 17] หรือ [C ++ 20] เป็นต้น


19
ฉันจะโปรไฟล์รหัส C ++ ที่ทำงานบน Linux ได้อย่างไร
ฉันมีแอปพลิเคชั่น C ++ ที่ทำงานบน Linux ซึ่งฉันอยู่ในขั้นตอนการปรับให้เหมาะสม ฉันจะระบุได้อย่างไรว่าส่วนใดของรหัสที่ทำงานช้า
1816 c++  linux  profiling 

17
เหตุใดเทมเพลตจึงสามารถใช้ได้ในไฟล์ส่วนหัวเท่านั้น
อ้างอิงจากไลบรารีมาตรฐาน C ++: แบบฝึกหัดและคู่มือ : วิธีพกพาวิธีเดียวในการใช้เทมเพลตในขณะนี้คือการนำไปใช้ในไฟล์ส่วนหัวโดยใช้ฟังก์ชั่นแบบอินไลน์ ทำไมนี้ (การชี้แจง: ไฟล์ส่วนหัวไม่ได้เป็นโซลูชั่นแบบพกพาเท่านั้นแต่เป็นวิธีแบบพกพาที่สะดวกที่สุด)
1776 c++  templates  c++-faq 

12
ซีแมนทิกส์ย้ายคืออะไร?
ฉันเพิ่งเสร็จสิ้นการฟังวิทยุวิศวกรรมซอฟต์แวร์สัมภาษณ์พอดคาสต์กับสกอตต์เมเยอร์สเกี่ยวกับภาษา C ++ 0x คุณสมบัติใหม่ส่วนใหญ่มีเหตุผลสำหรับฉันและฉันรู้สึกตื่นเต้นจริง ๆ กับ C ++ 0x ตอนนี้ยกเว้นหนึ่งคุณลักษณะ ฉันยังไม่เข้าใจความหมาย ... มันคืออะไรกันแน่?

24
การประมวลผลภาพ: การปรับปรุงอัลกอริทึมสำหรับการรับรู้ 'Coca-Cola Can'
หนึ่งในโครงการที่น่าสนใจที่สุดที่ผมเคยทำงานอยู่ในคู่ที่ผ่านมาของปีที่ผ่านมาเป็นโครงการเกี่ยวกับการประมวลผลภาพ เป้าหมายคือการพัฒนาระบบเพื่อให้สามารถรู้จัก'กระป๋อง' ของ Coca-Cola (โปรดทราบว่าฉันกำลังเน้นคำว่า 'กระป๋อง' คุณจะเห็นว่าทำไมในหนึ่งนาที) คุณสามารถดูตัวอย่างด้านล่างโดยที่สามารถรู้จักในสี่เหลี่ยมสีเขียวพร้อมสเกลและการหมุน ข้อ จำกัด บางประการเกี่ยวกับโครงการ: พื้นหลังอาจมีเสียงดังมาก สามารถจะมีขนาดหรือหมุนหรือรสนิยมแม้กระทั่ง (ภายในขอบเขตที่เหมาะสม) ภาพอาจมีความเลือนในระดับหนึ่ง (รูปทรงอาจไม่ตรงทั้งหมด) อาจมีขวด Coca-Cola ในภาพและอัลกอริทึมควรตรวจจับความสามารถเท่านั้น! ความสว่างของภาพอาจแตกต่างกันมาก (ดังนั้นคุณไม่สามารถเชื่อถือได้ "มากเกินไป" ในการตรวจจับสี) สามารถจะถูกซ่อนไว้บางส่วนที่ด้านข้างหรือตรงกลางและอาจจะเป็นส่วนหนึ่งที่ซ่อนอยู่เบื้องหลังขวด ในภาพอาจจะไม่สามารถทำได้ซึ่งในกรณีนี้คุณต้องไม่พบอะไรเลยและเขียนข้อความโดยบอกว่าเป็นเช่นนั้น ดังนั้นคุณสามารถจบลงด้วยสิ่งที่ยุ่งยากเช่นนี้ (ซึ่งในกรณีนี้อัลกอริทึมของฉันล้มเหลวโดยสิ้นเชิง): ฉันทำโครงการนี้เมื่อไม่นานมานี้และสนุกกับการทำมันมากและฉันก็มีการนำไปใช้ที่เหมาะสม นี่คือรายละเอียดบางอย่างเกี่ยวกับการใช้งานของฉัน: ภาษา : เสร็จใน C ++ โดยใช้ไลบรารีOpenCV การประมวลผลล่วงหน้า : สำหรับการประมวลผลภาพล่วงหน้าเช่นเปลี่ยนภาพให้อยู่ในรูปแบบดิบมากขึ้นเพื่อมอบให้กับอัลกอริทึมฉันใช้ 2 วิธี: การเปลี่ยนโดเมนสีจาก RGB เป็นHSVและการกรองตามเฉดสี "สีแดง" ความอิ่มตัวของสีเหนือขีด จำกัด ที่กำหนดเพื่อหลีกเลี่ยงสีที่มีลักษณะคล้ายสีส้มและการกรองค่าต่ำเพื่อหลีกเลี่ยงโทนมืด ผลลัพธ์ที่ได้คือภาพขาวดำไบนารีซึ่งพิกเซลสีขาวทั้งหมดจะเป็นตัวแทนของพิกเซลที่ตรงกับเกณฑ์นี้ เห็นได้ชัดว่ายังมีอึมากในภาพ แต่จะช่วยลดจำนวนมิติที่คุณต้องทำงานด้วย …


21
เหตุใดฉันจึงควรใช้ตัวชี้แทนวัตถุเอง
ฉันมาจากพื้นหลัง Java และเริ่มทำงานกับวัตถุใน C ++ แต่สิ่งหนึ่งที่เกิดขึ้นกับฉันก็คือผู้คนมักจะใช้พอยน์เตอร์กับวัตถุมากกว่าวัตถุเองเช่นประกาศนี้: Object *myObject = new Object; ค่อนข้างมากกว่า: Object myObject; หรือแทนที่จะใช้ฟังก์ชั่นสมมติว่าtestFunc()เป็นแบบนี้: myObject.testFunc(); เราต้องเขียน: myObject->testFunc(); แต่ฉันไม่สามารถเข้าใจได้ว่าทำไมเราควรทำเช่นนี้ ฉันคิดว่ามันเกี่ยวข้องกับประสิทธิภาพและความเร็วตั้งแต่เราเข้าถึงโดยตรงไปยังที่อยู่หน่วยความจำ ฉันถูกไหม?
1602 c++  c++11  pointers  c++-faq 

18
รอบในซอฟต์แวร์ต้นไม้ครอบครัว
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันเป็นผู้พัฒนาซอฟต์แวร์แผนภูมิต้นไม้บางตระกูล (เขียนด้วยภาษา C ++ และ Qt) ฉันไม่มีปัญหาจนกระทั่งลูกค้าคนใดคนหนึ่งส่งรายงานข้อผิดพลาดถึงฉัน ปัญหาคือลูกค้ามีลูกสองคนพร้อมกับลูกสาวของตนเองและทำให้เขาไม่สามารถใช้ซอฟต์แวร์ของฉันได้เนื่องจากข้อผิดพลาด ข้อผิดพลาดเหล่านั้นเป็นผลมาจากการยืนยันและค่าคงที่ต่างๆของฉันเกี่ยวกับกราฟครอบครัวที่กำลังประมวลผล (ตัวอย่างเช่นหลังจากเดินรอบโปรแกรมระบุว่า X ไม่สามารถเป็นทั้งพ่อและปู่ของ Y) ฉันจะแก้ไขข้อผิดพลาดเหล่านั้นโดยไม่ลบการยืนยันข้อมูลทั้งหมดได้อย่างไร

14
<เร็วกว่า <= หรือไม่
คือเร็วกว่าif( a &lt; 901 )if( a &lt;= 900 ) ไม่เหมือนกับตัวอย่างง่ายๆนี้ แต่มีการเปลี่ยนแปลงประสิทธิภาพเล็กน้อยในรหัสซับซ้อนของลูป ฉันคิดว่ามันต้องทำอะไรบางอย่างกับรหัสเครื่องที่สร้างขึ้นในกรณีที่มันเป็นจริง

27
วิธีที่ง่ายที่สุดในการแปลง int เป็น string ใน C ++
วิธีที่ง่ายที่สุดในการแปลงจากintเป็นเทียบเท่าstringใน C ++ คืออะไร ฉันรู้วิธีการสองวิธี มีวิธีง่ายกว่านี้ไหม? (1) int a = 10; char *intStr = itoa(a); string str = string(intStr); (2) int a = 10; stringstream ss; ss &lt;&lt; a; string str = ss.str();
1574 c++  string  int  type-conversion 

5
ทำไมการเปลี่ยน 0.1f ถึง 0 ทำให้ประสิทธิภาพลดลง 10 เท่า?
ทำไมรหัสนี้ const float x[16] = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6}; const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812, 1.923, 2.034, 2.145, 2.256, 2.367, 2.478, 2.589, 2.690}; float y[16]; for (int i = 0; i …

30
ข้อผิดพลาดของการอ้างอิงที่ไม่ได้กำหนด / การแก้ไขสัญลักษณ์ภายนอกที่ไม่ได้กำหนดคืออะไรและฉันจะแก้ไขได้อย่างไร
Наэтотвопросестьответына กองมากเกินнарусском : Ссылкананеразрешенныйвнешнийсимвол (возможныепричины) ข้อผิดพลาดของการอ้างอิงที่ไม่ได้กำหนด / การอ้างอิงสัญลักษณ์ภายนอกที่ไม่ได้แก้ไขคืออะไร สาเหตุที่พบบ่อยคืออะไรและจะแก้ไข / ป้องกันได้อย่างไร รู้สึกอิสระที่จะแก้ไข / เพิ่มของคุณเอง

9
แลมบ์ดาแสดงออกใน C ++ 11 คืออะไร?
แลมบ์ดาแสดงออกใน C ++ 11 คืออะไร? ฉันจะใช้เมื่อใด ปัญหาประเภทใดที่พวกเขาแก้ได้ที่ไม่สามารถทำได้ก่อนการเปิดตัว? ตัวอย่างเล็ก ๆ น้อย ๆ และการใช้เคสจะมีประโยชน์
1487 c++  lambda  c++11  c++-faq 

17
เมื่อใดที่จะใช้ destructors เสมือนจริง?
ฉันมีความเข้าใจอย่างถ่องแท้เกี่ยวกับทฤษฎี OO ส่วนใหญ่ แต่สิ่งหนึ่งที่ทำให้ฉันสับสนมากคือการทำลายล้างเสมือนจริง ฉันคิดว่า destructor มักถูกเรียกว่าไม่ว่าอะไรและสำหรับทุกวัตถุในโซ่ คุณตั้งใจจะทำให้พวกเขาเป็นเสมือนจริงเมื่อใดและเพราะเหตุใด

23
รวบรวมแอปพลิเคชันสำหรับใช้ในสภาพแวดล้อมที่มีกัมมันตภาพรังสีสูง
เรากำลังรวบรวมโปรแกรมฝัง C / C ++ ที่ถูกนำไปใช้ในอุปกรณ์ป้องกันในสภาพแวดล้อมที่ถล่มด้วยรังสี เรากำลังใช้ GCC และการคอมไพล์ข้ามสำหรับ ARM เมื่อนำไปใช้งานแอปพลิเคชันของเราจะสร้างข้อมูลที่ผิดพลาดและล่มบ่อยกว่าที่เราต้องการ ฮาร์ดแวร์ออกแบบมาสำหรับสภาพแวดล้อมนี้และแอปพลิเคชันของเราทำงานบนแพลตฟอร์มนี้มาหลายปี มีการเปลี่ยนแปลงที่เราสามารถทำกับรหัสของเราหรือการปรับปรุงเวลาคอมไพล์ที่สามารถทำเพื่อระบุ / แก้ไขข้อผิดพลาดที่อ่อนนุ่มและความเสียหายของหน่วยความจำที่เกิดจากเหตุการณ์เดียวพลิกคว่ำ ? นักพัฒนาซอฟต์แวร์รายอื่นประสบความสำเร็จในการลดผลกระทบที่เป็นอันตรายของข้อผิดพลาดที่อ่อนนุ่มในแอพพลิเคชั่นที่ทำงานนานหรือไม่?
1456 c++  c  gcc  embedded  fault-tolerance 

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