C++ 온라인 컴파일러 - 즉시 실행, 테스트 및 디버그
브라우저에서 C++ 코드를 즉시 작성, 컴파일, 실행하세요. 무료 온라인 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 << "One\n";
} else if (x == 2) {
std::cout << "Two\n";
} else {
std::cout << "Other\n";
}
// Switch-case
switch (x) {
case 1:
std::cout << "One\n";
break;
case 2:
std::cout << "Two\n";
break;
default:
std::cout << "Other\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 << "Enter your name: ";
std::cin >> name;
std::cout << "Hello, " << name << "\n";
Placeholder
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("Error occurred");
} catch (const std::exception& e) {
std::cout << e.what();
}
10. 파일 입출력
fstream
을 사용하여 파일을 읽고 씁니다.
#include <fstream>
std::ofstream out("file.txt");
out << "Hello File";
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 << "Hi, I'm " << name; }
};
Person p("Alice");
p.greet();
13. 포인터
포인터는 다른 변수의 메모리 주소를 저장합니다. &
를 사용하여 주소를 얻고,
*
를 사용하여 역참조(주소의 값을 접근)합니다.
int x = 10;
int* ptr = &x;
std::cout << "Value of x: " << x << "\n";
std::cout << "Address of x: " << ptr << "\n";
std::cout << "Value from pointer: " << *ptr << "\n";
// 포인터를 통해 x 수정
*ptr = 20;
std::cout << "Updated x: " << x << "\n";