Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. Copy-and-Swap Idiom ใน C++

    Copy-and-Swap Idiom ใน C++ การกำหนดค่า (assignment) ประกอบด้วย 2 ขั้นตอน: ทำลายสถานะเก่าของออบเจ็กต์ และสร้างสถานะใหม่ Destructor ใช้ขั้นตอนแรก Copy constructor ใช้ขั้นตอนที่สอง การ overload assignment operator อาจทำให้ยาก Copy-and-swap idiom เป็นวิธีแก้ Idiom นี้ใช้ copy-constructor สร้าง local c

  2. Zombie และ Orphan Processes ใน Linux

    รายละเอียดเกี่ยวกับ zombie, orphan และ daemon processes ดังนี้ Zombie Processes (กระบวนการซอมบี้) Zombie process คือ process ที่ทำงานเสร็จแล้ว แต่ยังคงมี entry (รายการ) ใน process table อยู่ Zombie processes มักเกิดกับ child processes เนื่องจาก parent process ยังต้องอ่าน exit status ของลูก กระบวนการ

  3. Lambda Expression ใน C++

    Lambda Expression ใน C++ C++ STL มีฟังก์ชัน generic ที่มีประโยชน์ เช่น std::for_each แต่ใช้งานยุ่งยากถ้า functor ที่ต้องการใช้เป็นของเฉพาะฟังก์ชันนั้นๆ วิธีแก้คือใช้ anonymous functions C++11 นำเสนอ lambda expressions เพื่อสร้าง anonymous function ตัวอย่าง: ตัวอย่าง #include <iostream> #inc

  4. ฟังก์ชัน fabs() ใน C++

    ฟังก์ชันไลบรารี C/C++ double fabs(double x) คืนค่าค่าสัมบูรณ์ (absolute value) ของ x พารามิเตอร์ x คือค่าจุดทศนิยม ฟังก์ชันนี้คืนค่าค่าสัมบูรณ์ของ x การประกาศฟังก์ชัน fabs() ดังนี้: double fabs(double x) ตัวอย่างต่อไปนี้แสดงการใช้งาน fabs() ตัวอย่างโค้ด #include <iostream> #include <cmath&g

  5. โปรแกรม C++ ตรวจสอบว่า Binary Tree เป็น BST หรือไม่

    Binary Search Tree (BST) เป็นโครงสร้างข้อมูล binary tree ที่มี 3 คุณสมบัติ: Left subtree ของโหนดใน BST มีเฉพาะโหนดที่มี key น้อยกว่า key ของโหนดนั้น Right subtree ของโหนดใน BST มีเฉพาะโหนดที่มี key มากกว่า key ของโหนดนั้น Left และ right subtree ของทุก subtree ต้องเป็น BST ด้วย อัลกอริทึม เริ่มต้น

  6. Early Binding และ Late Binding ใน C++

    ในส่วนนี้เราจะดูว่า Early Binding และ Late Binding ใน C++ คืออะไร Binding (การผูก) หมายถึงกระบวนการแปลง identifier (ตัวระบุ) ให้เป็น address (ที่อยู่) สำหรับตัวแปรและฟังก์ชันทุกตัว จะมีการ binding ทุกครั้ง สำหรับฟังก์ชัน คือการจับคู่การเรียกใช้กับ definition (นิยาม) ของฟังก์ชันที่ถูกต้องโดย compiler

  7. โปรแกรม C++ ตรวจสอบว่า Tree ที่กำหนดเป็น Binary Search Tree หรือไม่

    Binary Search Tree (BST) เป็นโครงสร้างข้อมูล binary tree ที่มี 3 คุณสมบัติ: Left subtree ของโหนดใน BST มีเฉพาะโหนดที่มี key น้อยกว่า key ของโหนดนั้น Right subtree ของโหนดใน BST มีเฉพาะโหนดที่มี key มากกว่า key ของโหนดนั้น Left และ right subtree ของทุก subtree ต้องเป็น BST ด้วย อัลกอริทึม เริ่มต้น

  8. พิมพ์เวลาระบบ (System Time) ใน C++

    C++ Standard Library ไม่มี date type ที่เหมาะสม C++ สืบทอด structs และฟังก์ชันสำหรับจัดการวันที่และเวลาจาก C เพื่อเข้าถึงฟังก์ชันและโครงสร้างเกี่ยวกับวันที่และเวลา คุณต้อง include เฮดเดอร์ <ctime> ในโปรแกรม C++ มี 4 ประเภทที่เกี่ยวกับเวลา: clock_t, time_t, size_t, และ tm ประเภท clock_t, size_t

  9. โปรแกรม C++ ตรวจสอบว่า Binary Tree หนึ่งเป็น Subtree ของอีก Binary Tree

    Binary Tree เป็นโครงสร้างข้อมูลต้นไม้ที่แต่ละโหนดมีลูกสูงสุด 2 ตัว คือ left child และ right child อัลกอริทึม เริ่มต้น ฟังก์ชัน identical():r)) ฟังก์ชัน Subtree(node *T, node *S):r, S) สิ้นสุด ตัวอย่างโค้ด r = newN(40); if (Subtree(T1, S1)) cout << given tree is subtree of

  10. Multithreading ใน C++

    Multithreading (หลายเธรด) เป็นรูปแบบเฉพาะของ multitasking (หลายงาน) และ multitasking คือคุณสมบัติที่ทำให้คอมพิวเตอร์รันโปรแกรมได้ 2 ตัวขึ้นไปพร้อมกัน โดยทั่วไปมี 2 ประเภทของ multitasking: Process-based multitasking: จัดการการทำงานพร้อมกันของโปรแกรมต่างๆ Thread-based multitasking: จัดการการทำงานพร้อ

  11. โปรแกรม C++ สร้าง Expression Tree สำหรับ Postfix Expression

    Expression tree คือ binary tree ที่ใช้แสดงนิพจน์ (expression) ใน expression tree โหนดจะสอดคล้องกับ operator และแต่ละ leaf node จะสอดคล้องกับ operand นี่คือโปรแกรม C++ สำหรับสร้าง expression tree สำหรับ postfix expression และแสดงผลใน inorder, preorder และ postorder traversals อัลกอริทึม เริ่มต้น ฟั

  12. ฟังก์ชัน exp() ใน C++

    ฟังก์ชันไลบรารี C/C++ double exp(double x) คืนค่าของ e ยกกำลัง x ดังนี้คือการประกาศฟังก์ชัน exp() double exp(double x) พารามิเตอร์คือค่าจุดทศนิยม ฟังก์ชันนี้คืนค่า exponential value ของ x ตัวอย่างโค้ด #include <iostream> #include <cmath> using namespace std; int main() { double x =

  13. โปรแกรม C++ หา Deepest Left Leaf ใน Binary Tree

    Binary Tree เป็นต้นไม้ที่มีลูกสูงสุด 2 ตัว ระบุเป็น left child และ right child นี่คือโปรแกรม C++ สำหรับหา Deepest Left Leaf (ใบซ้ายลึกที่สุด) ใน Binary Tree อัลกอริทึม เริ่มต้น ฟังก์ชัน deepestLLeafutil() หา deepest left leaf ใน binary tree: lvel คือ level ของโหนดปัจจุบัน maxlvel คือ point

  14. ฟังก์ชัน log() ใน C++

    ฟังก์ชันไลบรารี C/C++ double log(double x) คืนค่า natural logarithm (ลอการิทึมฐาน e) ของ x ดังนี้คือการประกาศฟังก์ชัน log() double log(double x) พารามิเตอร์คือค่าจุดทศนิยม ฟังก์ชันนี้คืนค่า natural logarithm ของ x ตัวอย่างโค้ด #include <iostream> #include <cmath> using namespace std; in

  15. ฟังก์ชัน memset ใน C++

    ในส่วนนี้เราจะดูว่า memset() ใน C++ ทำหน้าที่อะไร ฟังก์ชันนี้แปลงค่าของ character ให้เป็น unsigned character และคัดลอกไปยังตัวอักษร n ตัวแรกของอ็อบเจ็กต์ที่ str[] ชี้ไป หาก n ใหญ่กว่าขนาดสตริง จะเป็น undefined behavior ไวยากรณ์ของ memset() void* memset(void* str, int c, size_t n); ในตัวอย่างนี้จะใช้

  16. โปรแกรม C++ หา Lowest Common Ancestor ใน Binary Search Tree

    Binary Tree เป็นต้นไม้ที่มีลูกสูงสุด 2 ตัว ระบุเป็น left child และ right child นี่คือโปรแกรม C++ สำหรับหา Lowest Common Ancestor (LCA) ใน Binary Tree อัลกอริทึม เริ่มต้น สร้างโครงสร้าง n ประกอบด้วยข้อมูล d, pointer ลูกซ้าย l และ pointer ลูกขวา r สร้างฟังก์ชันสร้างโหนดใหม่ newnode() เรียกฟังก์ช

  17. 2D Vector ใน C++ ด้วยขนาดที่ผู้ใช้กำหนด

    Vector ของ vector เรียกว่า 2D vector อัลกอริทึม เริ่มต้น ประกาศตัวแปร v เป็น 2D vector กำหนดค่าเริ่มต้นให้ vector v แสดง the 2D vector is: for (int i = 0; i < v.size(); i++) for (int j = 0; j < v[i].size(); j++) แสดงค่าของ 2D vector v[i][j] สิ้นสุด ตัวอย่างโค้ด #include <iostrea

  18. ฟังก์ชัน div() ใน C++

    ฟังก์ชันไลบรารี C/C++ div_t div(int numer, int denom) ทำการหาร numer (ตัวเศษ) ด้วย denom (ตัวส่วน) ดังนี้คือการประกาศฟังก์ชัน div() div_t div(int numer, int denom) พารามิเตอร์คือตัวเศษและตัวส่วน ฟังก์ชันนี้คืนค่าในโครงสร้างที่กำหนดใน <cstdlib> ซึ่งมีสมาชิก 2 ตัวสำหรับ div_t: int quot; int rem;

  19. โปรแกรม C++ หาขนาด Largest Independent Set (LIS) ใน Binary Tree

    นี่คือโปรแกรม C++ สำหรับหาขนาดของ Largest Independent Set (LIS) ใน Binary Tree ที่กำหนดให้ อัลกอริทึม r) คืนค่าสูงสุดของสองขนาด สร้างฟังก์ชันสร้างโหนดใหม่ newnode() สิ้นสุด ตัวอย่างโค้ด r = newnode(26); cout << Size of the Largest Independent Set is << LIS(root); return 0;

  20. พิมพ์ "Hello World" ด้วย main ว่างเปล่าใน C++

    ในโจทย์นี้ เราจะเห็นวิธีพิมพ์ Hello World ออกมาที่คอนโซล แต่เรา **ไม่สามารถเขียนโค้ดอะไรในฟังก์ชัน main ได้เลย** ปัญหานี้แก้ได้ 2 วิธี: วิธีที่ 1: ใช้ตัวแปร Global รับค่าคืนจาก printf() สร้างตัวแปร global แล้วเก็บค่าที่คืนมาจาก printf() ไว้ เมื่อ printf() ทำงาน จะพิมพ์ข้อความออกมา ตัวอย่างโค้ด #inc

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:39/301  20-คอมพิวเตอร์/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45