일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- pre-trained
- CPP
- C++
- recommender system
- Vision
- 신경망
- 로지스틱 회귀
- CNN
- 그래픽스
- 백준
- 머신러닝
- 비용함수
- SVM
- Regularization
- 컴퓨터 비전
- SGD
- 딥러닝
- Computer Vision
- neural network
- petal to metal
- 추천 시스템
- Unsupervised learning
- logistic regression
- OpenGL
- 인공지능
- 컴퓨터 그래픽스
- 파이썬
- cs231n
- Support Vector Machine
- Kaggle
- Today
- Total
목록Computer Programming/c++ programming (5)
kwan's note
메모리 기본 작동과정 int i = 7; 위와같은 변수 i는 스택에 저장되고 아래와 같은 변수 ptr가 가르키는 값은 힙에 저장된다. 스택에 할당된 변수는 scope를 벗어나면 자동으로 해제가 되는 반면 힙에 저장된 변수는 해제시켜주어야 한다. int* ptr = new int; 물론 이때 ptr은 스택에 저장된다. 포인터 역시 변수의 일종이기 때문이다. malloc free -> new delete c에선 malloc 을 통해 메모리를 할당하였다. 여전히 c++에서도 malloc을 사용할 수 있음에도 거의 동일한 작업을 하는 new 가 생긴 이유에 대해서 궁금할 수 있을텐데 가장 큰 차이는 사용성에 있다고 볼 수 있다. malloc은 힙영영에 메모리를 따로 빼놓을뿐 어떠한 객체에 이용되는지 알 지 못한..
map은 stl 컨테이너로 키와 value를 저장하는 class이다. template class map; 간단한 선언예시는 다음과 같고 std::map account; account라는 map에 string,int의 pair를 삽입한다. insert,erase으로 삽입,삭제를 진행하고 find를 통해 원하는 key에 대한 value를 찾을 수 있다. C++에서 map은 이진탐색트리를 기본으로 한 트리로 구현되었는데 여기서 문제(?)가 발생한..
본 강의는 udemy pocu 강의를 듣고 작성하였습니다. https://www.udemy.com/course/cpp-unmanaged-programming-by-pocu/ c++ STL 에서 가장 많이쓰이는 컨테이너중 하나로 다양한 데이터를 저장할 수 있는 클래스 입니다. vector는 다양한 데이터를 담을 수 있고 용량을 조절해 주기 때문에 기존 array 처럼 처음 선언한 크기보다 증가해도 사용할 수 있고 list와 다르게 연속된 공간에 위치하기 때문에 index로 접근할때도 빠르게 접근할 수 있습니다. 위와 같은 특성을 가지기 위해서는 size 뿐 아니라 capacity가 필요합니다. size는 실제 데이터가 들어가있는 공간의 크기이고 capacity는 해당 vector에 할당된 용량입니다. 만약..
본 강의는 udemy pocu c++ 수업을 보고 작성하였습니다. Static : 범위의 제한을 받는 전역변수 이다. 이때 범위는 파일/네임스페이스/클래스/함수 가 된다. C스타일 static 변수 즉 파일내에서 사용하는 전역변수는 어떠한 파일에서 static 변수로 선언을 하면 다른 파일에서 extern 키워드를 사용하더라도 이 static 변수에 접근할 수 없다. 함수 속에서 사용하는 전역변수는 최초 선언할때를 제외하고는 초기화를 하지 않고 또 함수 외부에서는 접근하지 않는다. void add(int num) { static int result =0; result +=num; std::cout
정적 링킹과 동적 링킹 코드를 컴파일 한 오브젝트 파일이 미리 만들어놓은 혹은 외부에서 구현한 함수등이 존재하는 라이브러리에 접근하기 위해서는 링킹을 진행해야 합니다. 즉, 외부 라이브러리를 참조하는 실행파일을 만들기 위해서는 다른 프로그램또는 라이브러리를 가져오는 과정인 링킹이 필요합니다. 이러한 링킹에는 두종류가 있는데 하나는 정적 라이브러리를 통해 진행되는 static linking이고 다른 하나는 동적 라이브러리를 통해 진행되는 dynamic linking입니다. 정적 링킹 정적 라이브러리와 링크하는것을 정적링킹이라고 합니다. 만든 오브젝트 파일에서 정적라이브러리의 함수를 오브젝트 파일에 추가하여 실행파일을 만들게 됩니다. 실행파일에 정적라이브러리를 넣기 때문에 실행파일의 크기가 커지고 메모리를 ..