C++ 온라인 컴파일러
브라우저에서 CLI처럼 C++ 코드를 컴파일해 테스트하세요. 설정 없이 배우고 디버깅에 최적화된 온라인 환경입니다.
👨💻 실무에 강해지는 C++ 추천 강의
Loading...
💻 이 C++ 온라인 실행기 소개
CodeUtility C++ Executor는 브라우저에서 바로 C++ 코드를 작성하고 실행할 수 있게 해줍니다 — 설치나 컴파일러 설정이 전혀 필요 없습니다. 안전한 샌드박스에서 동작하며, C++11, C++14, C++17부터 최신 버전까지 실제 C++ 표준을 지원합니다.
이 도구는 클라우드에서 실제 C++ 컴파일러로 코드를 컴파일하고 실행하므로, 버전 간에 정확하고 일관된 동작을 보장합니다. 변수, 함수, 반복문, 조건문, 객체지향 프로그래밍 같은 핵심 C++ 개념을 자유롭게 실험해 보세요.
인터뷰 대비, 최신 C++ 기능 학습, 알고리즘 로직 검증 등 어떤 목적이든, CodeUtility C++ Executor는 어떤 기기에서든 즉시 코드를 실행할 수 있는 간단하면서도 강력한 환경을 제공합니다.
⚙️ 이 도구 사용 방법
- 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-case
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. 맵
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. 파일 입출력
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 = "Hello World";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("World");
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. 포인터
포인터는 다른 변수의 메모리 주소를 저장합니다. 주소를 얻으려면 &를,
역참조(그 주소의 값을 접근)하려면 *를 사용합니다.
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";