목록Language/C++ (3)
개발자공부일기
auto란 무엇인가?auto는 C++11부터 도입된 타입 추론 키워드입니다. 즉, 변수 선언 시 개발자가 자료형을 직접 쓰지 않아도 컴파일러가 자동으로 판단하여 변수 타입을 정해줍니다.예전에는 반복자를 다음과 같이 선언해야 했습니다.std::vector::iterator it = vec.begin();하지만 auto를 사용하면 아래처럼 훨씬 간단하게 쓸 수 있습니다.auto it = vec.begin();auto의 주요 특징복잡한 타입도 자동 처리: 반복자, 람다, map, pair 등에서 유용코드 가독성 향상: 자료형 생략으로 깔끔한 코드 작성 가능유지보수에 유리: 자료형이 바뀌어도 변수 선언을 바꿀 필요가 없음rbegin()과 rend()란 무엇인가?STL 컨테이너에서는 일반적으로 begin()과 e..
C++란 무엇인가C++은 고성능, 고수준, 저수준 프로그래밍을 모두 포괄할 수 있도록 설계된 범용 프로그래밍 언어이다.1980년대 초반, Bjarne Stroustrup에 의해 AT&T 벨 연구소(Bell Labs)에서 개발되었다.그 목적은 기존 C 언어의 효율성과 제어 능력을 유지하면서, 객체지향 프로그래밍(Object-Oriented Programming, OOP)의 구조적 설계 개념을 통합하는 데 있었다.1. 역사적 배경C++은 초기에 "C with Classes"라는 이름으로 불렸다.이는 기존의 C 언어에 클래스(class)라는 개념을 추가한 것에서 출발했기 때문이다.이후 점진적인 확장을 거쳐 템플릿, 예외 처리, 표준 라이브러리(STL), 멀티스레딩 지원 등의 기능을 추가하면서 현재에 이르고 있..
행렬의 크기를 입력받고 두 행렬의 값들을 입력받아 두 행렬을 더하는 백준문제를 다음과 같은 코드로 풀었다.#include using namespace std;int main(void){ int n=0,m=0; cin>>n; cin>>m; int A[n][m],B[n][m],C[n][m]; for(int i=0;i>A[i][j]; } } for(int i=0;i>B[i][j]; } } for(int i=0;i근데 뭔가 찜찜해서 GPT한테 피드백을 받아보니 코드를 보면 동적으로 크기가 정해지는 2차원 배열을 선언하고 있습니다. 하지만 C++에서는 가변 길이 배열(VLA, Variable Length Array)을 공식적으로 지원하지 ..