Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. main() ควรส่งคืนอะไรใน C และ C ++

    ค่าส่งคืนสำหรับ main ใช้เพื่อระบุว่าโปรแกรมออกจากระบบอย่างไร หากการทำงานของโปรแกรมเป็นปกติ ระบบจะใช้ค่าส่งคืน 0 การสิ้นสุดอย่างผิดปกติ (ข้อผิดพลาด อินพุตที่ไม่ถูกต้อง ข้อผิดพลาดในการแบ่งส่วน ฯลฯ) มักจะสิ้นสุดลงด้วยการคืนค่าที่ไม่เป็นศูนย์ ไม่มีมาตรฐานสำหรับการตีความรหัสที่ไม่ใช่ศูนย์ คุณสามารถกำหนดร

  2. ความแตกต่างระหว่างพฤติกรรมที่ไม่ได้กำหนดไม่ระบุและการใช้งานที่กำหนดไว้ใน C และ C ++?

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

  3. เหตุใดการประมวลผลอาร์เรย์ที่เรียงลำดับจึงเร็วกว่าอาร์เรย์ที่ไม่เรียงลำดับใน C ++

    ใน C ++ การประมวลผลอาร์เรย์ที่เรียงลำดับได้เร็วกว่าอาร์เรย์ที่ไม่เรียงลำดับเนื่องจากการทำนายสาขา ในสถาปัตยกรรมคอมพิวเตอร์ การคาดคะเนสาขาจะกำหนดว่าสาขาตามเงื่อนไข (ข้าม) ในโฟลว์คำสั่งของโปรแกรมมีแนวโน้มที่จะเกิดขึ้นหรือไม่ มาดูตัวอย่างกัน − if(arr[i] > 50) {    Do some operation B } else

  4. ฉันจะใช้อาร์เรย์ใน C ++ ได้อย่างไร

    อาร์เรย์คือชุดขององค์ประกอบประเภทเดียวกันที่วางอยู่ในตำแหน่งหน่วยความจำที่อยู่ติดกันซึ่งสามารถอ้างอิงทีละรายการโดยการเพิ่มดัชนีไปยังตัวระบุที่ไม่ซ้ำกัน หากต้องการใช้อาร์เรย์ใน C++ คุณจะต้องประกาศอาร์เรย์ก่อน เช่น int arr[10]; เป็นการประกาศอาร์เรย์ของชนิด int ขนาด 10 ซึ่งสามารถเก็บ 10 จำนวนเต็มในหน่

  5. ตัวแปรตัวชี้และตัวแปรอ้างอิงใน C ++ แตกต่างกันอย่างไร

    ข้อมูลอ้างอิง เมื่อมีการประกาศตัวแปรเป็นข้อมูลอ้างอิง ตัวแปรนั้นจะกลายเป็นชื่อทางเลือกสำหรับตัวแปรที่มีอยู่ ไวยากรณ์ Type &newname = existing name; การเริ่มต้น Type &pointer; pointer = variable name; ตัวชี้ พอยน์เตอร์ใช้สำหรับเก็บแอดเดรสของตัวแปร ไวยากรณ์ Type *pointer; การเริ่มต้น Type *

  6. การกำจัดการคัดลอกและการเพิ่มประสิทธิภาพมูลค่าส่งคืนคืออะไร

    Copy elision เป็นการปรับให้เหมาะสมที่คอมไพเลอร์ส่วนใหญ่นำไปใช้ เพื่อป้องกันสำเนาพิเศษ (อาจมีราคาแพง) ในบางสถานการณ์ ดังนั้นหากคุณมีโค้ดที่สร้างอ็อบเจกต์ที่ไม่ได้ใช้หรือไม่มีผลข้างเคียง ตัวอย่าง struct MyStruct {    MyStruct() {}    MyStruct(const MyStruct&) {     &

  7. เหตุใด sizeof สำหรับโครงสร้างไม่เท่ากับผลรวมของ sizeof ของสมาชิกแต่ละคนใน C/C++

    ความแตกต่างระหว่าง sizeof สำหรับ struct และผลรวมของ sizeof ของสมาชิกแต่ละตัวของ struct นั้นเกิดจากการที่ byte padding และจัดตำแหน่ง ข้อมูลทุกประเภทใน C/C++ มีข้อกำหนดการจัดตำแหน่ง โปรเซสเซอร์จะมีความยาวของคำในการประมวลผลของสถาปัตยกรรม สำหรับเครื่อง 32 บิต ขนาดคำในการประมวลผลจะเป็น 4 ไบต์หรือ 32 บิต

  8. อาร์เรย์ที่สลายตัวใน C / C ++ คืออะไร?

    อาร์เรย์และพอยน์เตอร์ทำงานค่อนข้างคล้ายกันใน C/C++ แต่มีความแตกต่างที่ลึกซึ้งบางอย่าง ตัวอย่างเช่น ตัวดำเนินการ sizeof ทำงานแตกต่างกันมากในทั้งสอง เมื่อคุณแปลงอาร์เรย์เป็นตัวชี้ ตัวอย่าง #include<iostream> int main() {    const int a[] = { 2, 3, 5, 7, 11 };    const int* p

  9. ฉันจะใช้การประกาศไปข้างหน้า C/C++ ได้เมื่อใด

    Forward declaration ช่วยให้โค้ดหลังการประกาศทราบว่ามีคลาสชื่อ Person สิ่งนี้ทำให้คอมไพเลอร์พึงพอใจเมื่อเห็นชื่อเหล่านี้ใช้ ต่อมาตัวเชื่อมโยงจะพบคำจำกัดความของคลาส ตัวอย่าง Class Person; void myFunc(Person p1) {    // ... } Class Person {    // Class definition here }; ดังนั้น

  10. ตัวชี้อัจฉริยะคืออะไรและฉันควรใช้ใน C ++ เมื่อใด

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

  11. ฉันจะค้นหาเอกสารมาตรฐาน C หรือ C++ ปัจจุบันได้ที่ไหน

    คุณสามารถค้นหาเอกสารมาตรฐาน C ปัจจุบันได้ที่เว็บสโตร์ ANSI https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012 คุณสามารถค้นหาเอกสารมาตรฐาน C++ ปัจจุบันได้จากเว็บไซต์ ISO C++ สำหรับการซื้อ – https://www.iso.org/standard/68564.html แบบร่างการทำงานของมาตรฐาน ISO C++ มีอยู่ใน

  12. static_cast, dynamic_cast, const_cast และ reinterpret_cast ควรใช้ใน C ++ เมื่อใด

    const_cast สามารถใช้เพื่อลบหรือเพิ่ม const ให้กับตัวแปร สิ่งนี้มีประโยชน์หากจำเป็นต้องเพิ่ม/ลบ constness จากตัวแปร static_cast ใช้สำหรับการแปลงประเภทปกติ/ธรรมดา นี่ยังเป็นนักแสดงที่รับผิดชอบสำหรับการบีบบังคับแบบโดยปริยายและยังสามารถเรียกได้อย่างชัดเจน คุณควรใช้ในกรณีเช่นแปลง float เป็น int, char เป็

  13. อธิบายรูปแบบการออกแบบ C++ Singleton

    รูปแบบการออกแบบซิงเกิลตันคือหลักการออกแบบซอฟต์แวร์ที่ใช้ในการจำกัดการสร้างอินสแตนซ์ของคลาสให้เป็นวัตถุเดียว สิ่งนี้มีประโยชน์เมื่อจำเป็นต้องใช้วัตถุเพียงชิ้นเดียวเพื่อประสานงานการดำเนินการทั่วทั้งระบบ ตัวอย่างเช่น หากคุณกำลังใช้ตัวบันทึก ที่เขียนบันทึกไปยังไฟล์ คุณสามารถใช้คลาสซิงเกิลตันเพื่อสร้างตั

  14. วิธีเข้าถึงตัวแปรโลคัลจากฟังก์ชันอื่นโดยใช้พอยน์เตอร์ C ++

    คุณไม่สามารถเข้าถึงตัวแปรในเครื่องได้เมื่ออยู่นอกขอบเขต นี่คือสิ่งที่หมายถึงตัวแปรท้องถิ่น ถึงแม้ว่า ให้เราดูตัวอย่างที่คุณอาจสามารถเข้าถึงหน่วยความจำของตัวแปรภายในเครื่องนอกขอบเขต ตัวอย่าง #include<iostream> int* foo() {    int x = 3;    return &x; } int main() {  

  15. จะเปรียบเทียบ float และ double ใน C ++ ได้อย่างไร

    การเปรียบเทียบโฟลตและตัวแปรคู่ขึ้นอยู่กับเป้าหมายสุดท้ายของคุณ หากคุณต้องการฟังก์ชันที่รันได้โดยไม่มีรายละเอียดมากเกินไป และจะไม่มีปัญหาในการคำนวณที่ไม่ถูกต้อง คุณสามารถใช้ฟังก์ชันต่อไปนี้ - ตัวอย่าง #include<iostream> using namespace std; // Define the error that you can tolerate #define EPS

  16. คุณตั้งค่า ล้าง และสลับบิตใน C/C++ อย่างไร

    คุณสามารถตั้งค่าล้างและสลับบิตได้โดยใช้ตัวดำเนินการระดับบิตใน C, C++, Python และภาษาโปรแกรมอื่นๆ ทั้งหมดที่สนับสนุนการดำเนินการเหล่านี้ คุณต้องใช้ตัวดำเนินการ bitshift เพื่อให้บิตถูกที่ ตั้งค่าเล็กน้อย ในการตั้งค่าบิต เราจะต้องใช้ตัวดำเนินการระดับบิต OR - ตัวอย่าง #include n; ผม |=(1 <

  17. จะอ่านและแยกวิเคราะห์ไฟล์ CSV ใน C ++ ได้อย่างไร

    คุณควรใช้ไลบรารี่เพื่อแยกวิเคราะห์ไฟล์ CSV ใน C++ เนื่องจากมีหลายกรณีที่คุณอาจพลาดหากคุณอ่านไฟล์ด้วยตัวเอง ไลบรารีบูสต์สำหรับ C++ มีชุดเครื่องมือที่ดีมากสำหรับการอ่านไฟล์ CSV ตัวอย่างเช่น ตัวอย่าง #include<iostream> vector<string> parseCSVLine(string line){    using namespace b

  18. Tokenize สตริงใน C ++?

    วิธีแรกคือการใช้สตริงสตรีมเพื่ออ่านคำที่คั่นด้วยการเว้นวรรค สิ่งนี้มีข้อ จำกัด เล็กน้อย แต่ทำงานได้ดีหากคุณให้การตรวจสอบที่เหมาะสม ตัวอย่าง #include <vector> #include <string> #include <sstream> using namespace std; int main() {    string str("Hello from the dark

  19. ความแตกต่างระหว่าง const int*, const int * const และ int const * ใน C/C++?

    สัญลักษณ์ด้านบนหมายถึงสิ่งต่อไปนี้ − int* - Pointer to int. This one is pretty obvious. int const * - Pointer to const int. int * const - Const pointer to int int const * const - Const pointer to const int โปรดทราบด้วยว่า − const int * And int const * are the same. const int * const And int const *

  20. เมื่อใดควรใช้ตัวทำลายเสมือนใน C ++

    Scott Meyers ในภาษา C++ ที่มีประสิทธิภาพพูดว่า - หากคลาสมีฟังก์ชันเสมือน คลาสนั้นควรมีตัวทำลายเสมือน และคลาสนั้นที่ไม่ได้ออกแบบมาให้เป็นคลาสพื้นฐานหรือไม่ได้ออกแบบมาให้ใช้แบบพหุสัณฐานก็ไม่ควรประกาศตัวทำลายเสมือน ดังนั้นคุณควรประกาศ destructors เสมือนในคลาสฐาน polymorphic นี่เป็นเพราะถ้าคุณสร้างวัต

Total 5992 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:11/300  20-คอมพิวเตอร์/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17