C++ 파일도 C와 동일하게 Visual Studio 상에서 손쉽게 만들 수 있다. 프로젝트를 생성한 뒤 소스파일에서 오른쪽 클릭 후 추가 - 새항목을 선택한 뒤 'main.cpp'와 같이 명명하여 추가하면 된다.
iostream 라이브러리는 C++ 표준 입출력 라이브러리이며 C의 stdio.h와 흡사하게 사용된다. 과거에는 iostream.h로 쓰였지만 최신 C++ 문법에서는 .h를 붙이지 않는다.
#include <iostream>
using namespace std;
int main(void) {
cout << "Hello World" << endl;
system("pause");
return 0;
}
endl을 통해 줄바꿈을 실행한다.
C에서는 printf(), scanf() 함수에서 형식 지정자를 적어야 했으나 C++에서는 형식 지정자를 넣어주지 않아도 변수를 타입에 맞게 적절히 입출력 해준다.
C++ 기본 입출력 라이브러리에서는 연산자 >>
와 <<
를 제공한다. 이를 활용해 모든 기본 자료형을 입출력 할 수 있다. 특히 입력을 받는 연산자 >>
는 공백 문자(Space, Enter, Tab)을 기준으로 입력받는다.
#include <iostream>
#include <string>
int main(void) {
std::string input;
std::cin >> input;
std::cout << input << std::endl;
system("pause");
return 0;
}
네임스페이스는 특정 영역에 이름을 설정할 수 있도록 하는 문법이다. 서로 다른 개발자가 공동으로 프로젝트를 진행할 때 각자 개발한 모듈을 하나로 합칠 수 있도록 해준다.
#include <iostream>
namespace A {
void function() {
std::cout << "A Namespace" << std::endl;
}
}
namespace B {
void function() {
std::cout << "B Namespace" << std::endl;
}
}
int main(void) {
A::function();
B::function();
system("pause");
return 0;
}
using
키워드를 사용하여 표준 라이브러리(std)를 모두 사용하도록 처리할 수 있다.
#include <iostream>
using namespace std;
int main(void) {
string input;
cin >> input;
cout << input << endl;
system("pause");
return 0;
}
C++은 표준 문자열 자료형을 제공하며 string 헤더 파일에 정의되어 있다.
언어별 문자열 | 형태 |
---|---|
C | char arr[SIZE]; |
C++ | string s; |
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string input;
cin >> input;
for (int i = 0;i < input.size();i++) {
cout << input << endl;
}
system("pause");
return 0;
}
C++에서 공백을 포함해 한 줄을 모두 문자열 형태로 입력 받고자 한다면 getline() 함수를 사용한다.
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string input;
getline(cin, input);
for (int i = 0;i < input.size();i++) {
cout << input[i] << '\n';
}
system("pause");
return 0;
}
C++의 string은 다른 자료형으로 변환이 간편하다.
#include <iostream>
#include <string>
using namespace std;
int main(void) {
int i = 123;
string s = to_string(i);
cout << "정수 -> 문자열 : " << s << endl;
s = "456";
i = stoi(s);
cout << "문자열 -> 정수 : " << i << endl;
system("pause");
return 0;
}
#include <iostream>
#define SIZE 100
using namespace std;
int* arr;
int main(void) {
arr = new int[SIZE]; // 동적 할당
for (int i = 0;i < SIZE;i++) {
arr[i] = i;
}
for (int i = 0;i < SIZE;i++) {
cout << arr[i] << ' ';
}
delete arr; // 할당 해제
system("pause");
return 0;
}