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

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

4
"การค้นหาอาร์กิวเมนต์ขึ้นอยู่กับ" (aka ADL หรือ "การค้นหานิก") คืออะไร
คำอธิบายที่ดีเกี่ยวกับการค้นหาที่ขึ้นอยู่กับการโต้แย้งคืออะไร? หลายคนก็เรียกมันว่า Koenig Lookup เช่นกัน โดยเฉพาะอย่างยิ่งฉันต้องการทราบ: ทำไมเป็นสิ่งที่ดี ทำไมมันเป็นสิ่งที่ไม่ดี? มันทำงานยังไง?

6
Clang vs GCC สำหรับโครงการพัฒนา Linux ของฉัน
ฉันอยู่ในวิทยาลัยและสำหรับโครงการที่เราใช้ C. เราได้สำรวจ GCC และ Clang และ Clang ดูเหมือนจะเป็นมิตรต่อผู้ใช้มากกว่า GCC เป็นผลให้ฉันสงสัยว่าข้อดีหรือข้อเสียคือการใช้เสียงดังกราวเมื่อเทียบกับ GCC สำหรับการพัฒนาใน C และ C ++ บน Linux? ในกรณีของฉันนี้จะใช้สำหรับโปรแกรมระดับนักเรียนไม่ใช่การผลิต ถ้าฉันใช้ Clang ฉันควรดีบักด้วย GDB และใช้ GNU Make หรือใช้ดีบักเกอร์อื่นแล้วสร้างยูทิลิตี้?
175 c++  c  linux  gcc  clang 

9
Comma Operator ทำงานอย่างไร
เครื่องหมายจุลภาคทำงานอย่างไรใน C ++ ตัวอย่างเช่นถ้าฉัน: a = b, c; ท้ายที่สุดเท่ากับ b หรือ c หรือไม่? (ใช่ฉันรู้ว่านี่เป็นเรื่องง่ายที่จะทดสอบ - เพียงแค่บันทึกที่นี่เพื่อให้คนอื่นหาคำตอบได้อย่างรวดเร็ว) อัปเดต: คำถามนี้มีความแตกต่างเล็กน้อยเมื่อใช้โอเปอเรเตอร์คอมม่า เพียงบันทึกเอกสารนี้: a = b, c; // a is set to the value of b! a = (b, c); // a is set to the value of c! คำถามนี้ได้รับแรงบันดาลใจจากการพิมพ์ผิดในรหัส สิ่งที่ตั้งใจจะเป็น a = b; …

13
วิธีการผนวกถ่านกับ std :: string?
ข้อผิดพลาดต่อไปนี้ล้มเหลว prog.cpp:5:13: error: invalid conversion from ‘char’ to ‘const char*’ int main() { char d = 'd'; std::string y("Hello worl"); y.append(d); // Line 5 - this fails std::cout << y; return 0; } ฉันยังลองต่อไปนี้ซึ่งรวบรวม แต่ทำงานแบบสุ่มที่รันไทม์: int main() { char d[1] = { 'd' }; std::string y("Hello worl"); y.append(d); std::cout << …
175 c++  string 

11
เครื่องมือในการติดตาม #include การอ้างอิง [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ข้อเสนอแนะที่ดี? อินพุตจะเป็นชื่อของไฟล์ส่วนหัวและเอาต์พุตควรเป็นรายการ (ควรเป็นแผนผัง) ของไฟล์ทั้งหมดรวมถึงโดยตรงหรือโดยอ้อม
175 c++  c  header 


12
ไม่จำเป็นต้องใช้เครื่องหมายอัฒภาค (';') หลังจากการประกาศฟังก์ชันใน C ++ หรือไม่
ฉันเพิ่งทำแบบทดสอบการเขียนโปรแกรมระดับกลางและหนึ่งในคำถามที่ฉันผิดคือ: ไม่จำเป็นต้องใช้เครื่องหมายอัฒภาค (';') หลังจากการประกาศฟังก์ชัน จริงหรือเท็จ ฉันเลือก "false" (และโปรดแก้ไขให้ฉันถ้าฉันผิดเพราะฉันรู้สึกว่าฉันกำลังบ้า) การประกาศฟังก์ชั่นคือสิ่งที่คุณเขียนก่อนคำจำกัดความ (ที่ด้านบนสุดของโค้ด) ดังนั้นคอมไพเลอร์จึงรู้หน้าที่ เรียกก่อนแม้แต่เรียกมันและนิยามฟังก์ชั่นเป็นสิ่งที่ทำให้ฟังก์ชั่นโดยรวม กล่าวคือ ประกาศ: int func(); ความหมาย: int func() { return 1; } คำตอบสำหรับเรื่องนี้ไม่ควรเป็นเท็จหรือ

6
วิธีการเริ่มต้น std :: vector จากอาร์เรย์ C-style?
วิธีที่ถูกที่สุดในการเริ่มต้นstd::vectorอาร์เรย์จาก C-style คืออะไร? ตัวอย่าง: ในคลาสต่อไปนี้ฉันมีvectorแต่เนื่องจากข้อ จำกัด ภายนอกข้อมูลจะถูกส่งผ่านเป็นอาร์เรย์สไตล์ C: class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } เห็นได้ชัดว่าผมสามารถโทรและห่วงแล้วกว่าองค์ประกอบหรือโทรw_.resize() std::copy()มีวิธีการที่ดีกว่านี้ไหม?
174 c++  arrays  vector  stl 

