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

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

19
ฉันใช้ malloc และ / หรือใหม่ในกรณีใดบ้าง
ฉันเห็นใน C ++ มีหลายวิธีในการจัดสรรและฟรีข้อมูลและฉันเข้าใจว่าเมื่อคุณโทรmallocคุณควรโทรfreeและเมื่อคุณใช้newโอเปอเรเตอร์คุณควรจับคู่deleteและเป็นความผิดพลาดในการผสมสองอย่าง (เช่นการโทรหาfree()บางสิ่งที่สร้างขึ้น กับnewผู้ดำเนินการ) แต่ฉันไม่ชัดเจนว่าควรใช้malloc/ freeและเมื่อใดควรใช้new/ deleteในโปรแกรมในโลกแห่งความเป็นจริง หากคุณเป็นผู้เชี่ยวชาญ C ++ โปรดแจ้งให้เราทราบกฎเกณฑ์หรือหลักการที่คุณปฏิบัติตามในเรื่องนี้


21
วิธีใช้ค่าคงที่ PI ใน C ++
ฉันต้องการใช้ค่าคงที่ PI และฟังก์ชันตรีโกณมิติในบางโปรแกรม C ++ include <math.h>ฉันได้รับฟังก์ชันตรีโกณมิติกับ อย่างไรก็ตามดูเหมือนจะไม่มีคำจำกัดความของ PI ในไฟล์ส่วนหัวนี้ ฉันจะรับ PI โดยไม่ต้องกำหนดด้วยตนเองได้อย่างไร
476 c++  trigonometry 

17
วนซ้ำกว่า std :: vector: ตัวแปรดัชนีที่ไม่ได้ลงชื่อ vs
วิธีที่ถูกต้องในการวนซ้ำเวกเตอร์ใน C ++ คืออะไร? ลองพิจารณาชิ้นส่วนรหัสสองอันนี้อันนี้ใช้ได้ดี: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } และอันนี้: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } warning: comparison between signed and unsigned integer expressionsซึ่งจะสร้าง ฉันใหม่ในโลกของ C ++ ดังนั้นunsignedตัวแปรที่ดูน่ากลัวสำหรับฉันและฉันรู้ว่าunsignedตัวแปรอาจเป็นอันตรายหากไม่ได้ใช้อย่างถูกต้องดังนั้น - ถูกต้องหรือไม่
470 c++  stl  unsigned  signed 

30
เหตุใดโปรแกรมนี้จึงถูกปฏิเสธโดยคอมไพเลอร์ C ++ สามตัว
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันมีปัญหาในการรวบรวมโปรแกรม C ++ ที่ฉันเขียน โปรแกรมนี้ง่ายมากและเป็นความรู้ที่ดีที่สุดของฉันสอดคล้องกับกฎทั้งหมดที่กำหนดไว้ในมาตรฐาน C ++ ฉันได้อ่านทั้งหมดของ ISO / IEC 14882: 2003 สองครั้งเพื่อให้แน่ใจ โปรแกรมมีดังนี้: นี่คือผลลัพธ์ที่ฉันได้รับเมื่อพยายามคอมไพล์โปรแกรมนี้ด้วย Visual C ++ 2010: c:\dev>cl /nologo helloworld.png cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed helloworld.png : fatal error LNK1107: invalid or corrupt …

20
โปรแกรมค้นหาจำนวนแกนในเครื่องโดยทางโปรแกรม
มีวิธีในการพิจารณาจำนวนคอร์ของเครื่องจาก C / C ++ ในแบบอิสระหรือไม่ หากไม่มีสิ่งดังกล่าวแล้วจะพิจารณาได้อย่างไรต่อแพลตฟอร์ม (Windows / * nix / Mac)
464 c++  c 

10
ฉันจะรันคำสั่งและรับเอาต์พุตของคำสั่งภายใน C ++ โดยใช้ POSIX ได้อย่างไร
ฉันกำลังมองหาวิธีที่จะได้รับผลลัพธ์ของคำสั่งเมื่อมันถูกเรียกใช้จากภายในโปรแกรม C ++ ฉันได้ดูการใช้งานsystem()ฟังก์ชั่น แต่นั่นก็จะดำเนินการคำสั่ง นี่คือตัวอย่างของสิ่งที่ฉันกำลังมองหา: std::string result = system("./some_command"); ฉันต้องการเรียกใช้คำสั่งโดยพลการและรับเอาต์พุต ฉันดูที่boost.orgแต่ฉันไม่พบสิ่งใดที่จะให้สิ่งที่ฉันต้องการ

