일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LG
- LG Aimers
- 지도학습
- 분류
- 티스토리챌린지
- gpt
- LLM
- OpenAI
- 머신러닝
- deep learning
- PCA
- regression
- 회귀
- GPT-4
- Classification
- AI
- 딥러닝
- LG Aimers 4th
- supervised learning
- 오블완
- 해커톤
- ChatGPT
- Machine Learning
- Today
- Total
목록분류 전체보기 (334)
SYDev
try, catch, throw의 이해 예외처리 메커니즘과 관련한 키워드는 다음 세 가지이다. try catch throw try 블록 try 블록은 예외발생에 대한 검사의 범위를 지정 try { //예외발생 예상지역 } catch 블록 catch 블록은 try 블록에서 발생한 예외를 처리하는 코드가 담기는 영역 catch(처리할 예외의 종류 명시) { //예외처리 코드의 삽입 } try 블록과 catch 블록 catch 블록은 try 블록의 뒤에 이어서 등장, try와 catch는 하나의 문장이기 때문에 반드시 이어서 등장해야 한다. 중간에 다른 문장이 삽입되면 compile error! try { //예외발생 예상지역 } cout
예외상황을 처리하지 않았을 때의 결과 C++에서 말하는 예외(exception)는 프로그램의 실행 도중에 발생하는 문제상황을 의미한다. 나이를 입력해야 하는데, 0보다 작은 값을 입력 나눗셈을 위해 정수 두 개를 입력받는데, 제수(나누는 수)로 0이 입력 주민등록번호 13자리를 입력해야 하는데, 중간에 -를 입력해서 14자리 입력 간단한 예외 상황을 살펴보자. #include using namespace std; int main(void) { int num1, num2; coutnum1>>num2; cout
학습 목표 CPU가 하나의 명령어를 처리하는 흐름인 명령어 사이클과 그 흐름을 방해하는 인터럽트에 대해 학습 명령어 사이클 명령어 사이클(instruction cycle): 하나의 명령어를 처리하는 정형화된 흐름, 프로그램 속 각각의 명령어들은 명령어 사이클이 반복되며 실행된다. 인출 사이클(fetch cycle): 메모리에 저장된 명령어를 CPU로 가져오는 단계 실행 사이클(execution cycle): CPU로 가져온 명령어를 실행하는 단계, 제어장치가 명령어 레지스터에 담긴 값을 해석하고, 제어 신호를 발생시키는 단계 간접 사이클(indirect cycle): 명령어의 주소를 CPU로 가져왔을 때, 해당 명령어 주소에 저장된 명령어를 인출하기 위해 메모리에 다시 접근하는 단계 인터럽트 인터럽트(i..
함수 템플릿과 static 지역변수static 지역변수는 템플릿 함수 별로 각각 존재한다. 다음 예제를 통해서 이러한 사실을 확인해보자.#include using namespace std;template void ShowStaticValue(void){ static T num=0; num+=1; cout(); ShowStaticValue(); ShowStaticValue(); cout(); ShowStaticValue(); ShowStaticValue(); cout(); ShowStaticValue(); ShowStaticValue(); cout1 2 3 1 2 3 1 2 3 클래스 템플릿과 static 멤버변수함수 템플릿의 경우와 유사하게..
템플릿 매개변수에서 변수의 선언 템플릿을 정의할 때 결정되지 않은 자료형을 의미하는 용도로 사용되는 T 또는 T1, T2와 같은 문자를 가키려 '템플릿 매개변수'라 한다. 템플릿 매개변수에 전달되는 자료형 정보를 가리켜 '템플릿 인자'라 한다. 이를 이용한 예제를 살펴보자. #include using namespace std; template class SimpleArray { private: T arr[len]; public: T& operator[] (int idx) { return arr[idx]; } SimpleArray& operator=(const SimpleArray& ref) { for(int i=0; i
클래스 템플릿 특수화 함수 템플릿을 특수화 하듯이 클래스 템플릿도 특수화를 할 수 있다. 클래스 템플릿을 특수화하는 이유는 특정 자료형을 기반으로 생성된 객체에 대해, 구분이 되는 다른 행동양식을 적용하기 위해서이다. 관련하여 예제를 살펴보자. #include #include using namespace std; template class Point { private: T xpos, ypos; public: Point(T x=0, T y=0) : xpos(x), ypos(y) { } void ShowPosition() const { cout
Point 클래스 템플릿과 배열 클래스 템플릿 Point 템플릿 클래스의 객체를 저장하는 객체는 다음 방법으로 생성할 수 있다. BoundCheckArray iarr(50);//int형 데이터 저장 BoundCheckArray oarr(50);//Point 템플릿 클래스의 객체 저장 BoundCheckArray oparr(50);//Point형 포인터 저장 typedef Point* POINT_PTR; BoundCheckArray oparr(50);//Point형 포인터 저장 그렇다면 이를 이용해 지난 chapter 13의 예제를 확장해보자. 파일명 : PointTemplate.h #ifndef __POINT_TEMPLATE_H_ #define __POINT_TEMPLATE_H_ template clas..
넘파이로 데이터 준비 넘파이를 이용해서 이전보다 간편하게 데이터를 준비할 수 있다. np.column_stack() 및 훈련 데이터 준비 import numpy as np np.column_stack(([1,2,3], [4,5,6])) array([[1, 4], [2, 5], [3, 6]]) -> np.column_stack() 함수는 전달받은 리스트를 일렬로 세운 다음 차례대로 나란히 연결한다. 연결할 리스트는 파이썬 튜플(tuple)로 전달한다. 더보기 튜플은 리스트처럼 원소에 순서가 있지만 수정할 수 없다는 차이점이 있다. fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, ..