C++ 온라인 컴파일러

브라우저에서 CLI처럼 C++ 코드를 컴파일해 테스트하세요. 설정 없이 배우고 디버깅에 최적화된 온라인 환경입니다.

🚀 1,636,439 총 실행 (71,922 이번 달)

Udemy Logo 👨‍💻 실무에 강해지는 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. 예외 처리

trycatch로 런타임 오류를 처리하세요.

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";