반응형
- C
- 파일 입출력
- 주로 쓰는 함수 : fscanf, fprintf, fread, fwrite -> high level io
- 컴파일 과정 4단계
- 전처리 (gcc -E) : .c -> .i
- 컴파일 (gcc -S) : .c(.i) -> .s
- 어셈블 (gcc -c) : .c(.s) -> .o
- 컬렉트 (로케이트 + 링크) : .exe 파일 생성
- 로케이트 : 주소 배정
- 링크 : .o 파일끼리 연결
- extern : 다른 파일에 잡혀있는 변수와 동기화, 스토리지 클래스의 일부, 분할 어셈블 후 링크해야 함
- 비트 연산
- 비트 필터 : 마스크(지울 부분 0, 볼 부분 1)와 AND 연산
- 비트 셋 : 마스크(설정할 부분 1, 나머지 0)와 OR 연산
- 비트 클리어 : 비트 셋의 마스크를 반전한 후에 AND 연산
- 비트 토글 : 마스크(설정할 부분 1, 나머지 0)와 XOR 연산
- 마스크 표기법 : 00111000 == 0x38 == 7<<3
- 파일 입출력
- C++
- 모던 C++(std=c++11 부터) 문법
- (int i = 4) == (int i{4}) == (int i(4))
- ios::sync_with_stdio(bool) : C 표준 stream과 C++ 표준 stream의 동기화 상태 결정
- cin.tie(bool) : cin과 cout의 순서를 보장함. == 입력 전에 출력 버퍼가 flush됨
- 실수 정밀도 조정 함수 : setprecision
- 동적 할당
- new, delete
- 메모리 해제 후 nullptr을 대입해 메모리 참조를 제한해야함
- 레퍼런스 변수 (참조) : int &a = b;
- lvalue가 rvalue와 완전히 동일한 변수가 됨
- rvalue에는 상수는 올 수 X. ex) int &ref = 10;
- 하지만 lvalue에 const를 붙이면 상수가 올 수 O
- 예외처리
- try
- throw
- catch
- catch(…) : 처리되지 않은 나머지 예외들을 모두 받음
- 스택 언폴딩 : 현재 함수에서 catch가 없을 때 상위 함수로 돌아가서 예외를 처리하는 것
- assert(조건문) : 조건이 틀릴 시 디버그 모드에서 오류 발생시킴
- noexcept : 함수 옆에 명시. 그 안에서 예외가 발생하면 오류 발생시킴
- 객체지향 프로그래밍
- 특성
- 추상화 : 현실 세계의 대상에서 필요한 부분만 이용해서 모델링
- 캡슐화
- 다형성
- 상속성
- initializer list
- 생성자 옆에 :멤버변수(값) 처럼 써서 대입문을 대신함
- 접근 제어 지시자 : private가 기본
- 상속 제어자 : 상속 클래스 앞에 사용, 접근 제어자와 동일하게 사용
- friend class : private 멤버를 접근할 수 있는 친구 클래스
- 생성자
- explicit : 생성자를 통한 묵시적 형변환을 금지하는 키워드, 해당 생성자를 제대로 된 방식으로 사용하게 함
- 디폴트 생성자
- 생성자를 하나도 명시하지 않았을 때 컴파일러가 자동으로 생성
- 복사 생성자
- 객체끼리 대입시 디폴트 복사 생성자(얕은 복사)가 작동
- 직접 구현(깊은 복사)도 가능
- 상속
- 다중 상속
- 상속 지시자를 클래스당 하나씩 명시해줘야함
- 생성자는 부모부터 하나씩 호출, void or 디폴트 생성자 부름
- 소멸자는 자식부터 하나씩 호출
- 상속 지시자별 멤버 상속 처리
- private : public, protected 멤버가 private로 상속
- protected : public, protected 멤버가 protected로 상속
- public : public, protected 멤버가 그대로 상속
- 접근 지시자 private 멤버는 상속 X
- 다중 상속
- 클래스 내의 static
- 모든 객체끼리 공유하는 변수
- 보통 전역 변수처럼 사용
- 선언 및 초기화 : 타입 클래스::변수이름
- 오버로딩 vs 오버라이딩
- 오버로딩 : 추가 (매개변수 순서와 타입으로 함수 비교, 반환값은 구분 요소가 X)
- 오버라이딩 : 덮어쓰기 (타입과 순서, 반환값까지 동일)
- 연산자 오버로딩
- x1 + x2 == x1.operator+(x2) == this.operator+(x1,x2)
- 멤버 연산자, 전역 연산자 등
- 특성
- 모던 C++(std=c++11 부터) 문법
VEDA 바로가기 : https://www.vedacademy.co.kr/
본 후기는 한화비전 VEDA 2기 학습 기록으로 작성되었습니다.
반응형
'프로그래밍 > 한화비전 VEDA' 카테고리의 다른 글
| 한화비전 VEDA 2기 : 5주차 (Qt 실습평가, 임베디드 시스템 이해) 정리 (3) | 2025.04.20 |
|---|---|
| 한화비전 VEDA 2기 : 4주차 (Qt) 정리 (2) | 2025.04.13 |
| 한화비전 VEDA 2기 : 3주차 (C++) 정리 (1) | 2025.04.07 |
| 한화비전 VEDA 2기 : 1주차(C) 정리 (1) | 2025.03.22 |