기본적으로는 솔루션이 더 큰 개념. 한개의 솔루션 안에 여러 프로젝트가 있는 것이다.
그래서 예를 들면 솔루션 이름은 lecture, 프로젝트 이름은 chapter1 이런 식인 게 좋다.
컴파일은 번역이고 빌드는 실행이다. 비슷비슷한 과정 같지만 컴파일을 해야 빌드가 된다. 그래서 컴파일에서 실패하면 빌드도 안 됨.
이렇게 나오면 성공한 것.
평생 cout만 쓰면 편하겠지만, 문자열만 출력하고 끝낼 거라면 프로그래밍을 배우는 의미가 없다. 계산기라던지 매크로라던지, 내가 할 작업을 대신 해줄 무언가를 만들어보고 싶은 게 우리가 프로그래밍을 배우는 이유.
#include <iostream>
#include <string>
using namespace std;
int main() {
// 정수형 변수 선언
int age = 25; // 초기값 25
int year; // 초기값 없음
// 실수형 변수 선언
float pi = 3.14f;
double largeDecimal = 12345.6789;
// 문자형 변수 선언
char grade = 'A';
// 문자열 변수 (C++ 표준 라이브러리 사용)
string name = "John";
// 불리언 변수
bool isStudent = true;
cout << "Age: " << age << endl;
cout << "Year: " << year << " (uninitialized, may contain garbage value)" << endl;
cout << "Pi: " << pi << endl;
cout << "Large Decimal: " << largeDecimal << endl;
cout << "Grade: " << grade << endl;
cout << "Name: " << name << endl;
cout << "Is Student: " << (isStudent ? "true" : "false") << endl;
// 상수 선언
const double gravity = 9.8; // 중력 가속도
cout << "Gravity: " << gravity << endl;
return 0;
}
int year; 까지만 쓰면 어떻게 될까? 이건 컴파일러마다 다르다.
C style의 특성 상 초기화하지 않아도 쓰레기값이 임의로 들어갈 수도 있고, 어떤 컴파일러는 위 이미지처럼 아예 컴파일 에러를 내버리기도 한다. 이건 환경마다 조금씩 다르다.
중력가속도처럼 고정되어 바뀌지 않는 값 같은 게 있다면 const로 선언해주면 된다.
// 실수형 변수 선언
float pi = 3.14f;
double largeDecimal = 12345.6789;
위와 같이 float, double이 각각 선언되어 있다고 하자. 실수형은 유효숫자가 있기 때문에 float형은 유효숫자 뒤에 f까지 붙여주어야 하는 번거로움이 있다. 컨벤션으로 고정된게 아니고 뭘 쓸지 잘 모르겠다면 double을 써주는 것이 편리하다.
int a = 10, b = 5
이렇게 쓸 수 있다. 비단 int가 아니어도 float, double도 마찬가지.