8
รวบรวมด้วย g ++ โดยใช้หลายแกน
คำถามด่วน: ธงคอมไพเลอร์คืออะไรที่อนุญาตให้ g ++ วางไข่หลายอินสแตนซ์ของตัวเองเพื่อรวบรวมโครงการขนาดใหญ่ได้เร็วขึ้น (เช่นไฟล์ต้นฉบับ 4 ไฟล์ในเวลาเดียวกันสำหรับ CPU แบบมัลติคอร์)?

6
'L' ข้างหน้าสตริงหมายถึงอะไรใน C ++
this->textBox1->Name = L"textBox1"; แม้ว่ามันจะทำงานได้โดยไม่ต้องLมีวัตถุประสงค์ของคำนำหน้าคืออะไร? วิธีการใช้ไม่ได้ทำให้รู้สึกถึงโปรแกรมเมอร์ C ง่าย ๆ
174 c++ 

16
จับตัวละครจากอินพุตมาตรฐานโดยไม่ต้องรอให้กด
ฉันไม่สามารถจำได้ว่าฉันทำเช่นนี้เพราะมันเกิดขึ้นไม่บ่อยนักสำหรับฉัน แต่ใน C หรือ C ++ วิธีที่ดีที่สุดในการอ่านอักขระจากอินพุตมาตรฐานคืออะไรโดยไม่ต้องรอขึ้นบรรทัดใหม่ (กด Enter) อีกทั้งยังเป็นการดีที่มันจะไม่สะท้อนตัวอักษรที่ป้อนไปยังหน้าจอ ฉันแค่อยากจะกดแป้นพิมพ์โดยไม่ส่งผลต่อหน้าจอคอนโซล
174 c++  c  inputstream 

5
วิธีที่ดีที่สุดในการใช้ HashMap ใน C ++ คืออะไร
ฉันรู้ว่า STL มี HashMap API แต่ฉันไม่สามารถหาเอกสารที่ดีและละเอียดพร้อมตัวอย่างที่ดีเกี่ยวกับเรื่องนี้ ตัวอย่างที่ดีใด ๆ ที่จะได้รับการชื่นชม
174 c++  hashmap 

3
std :: atomic คืออะไร?
ฉันเข้าใจว่าstd::atomic<>เป็นวัตถุอะตอม แต่ปรมาณูในระดับใด เพื่อความเข้าใจของฉันการดำเนินการสามารถเป็นอะตอม การทำวัตถุอะตอมหมายถึงอะไรกันแน่? ตัวอย่างเช่นถ้ามีสองกระทู้พร้อมกันรันรหัสต่อไปนี้: a = a + 12; ถ้าอย่างนั้นการปฎิบัติการทั้งหมดadd_twelve_to(int)คืออะไร? หรือมีการเปลี่ยนแปลงกับตัวแปรอะตอม (เช่นoperator=())?


4
ฉันสามารถใบ้ตัวเพิ่มประสิทธิภาพโดยให้ช่วงของจำนวนเต็มได้หรือไม่
ฉันใช้intประเภทเพื่อเก็บค่า โดยความหมายของโปรแกรมค่าแตกต่างกันเสมอในช่วงที่เล็กมาก (0 - 36) และint(ไม่ใช่ a char) ถูกใช้เพียงเพราะประสิทธิภาพของ CPU ดูเหมือนว่าการเพิ่มประสิทธิภาพทางคณิตศาสตร์พิเศษหลายอย่างสามารถทำได้กับจำนวนเต็มเล็กน้อย การเรียกใช้ฟังก์ชันจำนวนมากในจำนวนเต็มเหล่านั้นอาจถูกปรับให้เหมาะกับการดำเนินการ "เสก" จำนวนน้อยและบางฟังก์ชั่นอาจปรับให้เหมาะกับการค้นหาบนโต๊ะ ดังนั้นเป็นไปได้หรือไม่ที่จะบอกคอมไพเลอร์ว่านี่intเป็นช่วงเล็ก ๆ เสมอและเป็นไปได้หรือไม่ที่คอมไพเลอร์จะทำการปรับแต่งเหล่านั้นให้ดีที่สุด?

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