12
ควรใช้ reinterpret_cast เมื่อใด
ฉันกำลังสับสนเล็กน้อยกับการบังคับใช้ของVSreinterpret_cast จากสิ่งที่ฉันได้อ่านกฎทั่วไปที่ใช้งานหล่อแบบคงที่เมื่อชนิดสามารถตีความที่รวบรวมเวลาด้วยเหตุนี้คำว่าstatic_cast staticนี่คือ cast คอมไพเลอร์ C ++ ที่ใช้ภายในสำหรับการร่ายโดยปริยายด้วย reinterpret_casts ใช้งานได้ในสองสถานการณ์: แปลงประเภทจำนวนเต็มเป็นประเภทของตัวชี้และในทางกลับกัน แปลงประเภทตัวชี้หนึ่งเป็นประเภทอื่น แนวคิดทั่วไปที่ฉันได้รับคือสิ่งนี้ไม่สามารถพูดได้และควรหลีกเลี่ยง ฉันอยู่ที่ไหนน้อยสับสนเป็นหนึ่งในการใช้งานที่ฉันต้องการฉันโทร c ++ จากซีและความต้องการรหัส C จะยึดมั่นในการ C ++ void*วัตถุดังนั้นโดยทั่วไปมันถือ คาสต์ใดที่ควรใช้เพื่อแปลงระหว่างvoid *และประเภทคลาส ฉันได้เห็นการใช้งานของทั้งสองstatic_castและreinterpret_cast? แม้ว่าจากสิ่งที่ฉันได้อ่านดูเหมือนstaticจะดีกว่าที่นักแสดงสามารถเกิดขึ้นได้ในเวลารวบรวม? แม้ว่ามันจะบอกว่าจะใช้reinterpret_castในการแปลงจากประเภทตัวชี้หนึ่งไปสู่อีกประเภทหนึ่ง?
459 c++  casting 

6
ตัวชี้ฟังก์ชั่น Typedef?
Наэтотвопросестьответына กองมากเกินнарусском : Какработает typedef вэтомкоде? ฉันเรียนรู้วิธีโหลด DLL แบบไดนามิก แต่สิ่งที่ฉันไม่เข้าใจคือบรรทัดนี้ typedef void (*FunctionFunc)(); ฉันมีคำถามสองสามข้อ หากมีใครสามารถตอบคำถามเหล่านี้ได้ฉันก็จะขอบคุณ ทำไมต้องtypedefใช้? ไวยากรณ์ดูแปลก หลังจากนั้นvoidควรจะไม่มีชื่อฟังก์ชั่นหรืออะไร? ดูเหมือนว่าฟังก์ชั่นที่ไม่ระบุชื่อ ตัวชี้ฟังก์ชั่นถูกสร้างขึ้นเพื่อเก็บที่อยู่หน่วยความจำของฟังก์ชั่นหรือไม่? ดังนั้นฉันสับสนในขณะนี้ คุณช่วยอธิบายสิ่งต่าง ๆ ให้ฉันได้ไหม
458 c++  c  pointers  typedef 

8
ตัวระบุรูปแบบ printf สำหรับ bool คืออะไร
ตั้งแต่ ANSI C99 มี_Boolหรือผ่านทางbool stdbool.hแต่จะมีตัวprintfระบุรูปแบบสำหรับบูลด้วยหรือไม่ ฉันหมายถึงบางอย่างเช่นในรหัสหลอกว่า: bool x = true; printf("%B\n", x); ซึ่งจะพิมพ์: true
458 c++  c  boolean  printf 


4
ข้อผิดพลาด: ส่ง xxx เป็นอาร์กิวเมนต์ 'this' ของ xxx ยกเลิกตัวระบุ
#include <iostream> #include <set> using namespace std; class StudentT { public: int id; string name; public: StudentT(int _id, string _name) : id(_id), name(_name) { } int getId() { return id; } string getName() { return name; } }; inline bool operator< (StudentT s1, StudentT s2) { return s1.getId() < s2.getId(); …
457 c++ 


18
วิธีที่เร็วที่สุดในการตรวจสอบว่าไฟล์มีอยู่โดยใช้มาตรฐาน C ++ / C ++ 11 / C หรือไม่
ฉันต้องการค้นหาวิธีที่เร็วที่สุดในการตรวจสอบว่าไฟล์มีอยู่ในมาตรฐาน C ++ 11, C ++ หรือ C ฉันมีไฟล์หลายพันไฟล์และก่อนที่จะทำอะไรกับพวกเขาฉันต้องตรวจสอบว่ามีอยู่ทั้งหมดหรือไม่ ฉันสามารถเขียนอะไรได้บ้าง/* SOMETHING */ในฟังก์ชั่นต่อไปนี้ inline bool exist(const std::string& name) { /* SOMETHING */ }
453 c++  c  file  stream 

14
จะค้นหาได้อย่างไรว่าคีย์ที่ระบุนั้นมีอยู่ใน C ++ std :: map
ฉันพยายามตรวจสอบว่ามีรหัสที่ระบุอยู่ในแผนที่หรือไม่และทำไม่ได้: typedef map<string,string>::iterator mi; map<string, string> m; m.insert(make_pair("f","++--")); pair<mi,mi> p = m.equal_range("f");//I'm not sure if equal_range does what I want cout << p.first;//I'm getting error here ดังนั้นฉันจะพิมพ์สิ่งที่อยู่ใน p ได้อย่างไร
451 c++  dictionary  stl 

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