본문 바로가기
Language & Framework & GIT/C++

[씨앤씨뿔]C++/ C++의 기본 - 2

by veganwithbacon 2023. 4. 14.
반응형

✅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

 

[씨앤씨뿔] C++/ namespace -1

C++ namespace? 하나의 프로그램에서 여러 파일이 생성되고, 여러 사람들이 붙어 개발을 하면 동명을 가진 경우가 발생한다. 위와 같은 경우 함수명이나 구조체 명, 그리고 변수명이 같아지면 이름

veganwithbacon.tistory.com

https://veganwithbacon.tistory.com/214?category=1097386 

 

[씨앤씨뿔]C++/ namespace - 2

✅namespace 요소 접근 방법 1️⃣ 한정된 이름(qualified name)을 사용한 접근 namespace::요소 이와 같이 namespace를 입력하고 "::"을 통해 네임스페이스 내부에 있는 요소에 접근하는 방법이 있다. 한정된

veganwithbacon.tistory.com

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++은 처음이라 그런지 버퍼링이 걸린다;

반응형

댓글