일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 비디오 스트리밍
- 브라우저 동작
- 프로그래머스
- 파이썬 웹크롤링
- 멘션 추천 기능
- Next/Image 캐싱
- Server Side Rendering
- 네이버 부스트캠프 멤버십
- git checkout
- 스택
- 자바스크립트 객체
- 자바스크립트 컴파일
- 웹크롤링
- React.js
- 부스트캠프
- 파이썬 코딩테스트
- React ssr
- 파이썬
- react
- 네이버 부캠
- 자바 프로젝트
- c++
- 자바스크립트
- Image 컴포넌트
- 네이버 부스트캠프
- 코딩테스트
- beautifulsoup
- PubSub 패턴
- 씨쁠쁠
- Next.js
- Today
- Total
코린이의 개발 일지
[c++ 문법] c++ 기초, Hello world 출력하기 본문
교수님께서.. c++기초 문법은 따로 공부해 오라고 하셨기 때문에.. 시작하는
c++ 기초 문법 정리
1. 기본 코드
우선 언어의 시작 "Hello world" 부터 찍어 봅시다.
#include <iostream> //C++ 표준 라이브러리
int main()
{
std::cout << "Hello world"; // c++에는 네임 스페이스라는 것이 있다.
// std라는 네임 스페이스에 있는 명령어를 쓰겠다는 의미에서 std::를 붙여 주어야 함.
// cout은 파이썬에서 print, c언어에서 printf와 마찬가지로 출력하는 명령어이다.
return 0;
}
우선 c언어에서 표준 라이브러리인 stdio.h를 참조한 것처럼 마찬가지로 c++도 iostream이라는 표준 라이브러리가 있습니다. 먼저 include 해주도록 합시다.
다행히 c언어를 배웠어서 기본적인 형태를 보는데에는 큰 무리가 없지만 그래도 기본적인 설명은 적어 보겠습니다.
c언어와 마찬가지로 main함수가 있습니다.
main함수 안에 보면 이제 낯선 std::cout 이라는 굉장히 암호스러운 명령어가 등장합니다.
사실 별건 아니고 cout은 출력할 때 쓰는 명령어 입니다.
그와 반대로 cin은 입력 받을 때 쓰는 명령어. 입출력 명령어는 후에 따로 다루도록 하겠습니다.
그럼 이제 std::는 무엇이냐?
위에 적어놓기는 하였지만 c++에는 '네임스페이스'라는 것이 존재 합니다.
- 네임 스페이스란?
네임스페이스란 이름이 기억되는 영역을 뜻하며, 이름이 소속된 공간을 의미합니다.
네임스페이스는 C++ 프로그램을 작성할 때 발생하는 이름에 대한 충돌을 방지해 주는 방법을 제공합니다.
이러한 네임스페이스는 C언어에는 없는 C++ 만의 새로운 기능입니다.
C++ 프로그램의 표준 구성 요소인 클래스, 함수, 변수 등은 std라는 이름 공간에 저장되어 있습니다.
출처: http://tcpschool.com/cpp/cpp_scope_namespace
따라서 C++ 프로그램에서 표준 헤더 파일인 iostream 내의 정의를 사용하려면 위와 같이 사용해야 합니다.
위의 예제처럼 std라는 네임스페이스에 있는 정의를 사용하려면, std:: 접두어를 붙여 해당 정의가 std라는 네임스페이스에 있다는 것을 컴파일러에 알려줘야 합니다.
자 그렇다면 매번 명령어를 쓸 때마다 std::를 붙여야하다니, 너무 귀찮죠? 한방에 해결 가능한 방법이 있습니다.
#include <iostream>
using namespace std;
// std라는 네임스페이스에 속한 정의들은 네임스페이스 이름을 붙이지 않아도 사용할 수 있음.
int main()
{
cout << "Hello world";
return 0;
}
벌써부터 어려워지는 것 같죠? 아닙니다. 그냥 저거 적으면 되는구나! 하고 일단 받아 들입시다.
이제 막 c++시작 했으니까요. 네임스페이스에 더 자세히 알고 싶으신 분들은
http://tcpschool.com/cpp/cpp_scope_namespace
이 곳에 가시면 설명이 자세히 나와 있습니다.
main 함수에서의 return 0는 사실상 이제 프로그래밍 배우고 있는 입장에서 저도 자세히는 알지 못합니다.
알고 있는 부분은 c와 c++ main함수가 정상적으로 작동이 되는 경우에는 0값을 return하고 오류가 발생하는 상황에는 0이 아닌 값을 return하도록 하는 것? 정도로 알고 있습니다.
그러니 지금은 그냥 return 0를 적어 주시면 됩니다. 이 main함수에서는요. 다른 함수에서 return 값은 필요한 data를 return하면 되겠죠?
자 여기까지 기초였습니다. 기초인데 이것저것 설명을 꽤 했네요..
다음 포스팅에서는 입출력과 문자열 입출력에 대해 다뤄보도록 하겠습니다.
'프로그래밍 언어 문법 > c++ 문법 정리' 카테고리의 다른 글
[c++ 문법] 파일 입출력 - 텍스트 파일 내용 (0) | 2022.01.06 |
---|---|
[c++ 문법] 클래스 (class) 사용하기 - 생성자, public, private (0) | 2021.09.29 |
[c++ 문법] c++ 입출력, 문자열 입출력 (string class 사용하기) (0) | 2021.09.19 |