C++ คอมไพเลอร์ออนไลน์
รันและทดสอบ code C++ Online ในเบราว์เซอร์ เหมือนใช้ CLI ไม่มีติดตั้ง เหมาะสำหรับการเรียนรู้และดีบักโค้ด
📈 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";