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

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

  2. การส่งผ่านอาร์เรย์ไปยังฟังก์ชัน C++

    C++ ไม่อนุญาตให้ส่งผ่านอาร์เรย์ทั้งหมดเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน อย่างไรก็ตาม คุณสามารถส่งตัวชี้ไปยังอาร์เรย์ได้โดยการระบุชื่ออาร์เรย์โดยไม่มีดัชนี หากคุณต้องการส่งอาร์เรย์มิติเดียวเป็นอาร์กิวเมนต์ในฟังก์ชัน คุณจะต้องประกาศพารามิเตอร์อย่างเป็นทางการของฟังก์ชันด้วยวิธีใดวิธีหนึ่งจากสามวิธีต่อไปนี

  3. พฤติกรรมทั่วไปที่ไม่ได้กำหนดในการเขียนโปรแกรม C++

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

  4. การส่งผ่านอาร์เรย์สองมิติไปยังฟังก์ชัน C++

    C++ ไม่อนุญาตให้ส่งผ่านอาร์เรย์ทั้งหมดเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน อย่างไรก็ตาม คุณสามารถส่งตัวชี้ไปยังอาร์เรย์ได้โดยการระบุชื่ออาร์เรย์โดยไม่มีดัชนี มีสามวิธีในการส่งอาร์เรย์ 2D ไปยังฟังก์ชัน - ระบุขนาดคอลัมน์ของอาร์เรย์ 2 มิติ void processArr(int a[][10]) {    // Do something } ส่งอาร์

  5. การส่งแบบปกติกับ static_cast กับ dynamic_cast ใน C ++

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

  6. การประกาศไปข้างหน้าใน C ++ คืออะไร

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

  7. เหตุใดเราจึงควรหลีกเลี่ยงการใช้ตัวแปรส่วนกลางใน C/C++

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

  8. ความแตกต่างระหว่าง 'struct' และ 'typedef struct' ใน C ++?

    ใน C ++ ไม่มีความแตกต่างระหว่าง struct และ typedef struct เพราะใน C++ การประกาศ struct/union/enum/class ทั้งหมดทำเหมือนเป็น typedef โดยปริยาย ed ตราบใดที่ชื่อไม่ได้ถูกซ่อนโดยการประกาศอื่นที่มีชื่อเดียวกัน แม้ว่าจะมีความแตกต่างเล็กน้อยที่ไม่สามารถประกาศ typedefs ได้ ดังนั้นสำหรับตัวเลือก typedef คุณต

  9. จะรันคำสั่งและรับผลลัพธ์ของคำสั่งภายใน C ++ โดยใช้ POSIX ได้อย่างไร

    คุณสามารถใช้ฟังก์ชัน popen และ pclose เพื่อไพพ์เข้าและออกจากกระบวนการ ฟังก์ชัน popen() จะเปิดกระบวนการโดยการสร้างไพพ์ การฟอร์ก และเรียกใช้เชลล์ เราสามารถใช้บัฟเฟอร์เพื่ออ่านเนื้อหาของ stdout และต่อท้ายสตริงผลลัพธ์และส่งคืนสตริงนี้เมื่อออกจากกระบวนการ ตัวอย่าง #include <iostream> #include <s

  10. การเรียงลำดับเวกเตอร์ของวัตถุที่กำหนดเองโดยใช้ C++ STL

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

  11. ความผิดปกติของการแบ่งส่วนเป็นพฤติกรรมที่ไม่ได้กำหนดจริงใน C ++ หรือไม่

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

  12. อะไรคือความแตกต่างระหว่าง std::endl และ \n ใน C ++

    \n แสดงผลการขึ้นบรรทัดใหม่ (ในการแสดงเฉพาะแพลตฟอร์มที่เหมาะสม ดังนั้นจึงสร้าง \r\n บน Windows) แต่ std::endl ทำแบบเดียวกันและล้างสตรีม โดยปกติ คุณไม่จำเป็นต้องล้างสตรีมในทันทีและจะทำให้คุณเสียประสิทธิภาพ ดังนั้นโดยส่วนใหญ่ ไม่มีเหตุผลที่จะใช้ std::endl เมื่อคุณต้องการล้างสตรีมด้วยตนเองเนื่องจากคุณค

  13. วิธีการแปลง int เป็นสตริงใน C ++?

    คุณสามารถใช้ฟังก์ชัน itoa จาก C เพื่อแปลง int เป็นสตริงได้ ตัวอย่าง #include<iostream> int main() {    int a = 10;    char *intStr = itoa(a);    string str = string(intStr);    cout << str; } ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - 10 สิ่งนี้จะแปลงจำนวนเต

  14. คำหลักที่ชัดเจนหมายถึงอะไรใน C ++

    คีย์เวิร์ดที่ชัดเจนใน C++ ใช้เพื่อทำเครื่องหมายคอนสตรัคเตอร์เพื่อไม่ให้แปลงประเภทโดยปริยาย ตัวอย่างเช่น หากคุณมีคลาส Foo − class Foo { public:     Foo(int n); // allocates n bytes to the Foo object     Foo(const char *p); // initialize object with char *p }; ถ้าได้ลอง Foo mystri

  15. จะเรียกใช้ฟังก์ชันเสมือนภายในตัวสร้างใน C ++ ได้อย่างไร

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

  16. เหตุใด C ++ ถึงมีไฟล์ส่วนหัวและไฟล์ .cpp

    C++ มีไฟล์ส่วนหัวและ .ccp สำหรับแยกอินเทอร์เฟซออกจากการใช้งาน ไฟล์ส่วนหัวประกาศว่า อะไร ที่คลาส (หรืออะไรก็ตามที่กำลังใช้งาน) จะทำ เช่น API ของคลาส เหมือนกับอินเทอร์เฟซใน Java ในทางกลับกัน ไฟล์ cpp กำหนด วิธี ที่จะใช้งานคุณลักษณะเหล่านั้น เช่น การใช้งานฟังก์ชันที่ประกาศไว้ ซึ่งจะช่วยลดการพึ่งพา โค้

  17. อ่านอักขระจากอินพุตมาตรฐานโดยไม่ต้องรอขึ้นบรรทัดใหม่ใน C++

    ไม่มีโซลูชันแบบพกพาสำหรับการทำเช่นนี้ บน windows คุณสามารถใช้ฟังก์ชัน getch() จากไลบรารี conio(Console I/O) เพื่อกดตัวอักษร ตัวอย่าง #include<iostream> #include<conio.h> using namespace std; int main() {     char c;     while(1){ // infinite loop      

  18. จะแยกสตริงเป็น int ใน C ++ ได้อย่างไร

    คุณสามารถใช้สตรีมสตริงเพื่อแยกวิเคราะห์ int ใน c++ เป็น int คุณต้องทำการตรวจสอบข้อผิดพลาดในวิธีนี้ ตัวอย่าง #include<iostream> #include<sstream> using namespace std; int str_to_int(const string &str) {    stringstream ss(str);    int num;    ss >>

  19. วิธีแปลง std ::string เป็น const char* หรือ char* ใน C ++

    คุณสามารถใช้เมธอด c_str() ของคลาสสตริงเพื่อรับ const char* ที่มีเนื้อหาสตริง ตัวอย่าง #include<iostream> using namespace std; int main() {    string x("hello");    const char* ccx = x.c_str();    cout << ccx; } ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - hell

  20. ฉันจะพิมพ์ค่าสองเท่าด้วยความแม่นยำสูงสุดโดยใช้ cout ใน C ++ ได้อย่างไร

    เอาต์พุตสตรีม cout อนุญาตให้ใช้ตัวจัดการที่คุณสามารถใช้เพื่อตั้งค่าความแม่นยำโดยตรงบน cout และใช้ตัวระบุรูปแบบคงที่ เพื่อให้ได้ความแม่นยำของสองเท่า คุณสามารถใช้ไลบรารีขีดจำกัด ตัวอย่างเช่น ตัวอย่าง #include<iostream> #include <limits> using namespace std; int main() {     // Ge

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