※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.STL템플릿 기반의 강력한 라이브러리3가지 부분으로 나뉜다.container: 어떤 타입의 객체를 저장하기 위한 자료구조iterator: 데이터를 순회하기 위한 반복자algorithm: 컨테이너에서 사용할 수 있는 기능Containersequence container선형적으로 데이터만 저장하는 형태ex) vector, deque, listAssociatibe container비선형적 자료구조key-value, hash tableContainer adapterssequence 컨테이너에서 제약조건을 주어 특정 자료구조를 구현한다.ex) stack, queueiteratorconst iterator읽기..
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.파일 입출력 https://cplusplus.com/reference/ios/header Input-Output base classes Header providing base classes and types for the IOStream hierarchy of classes: Types Class templates basic_iosBase class for streams (type-dependent components) (class template)fposStream position class template (class tempcplusplus.comiostreamC에서부터 제공된 입출력 함수들을..
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.템플릿: 코드 일반화에 사용된다.동작이 동일한 코드의 타입을 가상의 타입 이름으로 작성하여 사용 시 각 인자의 타입에 맞는 구현을 찾아간다.템플릿 함수컴파일러가 템플릿 코드를 컴파일 하면 호출된 코드의 파라미터를 확인하여 가상의 타입 이름을 해당 타입 이름으로 치환한 함수를 오버로딩 하여 제공한다.실행 시 파라미터의 타입과 동일한 함수를 호출한다.함수를 대상으로 하는 템플릿template T Add(T num1, T num2) { return num1 + num2;}호출 방법전달한 인자에 맞는 템플릿을 호출한다.int main() { cout 컴파일러는 함수 템플릿과 호출된 함수의 파라미터 타입을 ..
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.Static과 Singleton 패턴변수의 특징 globalstaticlocalregister메모리datadatastackregister선언 위치함수 밖함수 안/함수 밖함수 안함수 안유효 범위선언 후 파일 전체+ 외부 파일선언 위치에 따라 결정함수 안함수 안life span프로그램 종료 전(프로그램의 life span과 같음)프로그램 종료 전(프로그램의 life span과 같음)함수 종료 전함수 종료 전초기화자동자동 쓰레기 값쓰레기 값static 멤버 변수인스턴스에서 접근할 수도 있으나, class의 멤버 변수라고 생각하는 것이 좋다.class Test {public: static int a; in..
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.객체 지향 프로그래밍 기법함수 오버로딩중복된 이름의 함수를 여러 개 정의 가능하다.파라미터 개수, 타입을 다르게 정의해야 한다.생성자, 메서드, 전역함수 모두 적용 가능하다.함수 오버라이딩상속받은 클래스의 멤버 함수를 재정의 한다.다형성을 구현하는 데 사용된다.상속1차적인 목적: 코드 재사용성을 높이기 위함객체지향의 핵심 다형성을 구현한다.생성자/소멸자생성자반환 타입이 없고, 이름이 클래스와 동일한 멤버 함수객체와 멤버 변수를 초기화 한다.오버로딩이 가능하다.객체 생성 시 한 번 호출된다.기본 생성자를 명시적으로 제공하는 것이 좋다.Point arr[3]; //Point의 기본생성자가 없는 경우 처..
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.클래스객체의 2가지 의미설계 맥락에서의 객체모델링에서 도출되는 샘플을 객체로 본다.유즈케이스 등으로 요구분석이 우선 시 되어야 한다.요구사항 분석을 통해 기능들을 도출해야 한다.ATM 출금- 카드 인식- 비밀번호 입력- 출금 금액 입력 - 잔액 부족- 계좌에서 인출- 돈 출력객체 모델링에서 도출된 샘플카드: 카드사, 번호, 비밀번호, 계좌계좌: 은행 이름, 계좌 번호, 비밀번호프로그램 개발 맥락에서의 객체클래스 타입의 변수를 말한다.구현된 객체변수: 데이터 저장함수: 기능을 제공class Card {...}; ※ 질문, 개선점, 오류가 있다면 댓글로 남겨주세요 :)
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.참조자변수에 대한 별칭이다.초기화 시 값을 대입해주어야 한다.NULL을 삽입할 수 없다.변수의 이름과 차이가 없다.함수의 파라미터로 넘겨 받을 때 유용하다.참조자 선언에는 제한이 없다.하나의 값을 가리키는 참조자가 많을 경우, 값이 어디서 변경되었는지 파악하기 힘들기 때문에 위험하다.Call by value VS Call by referenceC에서는 함수의 매개변수로 변경할 값의 주소를 넘겨주는 것을 call-by-reference로 보았다.C++에서는 변경할 값의 주소를 넘겨주는 것 또한 주소값의 복사로 보기 때문에 call-by-value이다.참조자의 사용 목적이다.함수 호출 과정에서 레퍼런스..
※ LIG Nex1 The SSEN Embedded SW School에서 진행된 내용을 정리한 포스팅입니다.C++ 개요using namespacescope 연산자C++는 중대형 프로젝트를 관리하기 위한 목적의 언어이다.이름이 충돌할 가능성이 크다.영역을 구분하여 충돌을 방지해야 한다.main의 반환값프로그램 종료 코드부모 프로세스로 전달된다.멀티 프로세싱을 사용하면 큰 의미가 없을 수 있다.함수특정 기능을 제공하기 위한 것목적에 따라 접근 제어자를 설정해주어야 한다.접근 제어자(access modifier)defulat 값은 private이다.pipeline 연산자 (원시 자료형은 내부적으로 문자열로 변환이 되어 출력된다.멤버 직접 연산자(.)와 멤버 간접 연산자(->)메모리 할당 연산자(new)클래스의..