본문 바로가기
[공부]/C++

[C++] 기본 정리 1 - 기본 형태, namespace, 주석, iostream

by 개발꿈냥무 2024. 2. 15.

C++ 코드의 기본 형태

#include 문
#define 문

int main()
{
    명령문;
    return 문;
}
  • 모든 C++ 프로그램은 반드시 하나의 main() 함수를 가져야 함
  • 명령문(statement) : 프로그램의 동작을 명시하고, 컴퓨터에 알려주는 데 쓰이는 문장. 반드시 세미콜론(;)으로 끝나야 함
  • 반환문(return) : main() 함수가 반환되면 프로그램 전체가 종료됨
  • 선행처리문 : #include, #define 문은 모두 선행처리기에 의해 처리됨
    • #include문 : 외부에 선언된 함수/상수 등을 사용하기 위해서 헤더 파일 내용을 현재 파일에 포함할 때 사용
    • #define문 : 함수나 상수를 단순화해주는 매크로 정의 시 사용

 

 

 

네임스페이스 (namespace) : 이름에 대한 충돌 방지. C에는 없는 C++만의 새로운 기능

 주의할 점 - 이름이 겹치는 함수가 있을 경우 오류가 발생하므로, 어떤 네임스페이스의 함수인지 명시해주는 것이 좋음

 (예: std::cout )

using namespace std; // std라는 네임스페이스에 속한 정의들은 std::를 붙이지 않아도 사용 가능해짐

std::cout << "hello" << std::endl;
// ->
cout << "hello" << endl;

// std::endl : 화면에 엔터를 하나 출력해주는 '함수'

 

cf) 이름 없는 이름 공간 : 이름 공간에 굳이 이름을 설정하지 않아도 됨

 - 해당 이름 공간에 정의된 것들은 해당 파일 안에서만 접근 가능 ( static 키워드를 사용한 것과 같은 효과)

#include <iostream>

namespace {
	// 아래에 정의된 것들은 이 파일 내에서만 사용 가능
	int OnlyInThisFile() {}

	int only_in_this_file = 0;
}  // namespace

int main() {
	OnlyInThisFile();
	only_in_this_file = 3;
}

 

 

 

주석 (comment) : (// 한 줄, /* 여러 줄 */) 코드 설명이나 디버깅을 위해 작성하는 일종의 메모. 컴파일 시 무시됨

 

 

 

iostream : C++ 표준 입출력 클래스

  • cin 객체 : 입력 스트림
  • cout 객체 : 출력 스트림
cin >> 저장할 변수;
cout << 출력할 데이터;

/* 참고 */
#include <bits/stdc++.h> 
// STL(Standard Template Library) 헤더 
// (iostream, vector, string, algorithm 등 유용한 헤더를 모아둔)

 

C언어 표준 입출력 함수와의 차이점

  1. 삽입 연산자(<<), 추출 연산자(>>)를 사용하여 좀 더 직관적임
  2. C++ 표준 입출력 객체는 입출력 데이터의 타입을 자동으로 변환해줌 -> 안전하고 편리

 

참고 )

코딩의 시작, TCP School

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

씹어먹는 C++ - <1 - 2. 첫 C++ 프로그램 분석하기> (modoocode.com)

 

씹어먹는 C++ - <1 - 2. 첫 C++ 프로그램 분석하기>

모두의 코드 씹어먹는 C++ - <1 - 2. 첫 C++ 프로그램 분석하기> 작성일 : 2011-03-06 이 글은 120209 번 읽혔습니다. 이번 강좌에서는첫번째 C++ 프로그램 분석이름공간(namespace) 에 대한 이해 안녕하세요

modoocode.com