[CPP] 1. CPP의 법 따르기
2022. 1. 24. 23:22
Programming/C++
1. CPP를 언어들의 연합체로 바라보는 안목이 필요하다 CPP의 구성요소 1.C 2.객체 지향 개념의 C++ 3.템플릿 C++ 4.STL 2. #define을 쓰려거든 const, enum, inline을 떠올리자 즉 선행처리자보다 컴파일러를 더 가까이하자 ! #define BREAD_NUMBER 4 라고 정의햇을 경우 컴파일러는 BREAD_NUMBER라는 기호를 모른다( 컴파일러에게 넘어가기전에 선행처리자가 밀어버리고 상수로 바꾸기 때문) 고로 에러메시지에 BREAD_NUMBER보다는, 4로 나오는 상황이다(0이나 1이라면 에러났을때 곤란해,, ) 이 숫자를 찾아들어가기 힘들기 때문에 이렇게 #define으로 선언하는것보다 상수를 쓰는것이 바람직하다. const int BreadNumber=4; 단,..
[CPP] c++ 용어 정리
2022. 1. 24. 22:56
Programming/C++
선언(declaration) 코드에 사용되는 '어떤 대상'의 이름과 타입을 컴파일러에게 알려주는 것 선언문에는 시그니처,즉 그 함수의 매개변수 리스트와 반환타입이 나와있다. 정의(definiton) 선언에서 빠진 구체적인 세부사항을 컴파일러에 제공하는 것 객체의 경우에 있어서 정의는 컴파일러가 그 객체에 대한 메모리를 마련해놓는 부분 초기화(initialization) 어떤 객체에 최초의 값을 부여하는것 기본생성자(default constructor) 어떤 인자도 주어지지 않은 채로 호출될 수 있는 생성자 생성자가 explicit로 선언되어있을 경우 암시적인 변환 타입을 수행하는데 쓰이지 않는다. 예를 들면 다음과 같다. Class B{ public : expllicit B(int x =0, bool b..
[cpp] cpp11 new/delete 연산자
2021. 2. 23. 18:00
Programming/C++
메모리 동적 할당 방법 C언어 : malloc(), calloc() 함수를 이용 Cpp : new 연산자 이용 메모리 동적 해제 방법 C언어 : free() 함수를 이용 Cpp : delete 연산자 이용 new 연산자 사용 예 type *포인터이름 = new type; 예를 들면 ) int* num = new int; malloc()과 new의 차이점 malloc()은 함수 new는 연산자 malloc() 시스템함수로써 함수안에서 메모리 할당 new는 연산자로 바로 메모리를 할당하는 것이 아니라 생성자를 호출해서 메모리 할당 생성자를 통해 호출하므로 new로 메모리 할당하여 생성시 초기화 가능 malloc()은 realloc을 통한 재할당 가능, new는 재할당불가 malloc() 리턴값 void* 때..
OOP 개념
2019. 1. 1. 20:40
Programming/C++
1. OOP란? '객체'지향 프로그래밍, 특징으로는 다음과 같다 1) 캡슐화 Encaptulation 하나의 객체에 변수나 메소드를 담아 내는 것 목적은 '은닉화' 2) 추상화 공통점을 찾아내 공통의 조상을 만드는 작업 구체화 : 상속을통해 구현, 확장하는 작업 추상클래스를 상속받은 클래스는 모든 추상메서드를 구현해야한다, 아니면 자식클래스 또한 추상클래스 지정 ex) interface, abstract 이 중 interface는 일종의 추상클래스로 오직 추상메서드와 상수만 멤버로 가질 수 있다. 인터페이스르 사용하면 다중상속은 가능한데 잘 쓰는기능은아님 3) 상속 상위객체의 데이터를 하위객체가 물려받는다 4) 다형성 같은 물건으로 다른 일을 할 수 있는 의미 오버로딩과 오버라이딩 2.절차지향 proce..