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

    Function Overriding (การทับฟังก์ชัน) เป็นฟีเจอร์ที่พบบ่อยที่สุดใน C++ โดยพื้นฐาน Function Overriding หมายถึงการนิยามฟังก์ชันซ้ำซึ่งมีอยู่ใน Base Class ไปอีกครั้งใน Derived Class ดังนั้น Function Signature จะเหมือนกัน แต่ Behavior (พฤติกรรม) จะต่างกัน แต่อาจมีสถานการณ์ที่โปรแกรมเมอร์ทำผิดพลาดขณะ Ove

  2. Factorial ของตัวเลขขนาดใหญ่ด้วย Boost Multiprecision Library

    เพื่อหา Factorial ของตัวเลขขนาดใหญ่ เราสามารถใช้ Boost Library ไลบรารีนี้ให้ Precision สูง ด้วย Boost Multiprecision Library เราสามารถได้ Precision มากกว่า 64 บิต ตัวอย่าง #include <bits/stdc++.h> #include <boost/multiprecision/cpp_int.hpp> using boost::multiprecision::cpp_int; using na

  3. ความแตกต่างระหว่าง set, multiset, unordered_set, unordered_multiset ใน C++

    ที่นี่เราจะดูความแตกต่างของ set, multiset, unordered_set และ unordered_multiset ใน C++ มาดูคุณสมบัติของแต่ละตัวด้วยตัวอย่าง Set คุณสมบัติของ set มีดังนี้ เก็บข้อมูลเรียงลำดับ (Sorted Order) เก็บค่าที่ไม่ซ้ำกัน (Unique Values) เท่านั้น สามารถแทรก (Insert) หรือลบ (Delete) ข้อมูลได้ แต่ไม่สามารถเปลี่

  4. เกิดอะไรขึ้นเมื่อเกินช่วงค่าที่ถูกต้องของ Built-in Data Types ใน C++

    ที่นี่เราจะดูผลลัพธ์ที่จะเกิดขึ้น หากเราเกินช่วงค่าที่ถูกต้อง (Valid Range) ของ Built-in Data Types ใน C++ มาดูตัวอย่างกัน ตัวแรกคือชนิดข้อมูล Character (char) ที่นี่เราใช้ลูปจาก 0 ถึง 300 ดังนั้นควรพิมพ์จาก 0 ถึง 300 แล้วหยุด แต่จะเกิด Infinite Loop (ลูปไม่รู้จบ) ชนิดข้อมูล char เก็บค่าได้จาก -128

  5. Rule of Three (กฎของสาม) ใน C++

    Rule of Three (กฎของสาม) เป็นกฎทั่วไป (Rule of Thumb) เมื่อใช้ C++ กฎนี้เป็นแนวทางปฏิบัติที่ดี (Good Practice) ระบุว่า ถ้าคลาสของคุณต้องการใดๆ ระหว่างนี้ Copy Constructor Assignment Operator หรือ Destructor ที่ถูกกำหนดอย่างชัดเจน (Explicitly) แล้ว มันน่าจะต้องการทั้งสามอย่าง ทำไม? เพราะถ้าคลาสของ

  6. Constructor ใน C++ ถูกเรียกเมื่อใด

    ที่นี่เราจะดูว่า Constructor ถูกเรียกเมื่อไหร่ มี Constructor หลายประเภท Global, Local, Static Local, Dynamic สำหรับ Global Object Constructor จะถูกเรียกก่อนเข้าสู่ฟังก์ชัน main ตัวอย่าง #include <iostream> using namespace std; class MyClass {    public:       MyClass

  7. ขนาดของ int, long ตามมาตรฐาน C++ คือเท่าไหร่

    ที่นี่เราจะดูขนาดของข้อมูลชนิด int และ long ใน C++ ขนาดขึ้นอยู่กับสถาปัตยกรรมระบบ (System Architecture) และระบบปฏิบัติการ (Operating System) ดังนั้นในระบบ 32-bit มาตรฐานคือ ILP32 ในมาตรฐานนี้ int, long และตัวแปร Pointer มีขนาด 32 บิต สำหรับระบบ 64-bit มี 2 แบบ สำหรับ Linux OS มาตรฐานคือ LP64 long แ

  8. วิธี Execute คำสั่งและรับ Output ของคำสั่งภายใน C++ ด้วย POSIX

    ที่นี่เราจะดูวิธีใช้คำสั่ง POSIX ผ่าน C++ กระบวนการง่ายมาก เราต้องใช้ฟังก์ชันชื่อ system() ภายในนี้เราต้องส่ง String ที่มีคำสั่ง POSIX Syntax เป็นดังนี้ system(“command”) ตัวอย่าง #include <iostream> using namespace std; int main () {    cout << "Print string

  9. วิธีสร้าง Stack Trace อัตโนมัติเมื่อโปรแกรม GCC C++ Crash

    สำหรับ Linux เราสามารถใช้ GCC คอมไพล์โค้ด C/C++ คอมไพเลอร์นี้ใช้ glibc Library เราสามารถใช้ฟังก์ชัน backtrace() เพื่อ Trace Error ฟังก์ชันนี้อยู่ใน Header File execinfo.h ในตัวอย่างนี้ เราจะแสดง Segmentation Fault Error โดยใช้ฟีเจอร์ Stack Trace ตัวอย่าง #include <iostream> #include <execi

  10. วิธีสร้าง Random Float ใน C++

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

  11. ความแตกต่างระหว่าง static_cast<> และ C-style Casting ใน C++

    ที่นี่เราจะดูความแตกต่างระหว่าง static_cast<> และการแปลงแบบ C-style (Normal C cast) การแปลงแบบ C เช่น (int)x คือ C-style Typecasting ส่วน static_cast<int>(x) ใช้ใน C++ static_cast<> ให้การตรวจสอบในขณะคอมไพล์ (Compile-time Checking) แต่ C-style casting ไม่รองรับ static_cast<> สามารถค้นพบได้ทุก

  12. วิธีทำให้โปรแกรม Sleep (หยุดทำงาน) เป็นเวลา x มิลลิวินาทีใน C++

    ที่นี่เราจะดูวิธีทำให้โปรแกรมหยุดทำงาน (Sleep) เป็นเวลา x (ผู้ใช้กำหนด) มิลลิวินาทีในโปรแกรม C++ เพื่อทำเช่นนี้เราสามารถใช้ไลบรารีต่างๆ ได้ แต่ที่นี่เราใช้ฟังก์ชัน clock() ฟังก์ชัน clock() จะคืนค่า CPU Time ปัจจุบัน ที่นี่เราจะพยายามหา Ending Time จาก clock และค่า x ที่กำหนด แล้วในช่วงเวลานั้น เราจ

  13. วิธีพิมพ์ Unicode Character ใน C++

    การพิมพ์ตัวอักษร Unicode กระบวนการคล้ายกับการพิมพ์ปกติใน C++ มาก เราสามารถใส่ค่า Unicode พร้อม Prefix \u ได้ ดังนั้นเราจึงสามารถพิมพ์ตัวอักษร Unicode ได้สำเร็จ หมายเหตุ: ถ้า Console ไม่รองรับ Unicode จะไม่ได้ผลลัพธ์ที่ถูกต้อง ที่นี่เราใช้ระบบ Linux เพื่อแก้ปัญหานี้ ตัวอย่าง #include <iostream>

  14. วิธีดูการใช้หน่วยความจำ (Memory Usage) ระหว่าง Runtime ด้วย C++

    เราสามารถดูการใช้หน่วยความจำ เช่น Virtual Memory Usage หรือ Resident Set Size ได้ใน Runtime เพื่อรับข้อมูลเหล่านี้ เราสามารถใช้ไลบรารีระบบ (System Libraries) กระบวนการนี้ขึ้นอยู่กับระบบปฏิบัติการ สำหรับตัวอย่างนี้ เราใช้ระบบปฏิบัติการ Linux ดังนั้นที่นี่เราจะดูวิธีดูสถิติการใช้หน่วยความจำภายใต้สภาพ

  15. การจัดการตัวเลขขนาดใหญ่ใน C++

    ใน C++ เราสามารถใช้ตัวเลขขนาดใหญ่ได้โดยใช้ Boost Library ไลบรารี Boost ของ C++ เป็นไลบรารีที่ใช้กันอย่างแพร่หลาย ใช้สำหรับโดเมนแอปพลิเคชันที่กว้างขวาง ตัวอย่างเช่น ด้วย Boost เราสามารถใช้ตัวเลขขนาดใหญ่เช่น 264 ใน C++ ได้ ที่นี่เราจะดูตัวอย่างบางอย่างของ Boost Library เราสามารถใช้ Big Integer Dataty

  16. วิธีดึงเวลาในหน่วยมิลลิวินาที (Milliseconds) ด้วย C++ บน Linux

    ที่นี่เราจะดูวิธีดึงเวลา (Elapsed Time ของโปรแกรมหรือเวลาอื่นๆ) ที่นี่เราใช้ไลบรารี Linux สำหรับ C++ มีโครงสร้างชื่อ timeval โครงสร้างนี้เก็บเวลาในหน่วยวินาทีและมิลลิวินาที เราสามารถสร้าง timeval สองตัวสำหรับเริ่มต้นและสิ้นสุด แล้วหาความต่างจากพวกมัน ตัวอย่าง #include <sys/time.h> #include &l

  17. ความแตกต่างระหว่างการสร้าง Object C++ ด้วย new และไม่ใช้ new

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

  18. วิธีพิมพ์ข้อความสี (Colored Text) ในเทอร์มินัล Linux

    ที่นี่เราจะดูวิธีพิมพ์ข้อความบางบรรทัดในเทอร์มินัล Linux พร้อมสี เราไม่ได้ทำอะไรพิเศษในโค้ด C++ เราเพียงแค่ใช้คำสั่งเทอร์มินัล Linux บางอย่าง คำสั่งสำหรับเอาต์พุทแบบนี้เป็นดังนี้ \033[1;31m Sample Text \033[0m มีรหัสสำหรับสไตล์และสีข้อความ รายการดังนี้ สี (Color)รหัส Foregroundรหัส Background B

  19. วิธีตรวจสอบเวอร์ชันมาตรฐาน C++ ที่คอมไพเลอร์ใช้

    บางครั้งเราต้องการทราบว่ามาตรฐาน C++ ปัจจุบันเป็นอะไร เพื่อรับข้อมูลประเภทนี้ เราสามารถใช้ Macro ที่ชื่อว่า __cplusplus สำหรับมาตรฐานต่างๆ ค่าของ Macro นี้จะเป็นดังนี้ มาตรฐาน (Standard)ค่า __cplusplus C++ ก่อน C++981 C++98199711L C++98 + TR1ไม่สามารถตรวจสอบได้ จะถูกทำเครื่องหมายเป็น C++98 C++1

  20. วิธีเคลียร์ Console ด้วย C++

    เราสามารถเคลียร์ Console (หน้าจอคอนโซล) ด้วยโค้ด C++ ได้ เพื่อทำเช่นนี้เราต้อง Execute คำสั่งระบบ (System Commands) บนระบบ Linux ใช้ POSIX เราสามารถเรียกฟังก์ชัน system() เพื่อ Execute คำสั่งระบบ สำหรับการเคลียร์คอนโซลใน Linux เราสามารถใช้คำสั่ง clear ได้ คำสั่งนี้จะถูกส่งผ่านฟังก์ชัน system() มาดู

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:56/301  20-คอมพิวเตอร์/Page Goto:1 50 51 52 53 54 55 56 57 58 59 60 61 62