목록2023/01 (7)
치춘짱베리굿나이스
Allocator 클래스 컨테이너를 하기 위해 필수로 알아야 하는 클래스이다 앞의 반복자 파트에서는 전혀 쓸 일이 없었지만 벡터나 스택 같은 컨테이너들은 기본적으로 메모리 할당을 하고 그 안에 요소들을 저장해야 하며, 내부 메서드에서 메모리 일부 할당 및 해제가 잦기 때문에 Allocator의 사용법을 반드시 익혀야 한다 뭐 하는 녀석인지 C/C++에서는 메모리 관리를 위해서 malloc, calloc, free … 와 new, delete를 사용했었다 특정 변수를 위한 메모리를 할당하고자 한다면 이 함수들이 편리하지만, 직접 컨테이너를 구현할 때 (ft_containers 처럼) 는 이야기가 달라진다 컨테이너 내부에서는 특정 메서드를 호출할 때마다 일정 영역만 메모리를 해제하거나 재할당하는 등 다양하고..
먼저 읽어보고 오세요 [Rank 5] ft_containers - std::iterator_traits [Rank 5] ft_containers - std::iterator_traits std::iterator_traits namespace ft { template struct iterator_traits { // template로 가져온 클래스에서의 :: 값은 typename으로 가져와야 한다 typedef typename Iter::difference_type difference_type; typedef typename Iter::value_type value_t blog.chichoon.com iterator_category 에서 양방향 반복자와 임의접근 반복자가 무엇인지 간단하게나마 알고 오면 조..
explicit 서론 ft_containers의 오랜 친구 cplusplus.com 과 cppreference.com 을 보다 보면? 생성자 등등에 explicit 이라는 키워드를 자주 볼 수 있다 나는 C++ 이 주 언어가 아니라서 이게 어디다 쓰는 키워드인지 전혀 몰랐는데!! 과제를 하겠다고 무작정 따라 칠 수만은 없는 노릇이다 따라서 잊어버리기 전에 적어두려고 한다 (매우 짧음 주의) 뭐하는 친구인가 explicit은 ‘명백한, 분명한’ 이라는 의미의 영단어이다 무엇을 분명하게 만들어 주는 키워드라는 것을 짐작할 수 있다 C++ 에서의 묵시적 형변환 [Rank 4] CPP 06 CPP Module 06에서 공부했던 묵시적 형변환에 관해서 잠깐 보고 가자 그렇다고 한다 요약하자면 묵시적 형변환이란? ..
std::iterator_traits namespace ft { template struct iterator_traits { // template로 가져온 클래스에서의 :: 값은 typename으로 가져와야 한다 typedef typename Iter::difference_type difference_type; typedef typename Iter::value_type value_type; typedef typename Iter::pointer pointer; typedef typename Iter::reference reference; typedef typename Iter::iterator_category iterator_category; // iterator의 특성 };뭐하는 친구인가요 반복자 특..
만들어야 하는 명령어 이건 우리 팀 (특징: 최대한 쪼끄맣게 만듦) 이 만들면서 아 이건 추가해야겠다 느낀 거고 팀마다 다를 수 있음 서버 실행 ./ircserv 포트번호를 입력하면 해당 포트에 서버가 열려야 한다 (localhost:포트번호) 비밀번호는 클라이언트 측에서 연결 시도할 때 입력할 수 있어야 한다 서버 실행 시에 입력한 번호와 클라이언트 연결 시에 입력한 번호 (PASS 참고) 가 다를 경우 접속 불가 포트번호와 비밀번호는 서버 실행 시에 인자로 받아서 인스턴스에 저장 최초 접속 시 인증 PASS PASS 서버의 비밀번호를 전송한다 PASS 명령은 반드시 맨 처음에 들어와야 하며, 비밀번호가 맞지 않으면 (검증에 실패하면) 이후의 명령들은 모두 무시된다 NICK, USER보다도 먼저 들어와..