본문 바로가기

c++ 11, 14 unique_ptr unique_ptr unique_ptrunique_ptr -> 쓸일없을듯 unique_ptr은 날포인터랑 거의 비슷 (커스텀삭제자 사용시 제외)독점적 소유권이다.이동하면 원본에서 대상포인터로 옮겨진다. (원본은 nullptr)복사는 허용하지 않는다. (move-only type)소멸시 자신이 가리키는 자원 파괴 한다.커스텀삭제자 (custom deleter) 사용 가능unique_ptr은 shared_ptr로 변환이 쉽고 효율적. ★사용법1.class widget{public:virtual ~widget(); // custom deleter 사용 하려면 반드시 가상 소멸자로 선언 해야 함.} 2.커스텀 삭제자 선언auto customDel = [](widget* ptr){블라블라~~delete ptr;}.. 더보기
c++ 11, 14 왼값, 오른값 쉽게 판별법일반적으로, 주소를 취할수 있다면 ★왼값★주소를 취할 수 없다면 ★오른값★ class Widget {public:Widget(Widget&& rhs); // rhs 의 형식은 오른값 참조이지만, rhs 자체는 왼값이다.} auto1. 템플릿에 대한 형식 연역을 기반으로 작동 templatevoid f(const ParamType& param);f(expr); // T 표현식으로 f 호출-> ParamType, param 두가지를 각각 연역한다.ParamType -> const ParamType& param -> int delete 키워드 적극 사용 권장.private:widget(const widget&); // not definedwidget& operator=(const wi.. 더보기
TCP 흐름 제어 (Flow control) & 혼잡 제어 (Congestion control) 흐름제어 (flow control)수신기가 송신기에 비해 상대적으로 늦을 때 발생하는 문제를 처리 하기 위해송신기의 속도를 강제로 늦추는 방법 1. 전송률 기반 흐름 제어 (rate-based) 송신기에 할당 된 데이터 전송률을 주고, 데이터가 할당 된 전송률을 초과해 전송되지 못하게 보장 하는 것.(스트리밍에 적절하고, 브로드캐스트나 멀티캐스트 전달에 사용 될 수 있다) 2. 윈도우 기반 흐름 제어 (window-based)슬라이딩 윈도우가 사용 될 때 가장 많이 사용되는 방법이다.시간에 따라 윈도우 크기 변화를 허용 한다. -> 윈도우 광고 (window advertisement) 혹은 윈도우 갱신(window update) 를 한다. (수신기가 송신기에게 얼마나 큰 윈도우를 사용 할 수 있는지를 전.. 더보기
리눅스 명령프롬프트 색상 변경 명령 프롬프트 색상 변경# 전체 계정 설정 편집 vi /etc/bashrc # 현재 계정의 설정 편집 vi ~/.bashrc # 특정 계정의 설정 편집 # (단, 홈디렉토리가 기본설정과 다르게 설정된 경우는 이 위치에 있지 않을 것이다.) vi /home/계정명/.bashrc bashrc 파일의 맨 아래에 다음 내용을 추가하면 셸 프롬프트에 "노란색, 두껍게"가 적용된다.PS1="\[$(tput setaf 3)\]$PS1\[$(tput sgr0)\]" PS1="\[$(tput bold)\]$PS1\[$(tput sgr0)\]" + 전체경로 표시 하고 싶으면 \W 로 되어있는걸 \$W 로 변경하면 된다기본 설정은 \u@\h \W 로 되어 있음.\u -> user name\h -> host\W where 더보기
vim 설정 필수 vi ~/.vimrc set number " line 표시set ai " auto indentset si " smart indentset cindent " c style indentset shiftwidth=4 " shift를 4칸으로 ( >, >>, 더보기