[TIL] C++ 기본 문법 (1)

ETER2·2021년 1월 26일
0

C++

목록 보기
1/2
post-thumbnail

링크 를 바탕으로 C++ 기본 문법 익히기. C를 시작으로 코딩 공부를 시작했기에 C에는 없는 개념 위주로 정리할 예정.

기본 구조

#include
#define

int main()
{
	명령문;
	return;
}

네임스페이스(namespace)

C++에서 등장한 개념. 이름이 소속된 공간을 의미한다. 일반적으로 헤더 파일에서 정의되며, 언제나 새로운 이름을 추가할 수 있다. 아래 예제에서는 표준 헤더 파일인 iostream 내의 정의를 사용하고 있다.

#include <iostream>

int main()
{
	std::cout << "Hello World!";
	return 0;
}

네임스페이스에 속한 정의를 간단하게 사용하기 위해서 두 가지 방법이 사용된다.
using namespace 네임스페이스이름; : 모든 이름을 사용할 수 있게 한다.
using 네임스페이스이름::이름; : 단 하나의 이름만을 사용할 수 있게 한다.

표준 입출력

coutcin을 사용한다. C언어처럼 printf()scanf()로도 입출력을 수행할 수 있다.
std::cout << 출력할데이터; : <<(삽입연산자)로 오른쪽에 위치한 데이터를 출력 스트림에 삽입한다.
std::cin >> 저장할변수; : >>(추출연산자)로 입력받은 데이터를 추출하여 오른쪽에 위치한 변수에 저장한다. 이 때 자동으로 사용자가 입력한 데이터를 변수의 타입과 동일하게 변환시켜 준다.

상수

  1. 정수형 리터럴 상수: 아라비아 숫자, 부호로 직접 표현 (예: 123, -456)
  • 10진수 뿐 아니라 8진수, 16진수로도 표현 가능
  • 여러가지 진법으로 표현된 정수형 상수의 출력을 위해 dec, hex, oct 조정자를 cout 객체가 제공한다. cout 객체에 전달하면 사용자가 다시 변경하기 전까지 출력되는 진법의 형태를 계속 유지할 수 있다.
int a = 10;

cout << "10진수" << a << endl;
cout << oct;
cout << "8진수" << a << endl;
cout << hex;
cout << "16진수" << a;
  • 다음 경우를 제외하고 int형으로 저장
    * 데이터의 값이 너무 큰 경우, 접미사를 상수의 끝에 추가하여 타입을 직접 명시한 경우
  1. 실수형 리터럴 상수: 소수 부분을 가지는 아라비아 숫자 (예: 3.14, -45.6)
  • 부동 소수점 방식으로 저장
  • 접미사를 추가한 경우 제외하고 double형으로 저장
  1. 문자형 리터럴 상수: 따옴표로 감싸진 문자로 표현 (예: 'a', 'A')
  2. 포인터 리터럴 상수: nullptr(널 포인터) 정수형으로 변환할 수 없다. C++11부터 등장.
  3. 이진 리터럴 상수: 0B 또는 0b와 0, 1로 이진 리터럴 상수를 표현할 수 있다. C++14부터 등장.
  4. 심볼릭 상수: 이름을 가지고 있는 상수. const 키워드로 선언할 수 있다. 선언과 동시에 반드시 초기화해야 한다.
    • 상수 타입을 명시적으로 지정할 수 있다.
    • 구조체와 같은 사용자 정의 타입에도 사용할 수 있다.
    • 특정 함수나 파일에서만 사용할 수 있도록 제한할 수 있다.

기본 타입

  1. 정수형
  2. 실수형
  3. 문자형
  4. bool형
  5. auto 키워드 이용 선언: C++11부터 변수의 초기화 값에 맞춰 변수의 타입을 추론할 수 있다.

0개의 댓글