본문 바로가기

C++19

Visual Studio에서 C++ 프로젝트를 생성하면 일어나는 일 Visual Studio에서 C++ 프로젝트를 생성하면 기본적으로 다음과 같은 폴더 구조와 파일들이 생성됩니다. 각 폴더와 파일이 담당하는 역할.MyProject/ ├── MyProject.sln // 솔루션 파일: 여러 프로젝트를 하나의 솔루션으로 관리하는 파일└── MyProject/ // 실제 프로젝트 폴더 ├── MyProject.vcxproj // 프로젝트 파일: 빌드 설정, 컴파일러와 링커 옵션 등 프로젝트의 전체 설정 정보가 기록됨 ├── MyProject.vcxproj.filters // 파일 필터 파일: Visual Studio 내에서 파일들을 그룹(예: "Source Files", "Header Fi.. 2025. 4. 3.
7. 지역변수, 전역변수 #include // 전역변수int main(){ // 지역변수}🔷  변수의 종류1. 지역 변수 (Local Variable)   함수 또는 블록 내부에서 선언됨.   해당 블록이 끝나면 메모리에서 자동으로 해제됨.void func() { int a = 10; // 지역 변수} // 함수가 끝나면 a는 사라짐 2. 전역 변수 (Global Variable)   함수 외부에서 선언되며, 프로그램 전체에서 접근 가능함.   데이터 영역에 저장되어 프로그램 종료 시까지 유지됨.int globalVar = 20; // 전역 변수void func() { globalVar += 5; // 어디서든 접근 가능} 3. 정적 변수 (Static Variable)  지역 변수처럼 보이지만, 데이터 영역에 저장.. 2025. 4. 2.
6. 구조체(Structure) 구조체란?구조체는 사용자 정의 자료형(User-defined data type)을 만들 수 있도록 지원하는 기능입니다.기본 자료형(int, float 등)과 달리, 사용자가 직접 새로운 자료형을 정의할 수 있습니다.구조체도 다른 구조체를 포함하여 확장할 수 있습니다.typedef: 타입 재정의typedef를 사용하면 복잡한 구조체 타입을 새로운 이름으로 정의할 수 있습니다.이를 통해 코드 가독성을 높이고, 구조체를 더 쉽게 사용할 수 있습니다.기본 구조typedef struct 구조체이름 { 타입 정의} 사용자정의타입이름, *포인터타입이름;예제 코드#include #include // typedef를 사용한 구조체 정의// _tagStudent는 구조체 이름, STUDENT는 사용자 정의 타입 이름.. 2025. 3. 30.
for문 📌 범위 기반 for 문 (Range-based for Statement) 정리  기본 타입 설명 예시 코드사용하는 경우값 복사 (Value)배열 요소를 복사하여 변수에 저장for (auto element : array) {}값이 변경될 필요 없고, 원본 배열을 보호해야 할 때참조 (Reference)배열 요소를 복사하지 않고 직접 참조for (auto& element : array) {}성능 최적화 및 배열 요소 수정이 필요한 경우상수 참조 (Const Reference)배열 요소를 복사하지 않고 읽기 전용으로 참조for (const auto& element : array) {}성능 최적화 및 값이 변경되면 안 되는 경우auto 키워드배열 요소의 타입을 자동으로 추론for (auto element :.. 2025. 3. 29.
c++ 문자열 출력하기. 📌 C++ 문자열 출력하는 방법 1. cout을 이용한 출력 (권장)#include #include using namespace std;int main() { string str = "Hello, World!"; cout ✅ 장점std::string을 직접 출력 가능 → 변환 과정 필요 없음가독성이 좋고, C++ 스타일에 맞는 방식2. printf를 이용한 출력#include #include using namespace std;int main() { string str = "Hello, World!"; printf("%s\n", str.c_str()); // c_str()을 사용하여 변환}✅ 주의할 점std::string을 직접 사용할 수 없음 → .c_str()을 사용하여 co.. 2025. 3. 29.
5. 배열 배열은 메모리에서 연속적인 위치를 사용합니다.배열 선언정수 배열의 경우, 값을 할당하지 않은 자리는 0으로 초기화됩니다.int 배열명[배열길이] = {}; int iArray[10] = {}; // 4바이트 정수형 배열, iArray = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}배열 접근배열의 인덱스는 0부터 시작합니다.iArray[4] = 10; // iArray 배열의 5번째 값을 10으로 변경합니다.주의 사항배열의 길이를 초과해 접근할 경우 에러 발생 또는 메모리 손상의 위험이 있습니다.이는 정의되지 않은 동작(Undefined Behavior)으로, 다른 메모리 값을 덮어쓸 수도 있습니다. ※ 배열의 크기 확인하기변수명 위에 마우스를 올리세요 참고https://gdngy.tisto.. 2025. 3. 26.