목록All Categories 73
Formoat's Open Blog
1
소프트웨어 버전 관리 툴 - 소스가 변환될 때 끊임 없이 관리하는 것. - 소스를 버전(commit) 별로 관리해 개발시 소스 삭제, 수정 이전 으로 돌아갈 수 있어 유용하다. - 누가 무엇을 어떻게 수정했는지 소스 추적이 가능하다. 1. Git 설치 https://git-scm.com/downloads (해당 사이트에 접속해 운영체제에 맞게 설치) 2. 기본 사용자 설정 $ git config --global user.name "사용자이름" (사용자이름 등록) $ git config --global user.email "사용자이메일" (사용자이메일 등록) $ git config --list (설정 후 확인) 3. 자주 사용하는 기본 명령어 # git init (로컬 저장소 생성) # git clone ..
연산자 오버로딩 기본적으로 제공하고있는 연산자들[산술, 논리, 관계 등]을 재정의해 함수로서 호출하는 것. 원형은 함수지만 연산자를 이용하듯 호출할 수 있다. (함수 호출방식으로도 사용가능) 원형이 함수이기 떄문에 다중 정의(오버로딩)가 가능하다. 1. 기존에 존재하지 않는 연산자를 사용해 정의하는 것을 불가능하다. (예: **, ?!, # 등) 2. 정적 함수로 만들 경우 다중 정의가 불가능하다. #include "stdafx.h" #include using namespace std; class CMyData { public: CMyData(int nParam) : nData(nParam) // 변환 생성자 { cout
이동 생성자
변환 생성자 매개변수가 하나뿐인 생성자를 변환 생성자라고 한다. 묵시적 변환을 통해 임시 객체가 생성될 가능성을 가지고 있다. 묵시적 변환이란 어떠한 함수가 있을 때 이 함수의 매개변수의 자료형이 객체라면 실인수의 값은 그 자료형에 맞는 객체를 대입해야 정상적으로 작동하는 데 변환 생성자의 경우 묵시적 변환을 통해서 그 객체가 아닌 객체가 가지고 있는 멤버의 타입으로도 생성자의 호출이 이루어지는 경우를 말한다. #include "stdafx.h" #include using namespace std; class CMyData { public: CMyData(int x) : nData(x) { cout
복사 생성자 말 그대로 객체의 복사본을 생성할 때 호출되는 생성자이다. 클래스를 정의할 때 복사 생성자를 생략할 경우 기본 생성자와 마찬가지로 눈에 보이지는 않지만, 컴파일러가 알아서 복사 생성자를 만들어 준다. 이 때의 복사 생성자는 얕은 복사 생성자이다. 복사 생성자에 대해 알려면 먼저 깊은 복사와 얕은 복사에 대해 알아야 한다. 1. 깊은 복사 (Deep Copy) 객체의 멤버 중 값 형식, 참조 형식 모두 복사하여 새롭게 생성하는 경우를 깊은 복사라고 할 수 있다. 값 형식은 얕은 복사도 마찬가지로 새롭게 만들지만 깊은 복사와의 차이점은 참조 형식을 새롭게 만든다는 점이다. 2. 얕은 복사 (Shallow Copy) 객체의 멤버를 복사하지만 참조 형식의 멤버의 경우 참조하는 포인터를 새롭게 만들고..
클래스 기존의 C언어에 있는 구조체에 함수를 추가(+접근제어자+상속의 개념)시킨 개념이라고 볼 수 있다. // 클래스 선언 방법 class 클래스이름 { 접근제어자: 멤버변수 선언 멤버함수 선언 및 정의(생성자 포함) } #include "stdafx" #include class Test { protected: char name[32]; //멤버변수 int aga; //멤버변수 public: Test(char* _name, int _age) { //생성자 name = _name; age = _age; } void print() { //멤버함수 cout