C++ คอมไพเลอร์ออนไลน์

รันและทดสอบ code C++ Online ในเบราว์เซอร์ เหมือนใช้ CLI ไม่มีติดตั้ง เหมาะสำหรับการเรียนรู้และดีบักโค้ด

🚀 1,636,449 การดำเนินการทั้งหมด (71,932 ในเดือนนี้)

Udemy Logo 📈 C++ กำลังมาแรง - เรียนวันนี้เลย

Loading...

💻 เกี่ยวกับตัวรัน C++ ออนไลน์นี้

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

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

ไม่ว่าคุณจะเตรียมตัวสัมภาษณ์ เรียนรู้ฟีเจอร์ C++ สมัยใหม่ หรือยืนยันตรรกะของอัลกอริทึม ตัวรัน C++ ของ CodeUtility มอบสภาพแวดล้อมที่เรียบง่ายแต่ทรงพลัง ให้คุณรันโค้ดได้ทันทีจากทุกอุปกรณ์

⚙️ วิธีใช้เครื่องมือนี้

  • 1. เลือกเวอร์ชัน C++ (C++11, C++14, C++17 หรือ เวอร์ชันล่าสุด) จากเมนูดรอปดาวน์ด้านบนของตัวแก้ไข
  • 2. พิมพ์หรือวางโค้ด C++ ของคุณในพื้นที่แก้ไข
  • 3. คลิก รัน เพื่อรันโค้ดและดูผลลัพธ์ในคอนโซลด้านล่าง
  • 4. ระหว่างกำลังรัน จะมีปุ่ม หยุด ปรากฏ - คลิกเพื่อหยุดการทำงานก่อนเวลา
  • 5. ใช้ แก้โค้ด เพื่อแก้ปัญหาเรื่องรูปแบบหรือไวยากรณ์เล็กๆ น้อยๆ อัตโนมัติ
  • 6. หลังการแก้ไข จะมีปุ่ม รายการแก้ไข ปรากฏ - คลิกเพื่อดูการแก้ไขล่าสุด
  • 7. ใช้ปุ่ม อัปโหลด เพื่อนำเข้าโค้ดจากไฟล์ในเครื่อง หรือปุ่ม ดาวน์โหลด เพื่อบันทึกโค้ดปัจจุบันจากตัวแก้ไข
  • 8. แต่ละการรันจะทำงานได้สูงสุด 20 วินาที ก่อนถูกยุติโดยอัตโนมัติ

🧠 เคล็ดลับ: สภาพแวดล้อมนี้รันโค้ด C++ จริงอย่างปลอดภัยในเบราว์เซอร์ของคุณ - ไม่ต้องเข้าสู่ระบบหรือเซ็ตอัพใดๆ

💡 พื้นฐาน C++ และตัวอย่างที่ลองได้ด้านบน

1. ประกาศตัวแปรและค่าคงที่

C++ ต้องประกาศชนิดข้อมูลของตัวแปรทุกตัว ใช้ const เพื่อกำหนดค่าที่อ่านอย่างเดียว ซึ่งไม่สามารถเปลี่ยนได้หลังจากกำหนดค่าเริ่มต้นแล้ว

int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;

// ค่าคงที่
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";

// การพยายามแก้ไขตัวแปร const จะทำให้เกิดข้อผิดพลาดขณะคอมไพล์
// MAX_USERS = 200; // ❌ ข้อผิดพลาด

2. เงื่อนไข (if / switch)

ใช้ if, else if, else เพื่อแตกแขนงเงื่อนไข ใช้ switch เมื่อมีหลายค่า

int x = 2;
if (x == 1) {
    std::cout << "หนึ่ง\n";
} else if (x == 2) {
    std::cout << "สอง\n";
} else {
    std::cout << "อื่นๆ\n";
}

// สวิตช์-เคส
switch (x) {
    case 1:
        std::cout << "หนึ่ง\n";
        break;
    case 2:
        std::cout << "สอง\n";
        break;
    default:
        std::cout << "อื่นๆ\n";
}

3. ลูป

ใช้ for, while และ do-while เพื่อทำซ้ำบล็อกโค้ด

for (int i = 0; i < 3; i++) {
    std::cout << i << "\n";
}

int n = 3;
while (n > 0) {
    std::cout << n << "\n";
    n--;
}

4. อาร์เรย์

อาร์เรย์เก็บหลายองค์ประกอบที่มีชนิดเดียวกัน

int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";

5. การจัดการอาร์เรย์/เวกเตอร์

ใช้ std::vector สำหรับอาร์เรย์แบบขยายขนาดได้

#include <vector>

std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();

for (int n : nums) {
    std::cout << n << " ";
}

6. การรับ/ส่งข้อมูลผ่านคอนโซล

ใช้ std::cin สำหรับรับข้อมูล และใช้ std::cout สำหรับแสดงผล

std::string name;
std::cout << "ป้อนชื่อของคุณ: ";
std::cin >> name;
std::cout << "สวัสดี, " << name << "\n";

7. ฟังก์ชัน

ฟังก์ชันช่วยจัดกลุ่มลอจิกที่นำกลับมาใช้ซ้ำได้ ระบุพารามิเตอร์และชนิดค่าที่ส่งกลับ

int add(int a, int b) {
    return a + b;
}

std::cout << add(3, 4);

8. Map

std::map เก็บคู่คีย์-ค่า คล้ายพจนานุกรม

#include <map>

std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];

9. การจัดการข้อยกเว้น

ใช้ try และ catch เพื่อจัดการข้อผิดพลาดขณะรัน

try {
    throw std::runtime_error("เกิดข้อผิดพลาด");
} catch (const std::exception& e) {
    std::cout << e.what();
}

10. การทำงานกับไฟล์ (File I/O)

ใช้ fstream เพื่ออ่านและเขียนไฟล์

#include <fstream>

std::ofstream out("file.txt");
out << "สวัสดีไฟล์";
out.close();

std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();

11. การจัดการสตริง

สตริงใน C++ รองรับเมธอดอย่าง length(), substr() และ find()

std::string text = "สวัสดีชาวโลก";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("ชาวโลก");

12. คลาสและอ็อบเจ็กต์

C++ รองรับการเขียนโปรแกรมเชิงวัตถุด้วยคลาส

class Person {
  public:
    std::string name;
    Person(std::string n) : name(n) {}
    void greet() { std::cout << "สวัสดี ฉันชื่อ " << name; }
};

Person p("Alice");
p.greet();

13. พอยน์เตอร์

พอยน์เตอร์เก็บที่อยู่หน่วยความจำของตัวแปรอีกตัว ใช้ & เพื่อรับที่อยู่ และใช้ * เพื่อ dereference (เข้าถึงค่าที่ตำแหน่งนั้น)

int x = 10;
int* ptr = &x;

std::cout << "ค่าของ x: " << x << "\n";
std::cout << "ที่อยู่ของ x: " << ptr << "\n";
std::cout << "ค่าจากพอยน์เตอร์: " << *ptr << "\n";

// แก้ไข x ผ่านพอยน์เตอร์
*ptr = 20;
std::cout << "อัปเดต x: " << x << "\n";