이번 편의 목표: C++에서 참조로 변수에 별명을 붙이고, 문자열과 출력을 표준 라이브러리로 바꿉니다.
C++은 C의 메모리 모델 위에 타입과 라이브러리를 더합니다. 15편부터의 파일 확장자는 .cpp이고 컴파일러는 g++입니다. 표준 라이브러리 이름은 std 안에 있습니다. 이 연재는 std::를 생략하지 않습니다.
hello.cpp로 저장합니다.
#include <iostream>
#include <string>
int main() {
int days = 3;
int &alias = days;
std::string title = "개미";
alias = 4;
std::cout << days << '\n';
std::cout << title << '\n';
return 0;
}g++ -std=c++17 -Wall -Wextra -o hello hello.cpp
./hello
참조 alias는 days의 다른 이름입니다. alias = 4는 days를 4로 바꿉니다. 참조는 만들어진 뒤 다른 변수를 가리키게 바꿀 수 없고, 널이 될 수도 없습니다. 없을 수 있는 주소가 필요하면 09편의 포인터를 그대로 씁니다.
std::string은 문자 배열의 길이와 메모리 반환을 타입이 맡습니다. std::cout은 출력 스트림입니다. << 는 오른쪽 값을 그 스트림으로 보냅니다. 문자열 끝의 줄 바꿈은 '\n' 문자로 보냅니다.
정수를 읽을 때는 std::cin >> days를 사용합니다. 추출이 실패하면 스트림이 실패 상태가 되므로, 계산 전에 std::cin의 상태를 확인합니다.
직접 해 보기
참조로 days를 한 번 더 늘려 5를 출력하고, 제목을 공책으로 바꿔 둘째 줄에 출력하세요.
해설
alias = 4 다음에 alias = alias + 1을 수행하면 days는 5입니다. title에 새 문자열을 대입하면 cout이 공책을 출력합니다. C처럼 배열 크기를 직접 넘기지 않습니다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
댓글은 구글이나 카카오로 시작한 뒤에 남길 수 있습니다.
등록된 댓글이 없습니다.