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

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

18
ทำไมคำสั่ง switch ไม่สามารถใช้กับสตริงได้
type illegalรวบรวมรหัสต่อไปและมีข้อผิดพลาดของ int main() { // Compilation error - switch expression of type illegal switch(std::string("raj")) { case"sda": } } คุณไม่สามารถใช้สตริงทั้งในหรือswitch caseทำไม? มีวิธีใดที่ทำงานได้ดีในการรองรับตรรกะที่คล้ายกับการเปิดสตริง?

11
ทำไมการอ้างอิงที่ไม่ใช่สมาชิกไม่สามารถผูกกับวัตถุชั่วคราวได้?
ทำไมมันไม่ได้รับอนุญาตให้รับการอ้างอิงที่ไม่ใช่ const ไปยังวัตถุชั่วคราวซึ่งฟังก์ชั่นgetx()ส่งกลับ? เห็นได้ชัดว่านี่เป็นสิ่งต้องห้ามตามมาตรฐาน C ++ แต่ฉันสนใจในวัตถุประสงค์ของข้อ จำกัด ดังกล่าวไม่ใช่การอ้างอิงถึงมาตรฐาน struct X { X& ref() { return *this; } }; X getx() { return X();} void g(X & x) {} int f() { const X& x = getx(); // OK X& x = getx(); // error X& x = getx().ref(); // …

5
คำหลัก 'แทนที่' เป็นเพียงการตรวจสอบวิธีเสมือนจริงที่ถูกแทนที่หรือไม่
เท่าที่ฉันเข้าใจการแนะนำของoverrideคำหลักใน C ++ 11 ไม่มีอะไรมากไปกว่าการตรวจสอบเพื่อให้แน่ใจว่าฟังก์ชั่นการใช้งานเป็นการนำoverrideของvirtualฟังก์ชั่นในชั้นฐาน มันคืออะไร


7
มีประโยชน์ในการผ่านโดยตัวชี้ไปผ่านโดยอ้างอิงใน C ++?
ประโยชน์ของการผ่านโดยตัวชี้ผ่านการอ้างอิงใน C ++ คืออะไร เมื่อเร็ว ๆ นี้ฉันได้เห็นตัวอย่างจำนวนมากที่เลือกการส่งผ่านอาร์กิวเมนต์ของพอยน์เตอร์แทนที่จะส่งผ่านการอ้างอิง มีประโยชน์ในการทำเช่นนี้? ตัวอย่าง: func(SPRITE *x); ด้วยการโทร func(&mySprite); เมื่อเทียบกับ func(SPRITE &x); ด้วยการโทร func(mySprite);

8
ตัวชี้ฐานและตัวชี้สแต็คคืออะไร? พวกเขาทำในสิ่งที่ชี้?
การใช้ตัวอย่างนี้มาจากวิกิพีเดียซึ่ง DrawSquare () เรียก DrawLine () (โปรดทราบว่าแผนภาพนี้มีที่อยู่สูงที่ด้านล่างและที่อยู่ต่ำที่ด้านบน) ใครสามารถอธิบายฉันว่าอะไรebpและespอยู่ในบริบทนี้บ้าง จากสิ่งที่ฉันเห็นฉันจะบอกว่าตัวชี้สแต็คชี้ไปที่ด้านบนสุดของสแต็กเสมอและตัวชี้พื้นฐานไปยังจุดเริ่มต้นของฟังก์ชันปัจจุบันหรือไม่ หรืออะไร? แก้ไข: ฉันหมายถึงสิ่งนี้ในบริบทของโปรแกรม windows edit2: และมันeipทำงานอย่างไรเช่นกัน? edit3:ฉันมีรหัสต่อไปนี้จาก MSVC ++: var_C= dword ptr -0Ch var_8= dword ptr -8 var_4= dword ptr -4 hInstance= dword ptr 8 hPrevInstance= dword ptr 0Ch lpCmdLine= dword ptr 10h nShowCmd= dword ptr 14h พวกเขาทั้งหมดดูเหมือนจะเป็น dwords ดังนั้นจึงใช้เวลา 4 …
225 c++  c  assembly  x86 

5
ความแตกต่างระหว่าง _tmain () และ main () ใน C ++ คืออะไร
ถ้าฉันรันแอปพลิเคชัน C ++ ด้วยวิธี main () ต่อไปนี้ทุกอย่างก็โอเค: int main(int argc, char *argv[]) { cout << "There are " << argc << " arguments:" << endl; // Loop through each argument and print its number and value for (int i=0; i<argc; i++) cout << i << " " << argv[i] << …
224 c++  unicode  arguments 

13
Profiler C ++ ฟรีที่ดีที่สุดสำหรับ Windows คืออะไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันกำลังมองหาผู้สร้างโปรไฟล์เพื่อค้นหาคอขวดในรหัส C ++ ของฉัน ฉันต้องการหาเครื่องมือสร้างโปรไฟล์ฟรีที่ไม่ล่วงล้ำและดี ฉันเป็นผู้พัฒนาเกมและฉันใช้ PIX สำหรับ Xbox 360 และพบว่าดีมาก แต่ไม่ฟรี ฉันรู้ Intel VTuneแต่ไม่ฟรี
224 c++  windows  profile 

6
ฟังก์ชันส่งผ่านเป็นอาร์กิวเมนต์แม่แบบ
ฉันกำลังมองหากฎที่เกี่ยวข้องกับการส่งผ่านแม่แบบ C ++ ทำหน้าที่เป็นอาร์กิวเมนต์ สิ่งนี้ได้รับการสนับสนุนโดย C ++ ดังที่แสดงในตัวอย่างที่นี่: #include <iostream> void add1(int &v) { v+=1; } void add2(int &v) { v+=2; } template <void (*T)(int &)> void doOperation() { int temp=0; T(temp); std::cout << "Result is " << temp << std::endl; } int main() { doOperation<add1>(); doOperation<add2>(); } อย่างไรก็ตามการเรียนรู้เกี่ยวกับเทคนิคนี้เป็นเรื่องยาก Googling …


17
ลบช่องว่างออกจาก std :: string ใน C ++
วิธีที่แนะนำในการลบช่องว่างออกจากสตริงใน C ++ คืออะไร ฉันสามารถวนรอบตัวละครทั้งหมดและสร้างสายอักขระใหม่ แต่มีวิธีที่ดีกว่า
222 c++  stl 


5
ความแตกต่างระหว่าง __PRETTY_FUNCTION__, __FUNCTION__, __func__ คืออะไร
อะไรคือความแตกต่างระหว่าง__PRETTY_FUNCTION__, __FUNCTION__, __func__และสถานที่ที่พวกเขาจะได้รับการบันทึก? ฉันจะตัดสินใจได้อย่างไรว่าควรใช้อันไหน

5
std :: string_view เร็วกว่า const std :: string & อย่างไร
std::string_viewได้ทำให้มันไปที่ C ++ 17 const std::string&และจะมีการใช้กันอย่างแพร่หลายในการใช้มันแทน เหตุผลหนึ่งคือประสิทธิภาพ ใครสามารถอธิบายได้ว่า std::string_view / จะเร็วกว่าconst std::string&เมื่อใช้เป็นชนิดพารามิเตอร์อย่างไร (สมมติว่าไม่มีสำเนาใน callee)
221 c++  string  c++17  string-view 

5
“ ค่าเริ่มต้น” หมายถึงอะไรหลังจากประกาศฟังก์ชัน 'คลาส'?
ฉันเคยเห็นdefaultใช้ถัดจากการประกาศฟังก์ชั่นในชั้นเรียน มันทำอะไร? class C { C(const C&) = default; C(C&&) = default; C& operator=(const C&) & = default; C& operator=(C&&) & = default; virtual ~C() { } };

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