Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. ฟังก์ชัน isnormal() ใน C++

    ในส่วนนี้เราจะดูฟังก์ชัน isnormal() ใน C++ ฟังก์ชันนี้อยู่ในไลบรารี cmath ใช้ตรวจสอบว่าเลขเป็น ปกติ (normal) หรือไม่ เลขที่ไม่ปกติคือ 0, infinity, หรือ NaN ฟังก์ชันรับ float, double, หรือ long double คืนค่า 1 ถ้าเป็นเลขปกติ มิฉะนั้นคืน 0 ตัวอย่างโค้ด #include <iostream> #include <cmath>

  2. เมื่อไหร่ควรเขียน Assignment Operator เองใน C++

    ที่นี่เราจะดูเมื่อไหร่ต้องสร้าง assignment operator เองใน C++ หากคลาสไม่มี pointer ใดๆ เราไม่ต้องสร้าง assignment operator และ copy constructor คอมไพเลอร์ C++ จะสร้าง copy constructor และ assignment operator ให้อัตโนมัติสำหรับทุกคลาส หาก operator เหล่านั้นไม่เพียงพอ เราจึงต้องสร้างเอง ตัวอย่างปัญหา

  3. Shuffle เทียบ random_shuffle ใน C++

    ที่นี่เราจะดู shuffle และ random_shuffle ใน C++ มาดู random_shuffle ก่อน ใช้จัดเรียงสมาชิกในช่วง [left, right) แบบสุ่ม ฟังก์ชันนี้สลับตำแหน่งแต่ละสมาชิกกับตำแหน่งที่สุ่มมา เราสามารถส่งฟังก์ชันสุ่มตัวเลขเข้าไปได้ ถ้าไม่ส่ง จะใช้ฟังก์ชันสุ่มของมันเอง ตัวอย่าง random_shuffle #include <bits/stdc++.h&

  4. Bind Function และ Placeholders ใน C++

    ที่นี่เราจะดู Bind function และ placeholders ใน C++ บางครั้งเราต้องการจัดการการทำงานของฟังก์ชันบางอย่างตามต้องการ เราสามารถใช้ default parameters ได้บ้าง แต่ใน C++11 มีฟีเจอร์ใหม่ชื่อ bind function ช่วยให้ทำได้ง่ายขึ้น ต้อง include <functional> Bind functions ร่วมกับ placeholders ช่วยกำหนดตำแห

  5. โปรแกรม C++ ค้นหาแบบอาศัย Locality of Reference

    การค้นหาแบบอาศัย Locality of Reference ขึ้นอยู่กับรูปแบบการเข้าถึงหน่วยความจำ ข้อมูลจะถูกจัดสรรใหม่ ใช้วิธี Linear Search ในการค้นหาสมาชิก อัลกอริทึม 0 intarray[j] = intarray[j-1] intarray[0] = item คืนค่า 0 สิ้นสุด ตัวอย่างโค้ด #include <iostream> using namespace std; // ฟังก์ชันค

  6. โปรแกรม C++ สร้างกราฟ Undirected แบบสุ่มสำหรับจำนวน Edge ที่กำหนด

    โปรแกรม C++ สร้างกราฟ undirected แบบสุ่มสำหรับจำนวน edge e ที่กำหนด อัลกอริทึมนี้ใช้กับเครือข่ายขนาดใหญ่ และมี time complexity O(log n) อัลกอริทึม เริ่มต้น ฟังก์ชัน GenerateRandomGraphs() รับ e เป็นจำนวน edge กำหนด i = 0 while (i < e) edge[i][0] = rand() % N + 1 edge[i][1] = rand() % N

  7. โปรแกรม C++ ใช้งาน lexicographical_compare ใน STL

    ฟังก์ชัน std::lexicographical_compare() ใน C++ ทดสอบว่าช่วงหนึ่งน้อยกว่าอีกช่วงหนึ่งตามลำดับเลขโซกไหม การเปรียบเทียบแบบเลขโซก (lexicographical) คือการเปรียบเทียบที่ใช้จัดเรียงคำในพจนานุกรม การประกาศ template <class InputIterator1, class InputIterator2> bool lexicographical_compare(InputIterato

  8. ความแตกต่างระหว่างไฟล์ Text Mode และ Binary Mode ใน C++

    Text Mode Binary Mode ใน text mode มีการแปลงตัวอักษรต่างๆ เช่น \r\n ถูกแปลงเป็น \n ใน binary mode ไม่มีการแปลงดังกล่าว เขียนไฟล์: ofstream ofs(file.txt); หรือ ofstream ofs; ofs.open(file.txt); เขียนไฟล์: ofstream ofs(file.txt, io

  9. อ่านไฟล์เข้า istringstream ใน C++

    โปรแกรม C++ อ่านเนื้อหาไฟล์เข้า istringstream ตัวอย่างโค้ด #include <fstream> #include <sstream> #include <iostream> using namespace std; int main() { ifstream is(a.txt, ios::binary); // หาความยาวไฟล์ is.seekg(0, ios::end); long length = is.tellg(); is.seekg(0,

  10. อ่านเนื้อหาไฟล์เข้า istringstream ใน C++

    โปรแกรม C++ อ่านเนื้อหาไฟล์เข้า istringstream ตัวอย่างโค้ด #include <fstream> #include <sstream> #include <iostream> using namespace std; int main() { ifstream is(a.txt, ios::binary); // หาความยาวไฟล์ is.seekg(0, ios::end); long length = is.tellg(); is.seekg(0,

  11. อ่านจำนวนเต็มจากไฟล์ข้อความด้วย C++ ifstream

    ตัวอย่างการอ่านจำนวนเต็มจากไฟล์ข้อความด้วย C++ ifstream ตัวอย่างโค้ด #include <fstream> #include <iostream> using namespace std; int main() { // กำหนดขนาดอาร์เรย์ int arr[30]; ifstream is(a.txt); int cnt = 0; int x; // ตรวจสอบว่าอาร์เรย์ยังไม่เต็ม และอ่านจำนวนเต็

  12. การลบสมาชิกจาก C++ std::vector โดยดัชนี (index)

    การลบสมาชิกจาก std::vector โดยดัชนี ทำได้ดังนี้: ตัวอย่างโค้ด #include <iostream> #include <vector> using namespace std; int main() { vector<int> v; // ประกาศ vector // เพิ่มสมาชิก v.push_back(-10); v.push_back(7); v.push_back(6); // ลบสมาชิกแรก (v[0])

  13. ประโยชน์ของการส่งผ่าน Pointer เทียบกับ Reference ใน C++

    Pointer สามารถรับพารามิเตอร์ null ได้ ในขณะที่ reference ไม่สามารถ คุณสามารถใช้ pointer ได้ก็ต่อเมื่อต้องการส่ง ไม่มีออบเจ็กต์ การส่งผ่าน pointer แบบชัดเจน (explicitly) ช่วยให้เห็นว่าออบเจ็กต์ถูกส่งโดย reference หรือ value ที่จุดเรียก (call site) ตัวอย่างง่ายๆ ของการส่งโดย pointer และ reference: Pas

  14. Function Pointer ไปยัง Member Function ใน C++

    ใน C++ function pointers เมื่อจัดการกับ member functions ของคลาสหรือ struct จะถูกเรียกใช้ผ่าน object pointer หรือ this call เราสามารถเรียกสมาชิกของคลาสนั้น (หรือคลาสลูก) เท่านั้นโดยใช้ pointer ของประเภทนั้น เพราะเป็น type-safe ตัวอย่างโค้ด *fp2)(m, n); } int main() { AB ob; cout << Subtract

  15. Pointers, Smart Pointers และ Shared Pointers ใน C++

    Pointers Pointers ใช้เก็บที่อยู่ของตัวแปร ไวยากรณ์ Type *pointer; การเริ่มต้น Type *pointer; Pointer = variable_name; หน้าที่ เก็บที่อยู่ของตัวแปร สามารถกำหนดค่า null ได้ สามารถอ้างอิงได้โดย pass by reference มีที่อยู่หน่วยความจำและขนาดของตัวเองบน Stack ตัวอย่าง #include <iostream> u

  16. RAII และ Smart Pointers ใน C++

    RAII ใน C++ RAII (Resource Acquisition Is Initialization) เป็นเทคนิค C++ ที่ควบคุมวงจรชีวิตของทรัพยากร (resource) เป็นรูปแบบของคลาสและผูกมัดกับอายุของออบเจ็กต์ มันห่อหุ้มทรัพยากรหลายอย่างไว้ในคลาส โดยการจัดสรรทรัพยากรทำโดย constructor ระหว่างสร้างออบเจ็กต์ และการปล่อยทรัพยากรทำโดย destructor ระหว่าง

  17. Scope Resolution Operator เทียบ this Pointer ใน C++

    Scope Resolution Operator ใช้เข้าถึงสมาชิก static หรือของคลาส ในขณะที่ this pointer ใช้เข้าถึงสมาชิกของออบเจ็กต์เมื่อมีตัวแปรท้องถิ่นชื่อเดียวกัน Scope Resolution Operator ตัวอย่างโค้ด #include <iostream> using namespace std; class AB { static int x; public: // พารามิเตอร์ท้องถิ่น x ซ

  18. ความแตกต่างระหว่าง Pointer และ Reference Parameter ใน C++

    Pointers (ตัวชี้) ตัวแปร pointer ใช้เก็บที่อยู่ของตัวแปร ไวยากรณ์ Type *pointer; การเริ่มต้น Type *pointer; Pointer = variable_name; References (อ้างอิง) เมื่อพารามิเตอร์ประกาศเป็น reference มันจะกลายเป็นชื่อเรียกอื่นของตัวแปรที่มีอยู่แล้ว ไวยากรณ์ Type &newname = existing_name; การเริ่มต้น Type &po

  19. ทำไมต้องส่ง Pointer โดย Reference ใน C++

    หากเราต้องการแก้ไขตัวชี้ (pointer) เอง ไม่ใช่วัตถุที่ตัวชี้ชี้อยู่ เราต้องส่ง pointer โดย reference ตัวอย่างการส่ง pointer โดย reference: ตัวอย่างโค้ด #include <iostream> using namespace std; void Decrement(int*& d) { --d; } int main(void) { int a = 26; int* ptr = &a; // pointer

  20. การใช้งาน Stack และ Heap อย่างถูกต้องใน C++

    Stack - ตัวแปรที่ประกาศภายในฟังก์ชันจะใช้หน่วยความจำจาก Stack ดังนั้น ตัวแปรท้องถิ่น (local variable) ภายในฟังก์ชันจะอยู่บน Stack Heap - หน่วยความจำที่ยังไม่ได้ใช้ของโปรแกรม และสามารถใช้จัดสรรหน่วยความจำแบบไดนามิกขณะรันโปรแกรม ดังนั้น หากเราต้องการให้สิ่งใดมีอายุยาวกว่าฟังก์ชันที่ประกาศมัน เราต้องจั

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:64/301  20-คอมพิวเตอร์/Page Goto:1 58 59 60 61 62 63 64 65 66 67 68 69 70