[데브코스 자율주행 TIL] DAY3 (09/20)

happy_quokka·2023년 9월 21일
0

2023.09.20 데브코스 3일차

모르는 부분이 많다보니 학습하는데 시간이 너무 오래걸린다.
밤에 늦게자고 일찍 일어나니 실시간 강의에서 조금 졸았다...화이팅!!
리눅스 기초 강의도 따라하면서 하다보니 시간이 너무 오래걸린다ㅠㅠ
이렇게 시간이 부족해지는구나를 느끼고 시간 관리를 잘해야겠다.

오늘도 c++ 기초, stl, 리눅스 설정 및 commands에 대해 배웠다.
c++은 전체적인 문법을 한번 보는게 좋을 것 같다.


📕 C++

스코프

  • 변수, 함수 이름이 통용되는 범위
  • static 확인하며 사용하기

람다 표현식

auto f = [캡쳐문](파라미터) -> 리턴타입{}
  • 캡쳐 : 외부 변수를 안으로 들여오는 것
    • 참조 캡쳐 [&]
    • 값 캡쳐 [=] : const 취급
    • 값 일괄 캡쳐의 경우 댕글링 포인터 문제가 발생할 수 있으니 주의해야함

📌 STL

컨테이너 어댑터

  • 종류 : queue, priority_queue, stack
  • priority_queue (최대힙)
    • 최소힙으로 하고 싶다면 less를 greater로 변경
    • front(), back() 대신에 top() 메서드 사용
	template <typename _Ty, typename _Container = 	vector<_Ty>, typename _Pr = less<_Ty>>

비트셋 컨테이너

  • 비트별로 on/off 상태 저장
  • 원래 bool은 1byte이지만 비트셋에서 각 비트는 1bit의 크기만 차지

💻 리눅스

  • 강의를 끝까지 듣지 못했다.
  • GUI 사용법 (velog에 작성했다가 다 날아가서 다시 작성했다...)
  • 리눅스 명령어들
  • 직접 실습하고 써보면서 익히는게 중요할 것 같다!!

📚 과제

  • 코드 리뷰를 하는게 도움이 생각보다 많이 되는 것 같다.
  • 메모리 효율성 등을 생각하는 것이 아직은 익숙하지 않다.

어제 과제 리뷰

  • vector capacity 문제가 -> 최대 확장 크기를 안다면 reserve 무조건 사용하기
  • vector에 값을 넣을 때 push로 하나씩 넣지 말고 assign으로 한번에 하는 것이 더 좋음
  • 범위형 for 문 주의사항
    • for(auto &v:vec_num) 이런 식으로 for문에서 v가 벡터, 클래스 등 크기가 크다면 참조자 필수
    • 그렇지 않으면 그때마다 다 할당하기 때문에 메모리에 좋지 않다

더 맵게

  • *보다 비트 연산자가 계산효율성이 더 좋다고 하여 비트연산자 적용
  • 값의 범위를 생각해야한다!!
  • 산술 오버플로우를 조심하자!
  • 음수가 들어가게 되면 오답이 되버리기 때문에 unsigned를 고려하자
  • auto를 사용하는 것이 생활화되면 좋겠다

0개의 댓글