레슨 8 / 8·15분
C/C++ 레퍼런스
C 표준 라이브러리 함수
- •
— printf, scanf, fopen, fclose, fread, fwrite - •
— malloc, free, calloc, realloc, atoi, atof, rand, srand, exit - •
— strlen, strcpy, strncpy, strcmp, strcat, memcpy, memset - •
— sin, cos, tan, sqrt, pow, abs, ceil, floor, log - •
— isalpha, isdigit, isspace, toupper, tolower - •
— time, clock, difftime, strftime - •
— assert 매크로 (디버깅용)
C++ 표준 라이브러리 헤더
- •
— cin, cout, cerr (입출력 스트림) - •
— string 클래스 (문자열 처리) - •
— 동적 배열 컨테이너 - •
/— 연관 컨테이너 (키-값) - •
/— 집합 컨테이너 - •
— sort, find, count, transform, accumulate 등 - •
— unique_ptr, shared_ptr, weak_ptr - •
— optional(C++17) - •
— function, bind, 함수 객체 - •
— 파일 입출력 (ifstream, ofstream)
포인터와 메모리 관리 요약
cpp
// ── C 스타일 메모리 관리 ──
int* arr = (int*)malloc(10 * sizeof(int)); // 할당
free(arr); // 해제
// ── C++ new/delete ──
int* p = new int(42); // 단일 객체
int* a = new int[10]; // 배열
delete p; // 단일 해제
delete[] a; // 배열 해제
// ── 스마트 포인터 (권장) ──
auto up = make_unique<int>(42); // unique_ptr
auto sp = make_shared<int>(42); // shared_ptr
weak_ptr<int> wp = sp; // weak_ptr
// 스코프 벗어나면 자동 해제!컴파일러 옵션과 빌드
c
// 컴파일 (터미널 명령어)
// C 컴파일
// gcc -o program main.c -Wall -Wextra
// C++ 컴파일 (C++17)
// g++ -o program main.cpp -std=c++17 -Wall -Wextra
// 디버그 빌드
// g++ -o program main.cpp -std=c++17 -g -O0
// 릴리스 빌드
// g++ -o program main.cpp -std=c++17 -O2
// 여러 파일 컴파일
// g++ -o game main.cpp player.cpp monster.cpp -std=c++17자주 사용되는 연산자와 키워드
- •
&— 주소 연산자 / 참조,*— 역참조 / 포인터 선언 - •
->— 포인터로 멤버 접근,::— 스코프 결정 연산자 - •
const— 상수,constexpr— 컴파일 타임 상수 - •
virtual— 가상 함수,override— 오버라이드 명시 - •
nullptr— null 포인터 (C++11, NULL 대신 사용) - •
auto— 타입 추론,decltype— 표현식의 타입 추출 - •
static_cast,dynamic_cast,reinterpret_cast— 타입 변환 - •
noexcept— 예외를 던지지 않음을 명시
💡
공식 레퍼런스 사이트: cppreference.com은 C/C++ 표준 라이브러리의 가장 정확한 레퍼런스입니다. cplusplus.com은 예제가 풍부하여 초보자에게 적합합니다.