목록공부 (25)
dev_eun
[Chapter 5] 연산자 다중 정의 용어 연산자 함수 : 연산자 다중 정의 : 연산자 함수 연산자를 이용하듯 호출할 수 있는 메소드 클래스에서 다중 정의를 하게 되면 기본 자료형처럼 연산을 할 수 있음 형변환 연산자 operator 변환할자료형() 덧셈 연산자 클래스이름 operator+(const 클래스이름& param) 클래스 형식을 리턴하므로 이동 생성자 호출 void를 반환하게 되면 연속으로 연산 불가능 다중 정의 가능 -> 클래스이름 operator+(다른자료형 param) 대입 연산자 단순 대입 연산자 클래스이름& operator=(const 클래스이름& param){ // 자신에 자신을 대입할 경우 대비 if(this == ¶m) return; // 깊은 복사 수행 delete m..
[Chapter 4] 복사 생성자와 임시 객체 용어 복사 생성자 : 깊은 복사 : 얕은 복사 : 임시 객체 : 이동 시맨틱 : 복사 생성자 객체의 복사본을 생성할 때 호출되는 생성자 디폴트 복사 생성자 : 복사 생성자를 생략하면 디폴트 생성자처럼 컴파일러가 '알아서' 만들어 줌 클래스 내부에서 멤버 변수에 포인터 변수를 동적 할당 및 해제할 경우 조심해야 함 복사 생성자가 호출되는 경우 명시적으로 객체의 복사본을 생성하는 방식으로 선언 함수 형태로 호출 : 매개변수로 사용 함수 형태로 호출 : 반환 타입으로 사용 // 매개변수가 상수형 참조 클래스이름(const 클래스이름 &rhs); 복사 생성자 차단 방법 명시적으로 복사 생성자 삭제 ... Class(const Class& rhs) = ..
[Chapter 3] 클래스 용어 인터페이스 함수 : 함수가 내부적으로 어떻게 상호작용하는지 사용자가 알지 않아도 되는 함수 생성자 : 객체가 생성될 때 자동으로 호출되는 함수 소멸자 : 객체가 소멸될 때 자동으로 호출되는 함수 객체 지향 프로그래밍 개요 사용자의 편의성을 극대화 해야 한다 사용자의 실수를 제작자가 차단해야 한다 ==> 제작자와 사용자 관점을 분리해서 생각 사용자 관점에서? 함수가 구조체의 멤버로 들어간 것 클래스 기본 문법 class 클래스이름{ 접근제어지시자: 멤버변수선언; 멤버함수선언및정의; } 멤버 변수 초기화 생성자 인스턴스가 생성될 때 자동으로 호출된다. class myClass { myClass(){ // 생성자 함수 myData = 10; // 멤버 변수 초기화 } ... ..
[Chapter 2] C++ 함수와 네임스페이스 용어 overloading : 다중 정의, 함수 이름은 같지만 매개변수의 구성이 달라 함수가 구분되는 것 inline : 함수 호출이 아닌 함수의 코드 자체가 들어가게 해주는 예약어 namespace : c++이 지원하는 각종 요소들(변수, 함수, 클래스)을 한 범주로 묶어주기 위한 문법 using : namespace를 생략할 수 있도록 사용하는 예약어 디폴트 매개변수 매개변수의 디폴트 값을 선언한 함수는 호출자 코드에서 실인수를 생략한 채 호출할 수 있다. 다만 함수의 정의가 아니라 선언 부분에 디폴트 값을 기술해야 한다. 모호성이 발생한다. int TestFunc(int p = 10); // 컴파일 에러 int TestFunc(int = 10); in..
[Chapter 1] C와 C++의 다른 점 용어 std : 하나의 namespace, 개념상 '소속' cout : std 네임스페이스에 속한 콘솔 출력을 담당하는 객체(인스턴스) :: : 범위 지정 연산자
TODO 원격 저장소에서 contributor 초대 - 협업자가 저장소 가져오기 clone 협업자가 pull을 하지 않은 상태에서 다른 협업자가 수정을 한 파일을 수정하고 push를 할 경우 pull을 하고 push를 하라는 error가 발생한다. pull을 하게 되면 내가 수정한 내용과 pull된 내용의 diff가 나타난다 => mergetool를 사용하여 수정하면 됨 그 후 add, commit 실행 FETCH 원격저장소의 내용만 가져오기 깃의 내용을 좀 더 신중하게 다룰 경우 git fetch// 원격 저장소의 내용만 가져옴 git merge origin/master// 원격 저장소와 병합 // or git merge FETCH_HEAD => git remote 와 같은 역할
백업 툴 1. GitHub 2. GitLab PUSH - 원격저장소와 연결하기 git remote add origin (연동하려고 하는 저장소) - push 하기(원격저장소에 올리기) git push --set-upstream origin master CLONE - 원격 저장소에서 지역 저장소로 복사하기 git clone (원격저장소 위치) PULL - 원격 저장소에서 가져오기(변경된 내용 업데이트) git pull (원격저장소 위치)
- brach 생성 git branch// brach list git branch (생성할 branch 이름) - branch 이동 git checkout (branck 이름) Merge base : merge 하려고 하는 branch가 최초로 나눠진 commit(마지막 공통의 조상) merge commit : 합쳐진 후의 버전 - branch 병합하기 git checkout master// 병합할 때는 master이어야 함 git merge (병합할 branch 이름) 이름이 같은 파일일 경우 알아서 다른 부분을 병합해준다. - conflict 이름이 같은 파일에서 같은 부분을 수정하였을 경우 협업하면서 일어날 수 있음 => git이 충돌이 일어났다고 알려줌 some branch 충돌이 일어나면 사용자..