✅int main() 함수에서 return문 생략 가능
int main() 함수는 정수를 리턴하는 return문을 가지고 와야하지만,
C++에서는 return 문을 생략할 수 있다.
✅#include<iostream>
전처리기(C++ preprocessor)에 대한 지시문
C++ 소스 파일을 컴파일하기 전에 <iostream>헤더 파일을 읽어 C++소스 파일에 삽입을 지시
cout 객체와 << 연산자 함수가 선언되 <iostream>을 필요로 한다.
ex) std::cout << " Hello world\n";
✅화면 출력
cout 객체
cout 앞에 붙는 std::의 접두어는 cout의 이름 공간(namespace)이 std임을 표시해준다.
<<연산자
스트림 삽입 연산자(stream insertion operator)로 불리며, 오른쪽 피연산자 데이터를 왼쪽 스트림 객체에 삽입한다.
본래 << 연산자는 정수를 왼쪽으로 시프트(shift)하는 C++의 기본 연산자인데, 출력 스트림에 데이터를 삽입하는 삽입 연산자로 <iostream> 헤더 파일에 재정의(operator overloading)되어 cout과 사용된다.
한줄에 여러 개의 <<연산자를 통해 한 문장에 여러 데이터 출력이 가능
ex) std::cout << "Hello\n" << "하이하이 암소하이";
<< 연산자는 문자열뿐 아니라 기본 타입 데이터도 출력 가능하다
줄넘김
C언어처럼 \n을 이용할 수도 있고, std::endl을 통해서도 개행이 가능하다.
이름공간(namespace) :: 이름(identifier)
https://veganwithbacon.tistory.com/209
https://veganwithbacon.tistory.com/214?category=1097386
std::란?
: C++ 표준에서 정한 표준 이름 공간
응용 프로그램이 C++표준 라이브러리에서 선언된 이름(identifier)을 사용할 때, std::를 접두어로 붙여야한다.
std:의 생략 & using 지시어
std 이름 공간에 선언된 수많은 이름에 대해 사용할 때마다 std:: 접두어를 붙이는 것은 상당히 번거로운데, 다음과 같이 생략이 가능하도록 할 수 있다.
using namespace std;
라고 선언하면 std 이름 공간에 선언된 모든 이름에 std:: 생략이 가능하다
#include<iostream>과 std
C++ 표준에서 지원되는 모든 라이브러리는 std 이름 공간 안에 구현되어 있기 때문에 <iostream> 헤더 파일 내에 선언된 모든 클래스, 객체, 함수들을 사용할 때 std::를 생략한다
#include<iostream>
using namespace std; <iostream> 헤더 파일에 선언된 이름을 사용할 때 std::생략
C++의 기본 입출력인 cin/ cout에 관한 자세한 내용은 상단에 태그한 포스트를 참고하면 된다.
c언어의 scanf를 대신하는 것이 c++의 cin과 >>연산자라고 볼 수 있다.
cin객체
cin은 키보드와 C++ 응용프로그램을 연결하는 C++표준 입력 스트림 객체(standard input stream object)이다.
키보드로 입력되는 값들은 모두 cin 객체의 스트림 버퍼로 들어오며, 응용프로그램은 cin 객체로부터 입력된 키 값을 읽는다.
>>연산자
: 스트림 추출 연산자(stream extraction operator)로 불리며 왼쪽 피연산자인 스트림 객체로부터 데이터를 읽어 오른쪽 피연산자에 지정된 변수에 삽입
<<연산자와 마찬가지로 원래는 시프트 연산자지만 <iostream> 헤더 파일에 스트림 추출 연산자로 재정의(operator overloading)되어 있다.
<Enter>키를 칠 때 변수에 키 값 전달
C++의 입력시스템에서 사용자의 키 입력이 끝났음을 알리는 키가 바로 <Enter>키이다.
사용자의 입력에 의해 일차적으로 cin의 스트림 버퍼에 저장되며, <Enter>키가 입력되면 >>연산자가 cin의 입력 버퍼에서 키 값을 끌어내어 변수에 저장하는 것이다.
공부하고 정리해서 블로깅하는데, C는 기존에 알던 내용이라 그런지 한번에 솰라솰라나오는데
C++은 처음이라 그런지 버퍼링이 걸린다;
'Language & Framework & GIT > C++' 카테고리의 다른 글
[씨앤씨뿔]C++/ 클래스 & 객체 - 1 (0) | 2023.04.18 |
---|---|
[씨앤씨뿔]C++/ C++의 기본 - 3 (0) | 2023.04.17 |
[씨앤씨뿔]C++/ C++의 기본 - 1 (0) | 2023.04.13 |
[씨앤씨뿔]C++/ namespace - 2 (1) | 2023.04.13 |
[씨앤씨뿔] C++/ namespace -1 (0) | 2023.04.12 |
댓글