프로그래밍 언어를 배우는 가장 좋은 방법은 프로그램을 작성해보는 것입니다.
일반적으로, 초보자가 처음 작성하는 프로그램은 ‘Hello World’라는 프로그램으로 컴퓨터 화면에 “Hello, world!”를 출력하는 프로그램입니다.
매우 간단하지만 C++ 프로그래밍의 모든 기본 구성 요소를 포함하고 있습니다.
// C++로 작성한 나의 첫 프로그램
#include <iostream>
int main()
{
std::cout << "Hello, world!";
}
위의 코드를 hello.cpp
파일로 저장한 뒤, g++ hello.cpp -o hello
명령으로 컴파일 합니다.
./hello
명령으로 실행하면, “Hello, world!”를 출력하는 것을 확인할 수 있습니다.
이제 위의 프로그램을 한 줄씩 살펴봅시다:
-
Line 1:
// C++로 작성한 나의 첫 프로그램
두 개의 슬래시 부호는 프로그래머가 삽입한 주석(Comment)입니다. 이것은 프로그램 동작에 영향을 주지 않습니다. 프로그래머는 이를 사용하여 코드 또는 프로그램에 대한 간단한 설명을 적을수 있습니다. -
Line 2:
#include <iostream>
해시 기호(#)로 시작하는 행은 전처리 지시자라고 합니다. 프로그램 컴파일이 시작되기 전에 해석되는 특수한 라인입니다. 위의 코드에 있는#include <iostream>
는 표준 입력 및 출력 작업을 수행할 수 있는 헤더iostream
이라는 표준 C++ 코드를 포함하도록 지시합니다. -
Line 3: 비어있는 줄
비어있는 줄은 프로그램에 영향을 주지 않습니다. 코드의 가독성을 향상시킵니다. -
Line 4:
int main()
main()
이라는 함수는 특별한 함수입니다. 프로그램이 실행될 때 가장 먼저 호출되는 함수입니다. 모든 C++ 프로그램은 무조건main()
함수로 시작합니다. -
Line 5와 7:
{
와}
5행의 여는 중괄호({
)는main()
함수 정의의 시작을 나타내고, 7행의 닫는 중괄호는 (}
) 끝을 나타냅니다. 이 중괄호 사이의 모든 것은main()
함수가 호출될 때 발생하는 것을 정의하는 함수의 본문입니다. 모든 함수는 중괄호를 사용하여 정의의 시작과 끝을 나타냅니다. -
Line 6:
std::cout << "Hello World!";
이 줄은 C++ 명령문입니다. 명령문은 함수 본문 내에 나타나는 순서와 동일한 순서로 실행됩니다.
이 문장에는 3가지 부분이 있습니다.
첫째, 컴퓨터 화면에 문자를 출력하는std::cout
입니다. (Standard *Character **Output Device)
둘째, 삽입 연산자 (<<
)는 뒤에 오는 내용이std::cout
에 삽입됨을 나타냅니다.
마지막으로 따옴표 안의 문장(“Hello, world!”)은std::cout
에 삽입된 내용입니다.
모든 명령문은 세미콜론(;)으로 끝납니다. 일반적으로 마침표가 글의 문장을 끝내듯이 C++에서는 세미콜론으로 명령문을 끝냅니다.
주석 (Comment)
위에서 언급했듯이 주석은 프로그램 작동에 영향을 주지 않습니다. 그러나 프로그램의 기능과 작동 방식을 소스 코드 내에 입력할 수 있는 중요한 기능입니다.
C ++은 코드를 주석 처리하는 두 가지 방법을 지원합니다.
// line comment
/* block comment */
- Line Comment :
//
가 있는 행부터 같은 행 끝까지 주석 처리합니다. - Block Comment :
/*
문자와*/
문자 사이에 있는 내용을 주석 처리합니다.
위의 Line Comment와 Block Comment를 사용하여 두 번째 프로그램을 작성해봅시다.
/* C++로 작성한 두 번째 프로그램
주석을 사용하여 프로그램 작동 설명을 하고 있습니다 */
#include <iostream>
int main ()
{
std::cout << "Hello, world! "; // Hello, world!를 출력 합니다.
std::cout << "I'm a C++ program"; // I'm a C++ program를 출력 합니다.
}
std
네임스페이스 사용하기
만약 이전에 C++ 코드를 본 적이 있다면, std::cout
대신 cout
이 사용되는 것을 보았을 것입니다. 둘 다 동일한 객체의 이름이며, 첫 번째는 네임스페이스 std
(std::cout
) 내에서 직접 사용하며, 두 번째는 정규화되지 않은 cout
을 사용합니다. cout
은 표준 라이브러리의 일부이며, 표준 C++ 라이브러리의 모든 요소는 네임스페이스 std
에 선언됩니다.
std
네임스페이스의 요소를 참조하기 위해 프로그램은 라이브러리의 각 요소를 cout
앞에 std::
를 붙여서 사용한 것처럼 사용하거나 아래와 같이 선언을 해야 합니다.
using namespace std;
위의 선언을 통해 std
네임스페이스의 모든 요소에 std::
접두사 없이 정규화 된 방식으로 접근할 수 있습니다.
/* C++로 작성한 두 번째 프로그램
주석을 사용하여 프로그램 작동 설명을 하고 있습니다 */
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello, world! "; // Hello, world!를 출력 합니다.
cout << "I'm a C++ program"; // I'm a C++ program를 출력 합니다.
}
네임스페이스에 대해서는 다음 글에서 더 자세히 설명됩니다.