[C++] vector 함수 - size | capacity | resize | reserve
·
C++
★ 개념함수설명size()벡터에 실제로 저장된 요소 갯수capacity()벡터가 재할당 없이 저장할 수 있는 최대 요소 갯수resize(n)벡터의 size를 n으로 변경reserve(n)벡터의 capacity를 최소 n으로 예약만 함 (요소 갯수는 변하지 X) ★ 차이점항목resize(n)reserve(n)실제 요소 수 (size)변경변경X용량 (capacity)필요 시 늘어남늘어남 (줄어들지 X)자동 초기화0 또는 기본값으로 초기화X메모리 재할당필요 시 발생필요 시 발생요소 접근 가능 여부가능 (v[i])예약만 했으니까 접근 불가용도요소 갯수 변경성능 최적화를 위한 사전 예약 ★ 예시#include #include int main() { using namespace std; vector ..
[C++] 주요 vector 함수
·
C++
★ push_back(value) : 마지막에 요소 추가#include #include int main(){ using namespace std; vector v = {1, 2}; cout ★ push_back() : 마지막 요소 제거#include #include int main(){ using namespace std; vector v = {1, 2, 3}; cout ★ size() : 요소 개수 반환#include #include int main(){ using namespace std; vector v = {1, 2, 3}; cout ★ empty() : 비어 있는지 확인 | clear() : 모든 요소 제거비어있으면 1, 아니면 0 ..
[C++] array 객체와 vector 객체
·
C++
array와 vector가 비슷하게 느껴져서 두 객체의 차이에 대해 정리하려고 함 ★ 요약 정리항목array (정적 배열)vector (동적 배열)크기컴파일 타임에 고정런타임에 가변 (동적)헤더파일메모리스택에 저장됨 (일반 배열)힙에 저장됨 (동적 메모리 할당)리사이즈불가능push_back(), resize() 등으로 가능초기화{1, 2, 3} or int arr[5]{1, 2, 3} or vector v(3)성능빠르고 가볍지만 유연성 부족약간 느릴 수 있지만 유연함사용 시기크기 변경이 필요 없을 때요소 개수가 동적으로 바뀔 때안전성일반 배열은 경계 검사 없음at() 사용 시 범위 검사 가능 ★ 공통점연속된 메모리 공간 사용인덱스로 접근 가능 ex) arr[i], vec[i]동일한 데이터형으로만 이루..
[C++] 파일 입출력 (.txt 파일)
·
C++
파일 출력fstream 헤더 파일 사용파일 열기 : open() 메소드파일 닫기 : close() 메소드파일 닫기를 안해주면, 프로그램이 끝날 시 자동으로 닫아줌#include #include int main(){ using namespace std; char name[20]; int year; double birth; ofstream outFile; // 출력을 위한 객체 생성 outFile.open("user_info.txt"); // 파일에 연결 ==> 파일이 생성됨 cout > year; cout > birth; cout 1.10으로 출력) cout [파일 출력 기본 절차]1. fstream 헤더 파일 포함2. ofstream 객체 생성...
[C++] cin.fail() | cin.clear() | cin.ignore()
·
C++
cin.fail()과 cin.clear()cin.fail() : 숫자형 변수에 문자를 넣으려는 잘못된 시도를 할 경우 failbit 설정 --> 참(1) 반환cin.clear() : 내부상태플래그 초기화 --> cin이 올바른 동작을 이어가도록 함 정상적으로 값이 입력 되었는지 확인하기 위해 cin 객체의 내부 상태 플래그를 참조함아래 에러가 발생했는지 확인하는 방법 : cin의 fail(), eof(), bad(), good() 멤버함수 사용failbit : 입력 실패. ex) 정수를 입력받아야하는데 문자를 입력하면 1이 됨eofbit : 파일의 끝. ex) 더 이상 읽을 문자가 없는 경우 에러badbit : 스트림 물리적 손상. ex) 더 이상 읽을 수 없어 에러 반환goodbit : 위의 에러들 발..
[C++] 문자열 | string을 전달인자로 하는 함수
·
C++
문자열모든 문자열의 마지막 문자는 반드시 널 문자(\0)여야 함!!ex) char fruit1[8] = {'a', 'p', 'p', 'l', 'e'}; // 문자열이 아님 char fruit2[8] = {'a', 'p', 'p', 'l', 'e', '\0'}; // 문자열임큰 따음표로 묶인 문자열은 마지막에 널 문자가 들어가있음C++에 다양한 입력 기능들에도 끝내기 널 문자가 자동으로 추가됨 const int ArSize = 20;char name[ArSize];char dessert[ArSize];cout > name;cout > dessert;cout cin이 문자열 끝을 인식하는 방법 : 빈칸, 탭, 캐리지 리턴과 같은 화이트 스페이지! Polibo Park 이라고 입력 ===..
[C++] 데이터 형변환
·
C++
C++도 C언어와 같이 형변환이 가능함!float num1 = 3.14;int num2 = (int) num1; static_cast찾아보니까 C++에는 형변환 연산자가 여러개 존재함!내가 이번에 공부한 것은 'static_cast' 연산자임!static_cast (대상)#include using namespace std;int main(){ double num1 = 3.14; float num2 = 4.99; cout (num1) (대상) ==> 대상을 바꾸려는 타입으로 형변환! cout (num2) double형 변수 num1과 float형 변수 num2를 모두 int형으로 형변환함.소수점 아래 숫자는 버려짐. 실수와 정수, 열거형과 정수형, 실수와 실수 사이의 변환 등..
[2025.04.14] 데이터 베이스2025.04.14] 데이터 베이스
·
DB
오늘은 데이터베이스를 처음 배운 날! Mariadb를 설치하여 실습을 진행함. sudo serivce mysql start : MariaDB 서버 실행sudo mariadb 자꾸 mariadb 실행 방법을 까먹는다,, 안까먹게 기록해둬야징show databases; // ==> test라는 DB를 create 명령어로 생성했었음.show를 사용하여 생성된 database를 확인함.test가 들어가 있는 것을 확인할 수 있었음.use test; // ==> use 명령어를 사용하여 DB 중에 test를 활성화 시킴. 교수님께서 보여주신 데이터를 crate table과 insert into를 통해 test DB안에 넣음.show tables; // ==> test DB 안에 있는 DEPT, EMP 테이블을..
[2025.04.01] 이중 포인터
·
C/본수업
[이중포인터]   [코드]#include #include #define SIZE 100int main(){ // 김밥 char kimbab_list[8][SIZE] = {"김 밥", "치즈 김밥", "참 치 김 밥", "김 치 김 밥", "야 채 김 밥", "소고기김밥", "돈까스 김밥", "삼겹살김밥"}; int kimbab_price[8] = {3000, 3500, 3500, 3500, 3000, 4000, 4000, 4500}; //라면 char ramen_list[7][SIZE] = {"라 면", "계란 라면", "치 즈 라 면", "만 두 라 면", "짬 뽕 라 면", "떡 라 면", "떡만두 라면"}; ..
[2025.03.27] 김복천국 POS기 만들기 _ 개발계획서, 순서도, 일정표
·
C/개인프로젝트03 - 김복천국 POS기
[개발계획서]    [순서도] .   [일정표]