<개인공부> 275

[C언어/C++] pow, sqrt 함수에 대해서(루트함수, 제곱, 제곱근)

안녕하세요. BlockDMask 입니다 오늘은 (저는) 자주 쓰지는 않지만 꼭 알아둬야하는 함수를 두개 묶어서 가지고왔습니다. 바로 pow, sqrt 함수인데요. 중학교때 제곱과 제곱근(루트) 배우셨죠? 그걸이제 C언어, C++에서 사용해 볼겁니다! 그럼 시작해보겠습니다.1. C/C++ pow 함수 원형과 사용법- 헤더파일 : C언어 / C++ - C언어에서의 함수 원형 : double pow(double base, double n) - C++11에서의 함수 원형 1. double pow(double base, double n) 2. float pow(float base, float n) 3. long double pow(long double base, long double n) (C++에서는 함수 오버..

[C++] new, delete 동적할당과 해제에 대해서

안녕하세요 BlockDMask 입니다.오늘은 C++의 동적할당 new, delete에 대해서 알아보겠습니다. 1. C++ 동적할당 new, delete란? (간단 설명) 2. C++ 동적할당 new, delete 추가설명 3. C++ new, delete 예제 4. C++ 동적할당 결론 1. new와 delete란? (간단 설명) C언어 에서의 동적할당 malloc과 free와 동일한 역할을 하는 new와 delete입니다.간단하게 말해서 메모리를 힙에 동적할당을 할라면 new사용하고 메모리 해제 하려면 delete 사용하면됩니다. C언어 동적할당을 간단하게 보면 아래와 같은 방식으로 동작하는 것을 알 수 있습니다. 123456789101112131415161718struct Position{ int a..

[C언어] 동적할당 정리2 (malloc, free 예제)

1. 동적할당 malloc, free 에 대해서2017/07/10 - [/[C언어 & C++ 언어]] - [C 언어] 동적할당 정리1 (malloc, realloc, calloc, free 함수)2017/07/07 - [/[Operating System]] - [운영체제] 프로세스란? (스케줄링, 메모리구조, 상태변화)동적할당이라는 것은 프로그램 실행중에 동적으로 메모리를 할당하는 것을 말합니다.여기서! 중요한것은 동적으로 메모리를 할당할때 Heap(힙)영역에 할당을 한다는 것 입니다.메모리 영역에 대해서 궁금하시다면 위에 [운영체제] 프로세스랑? 부분에 정리를 해놓았습니다.함수 원형은 void* malloc(size_t size) 입니다.해당 함수를 사용하기 위해서는 헤더파일을 include 해야합니다..

[C언어/C++] assert 함수에 대해서 : 디버깅을위한, 더 안전한 코드를 위한 오류 검출 방법

1. C/C++ assert함수란? - 간단하게 말하자면 assert 함수는 디버깅 모드에서 개발자가 오류가 생기면 치명적일 것이라는 곳에 심어 놓는 에러 검출용 코드입니다.- 예를들어서 int score 가 음수가 나오면 절대 안되는 상황이라고 가정을 하면, 보통 우리는 아래와 같이 코드를 작 성 할 수 있습니다.12345678910111213 int GetScore(){ //어딘가에 정의 되어있는 score라고 하면 if(score = 0); cout

[C++] 가상함수와 순수가상함수의 차이(virtual, pure virtual)에 대해서

안녕하세요. BlockDMask 입니다. 오늘은 C++의 아주 중요한 가상함수, 순수가상함수에 대해서 알아보겠습니다. 우선, 기본적으로 가상함수(virtual)와 순수가상함수(pure virtual)에 대한 기본적인 지식이 조금 있는 분 이셔야 이 내용을 읽기 적절할 듯 싶습니다. 1. 일반(단순)가상함수, 순수가상함수에 대한 기본적인 개념 - 순수가상함수와 가상함수를 아시는 분이라면 문장하나로 이해할 수 있을거라 생각합니다. - 순수 가상 함수는 인터페이스(Interface)를 자식 클래스에게 전달하기 위해 사용하는 함수입니다. - 일반(단순) 가상 함수는 인터페이스(Interface) + 함수의 선언(내부 구현) 까지 자식 클래스에게 전달하기 위해 사용하는 함수입니다. 풀어서 말하면, 순수가상함수는 ..

[python] 파이썬 설치하기, 아나콘다 설치하기, cmd창에서 python 실행하기

안녕하세요. BlockDMask 입니다.요즘 딥러닝에 관심이 생겨서 공부를 하고 있는데요,그렇게 쉽고 간단하다는 파이썬을 이용해서 실습을 하면서 하고 있습니다. 오늘은 파이썬(python)이라는 언어를 사용할때 편리한 기능을 제공해주는 "아나콘다(ANACONDA)" 배포판을 설치하는 방법과cmd 창에서 python을 실행하는 방법 에 대해서 알아보도록 하겠습니다. (맥북에 파이썬을 설치하는 방법은 바로 여기 있습니다. [바로가기]) 1) 다운로드 및 설치 ▼[URL]https://www.anaconda.com/download/ 위 주소로 가게되면 이렇게 Python3, Python2 중에 어떤걸 다운받을래?32bit 받을래 64비트 받을래?이런 선택권을 주는 페이지가 나오게 됩니다. 파이썬3으로 만든 프..

[C++] dynamic_cast (타입캐스트 연산자)

안녕하세요. BlockDMask 입니다. 이번에는 C++의 네가지 타입캐스트 연산자 (static_cast, const_cast, reinterpret_cast, dynamic_cast) 중에서 마지막 dynamic_cast에 대해서 알아보겠습니다. 1. dynamic_cast에 대해서 dynamic_cast는 safe downcasting(안전한 다운캐스팅)에 사용이 됩니다. (물론 upcasting에도 쓰입니다) 조금 쉽게 말씀 드리자면, 부모 클래스의 포인터에서 자식 클래스의 포인터로 다운 캐스팅 해주는 연산자 입니다. (부모클래스의 포인터가 실제 무엇을 가리키고 있는지가 중요합니다) 하지만, 런타임 시간에 실제로 해당 타입이 다운 캐스팅이 가능한지 검사하기 때문에, 런타임 비용이 조금 높은 캐스트..

[Dev-C++ 설치하기] 프로그래밍 IDE

안녕하세요. BlockDMask 입니다.오늘은 우리가 C, C++ 언어로 프로그램을 개발할때 유용한 IDE를 소개하려고 합니다.툴을 설명하기 전에 IDE에 뜻에 대해서 한번 알아볼까요?IDE란 Integrated Development Environment의 줄임말이며, 한국말로는 통합 개발 환경이라 말합니다.프로그래밍 개발에 필요한 것들을 하나로 모아서, 우리는 IDE 툴을 이용해서 int main~~~~ 이렇게 쓰기만 하면 알아서 컴파일러 찾아서 컴파일 해주고 프로그램도 실행시켜 주는 그런 유용한 툴 이라는 것 입니다.이런 IDE의 종류가 매우매우 많은데. 제가 아는 IDE 중 가장 간편하고 가벼운(=설치하는데 오래안걸리는) Dev-C++ 이라는 IDE에 대해 소개하겠습니다.[설치 방법] 1) 일단 구..

[C++] reinterpret_cast (타입캐스트 연산자)

안녕하세요 BlockDMask 입니다.이번에는 C++ 의 네가지 타입 캐스트 연산자 중에 (static_cast, const_cast, reinterpret_cast, dynamic_cast) reinterpret_cast 에 대해 알아보겠습니다.>reinterpret_cast 에 관한 기본 특성reinterpret_cast(expression)reinterpret_cast(대상) reinterpret_cast는 임의의 포인터 타입끼리 변환을 허용하는 캐스트 연산자 입니다. 또한 정수형을 포인터로 바꿀 수도 있습니다. (이때 정수값이 포인터의 절대 주소로 들어가게 됩니다. -> 위험)expression에 해당하는 것을 new_type으로 비트단위로 바꾸는 것 입니다. 다른 형태의 포인터로 변경이 가능하기..

[C++] const_cast (타입 캐스트 연산자)

안녕하세요. BlockDMask 입니다.오늘은 C++ 의 네가지 타입 캐스트 연산자 중에 (static_cast, const_cast, reinterpret_cast, dynamic_cast) const_cast 에 대해 알아보겠습니다.> const_cast 에 관한 기본 특성const_cast(expression)const_cast(대상) const_cast는 포인터(pointer) 또는 참조형(reference)의 상수성(const)를 잠깐 제거해주는데 사용합니다. const_cast는 volatile 키워드를 잠깐 제거해 주는 데에도 사용이 가능합니다. 다른 캐스트 연산자가 하는 형 변환은 불가능 하며 오직 상수성(const)를 제거하는 것만 사용가능 합니다. 또한 다른 캐스트 연산자는 const_..