일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- deep learning
- 머신러닝
- LG Aimers 4th
- ChatGPT
- 오블완
- PCA
- 티스토리챌린지
- LG
- gpt
- supervised learning
- 지도학습
- Classification
- LG Aimers
- AI
- regression
- 딥러닝
- LLM
- GPT-4
- Machine Learning
- 분류
- 해커톤
- OpenAI
- 회귀
- Today
- Total
목록Programming Lang (84)
SYDev
예외상황을 처리하지 않았을 때의 결과 C++에서 말하는 예외(exception)는 프로그램의 실행 도중에 발생하는 문제상황을 의미한다. 나이를 입력해야 하는데, 0보다 작은 값을 입력 나눗셈을 위해 정수 두 개를 입력받는데, 제수(나누는 수)로 0이 입력 주민등록번호 13자리를 입력해야 하는데, 중간에 -를 입력해서 14자리 입력 간단한 예외 상황을 살펴보자. #include using namespace std; int main(void) { int num1, num2; coutnum1>>num2; cout
함수 템플릿과 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..
클래스 템플릿의 정의 함수 템플릿과 마찬가지로 클래스도 템플릿화를 통해 별도의 클래스를 정의할 필요가 없어진다. #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
함수 템플릿 함수 템플릿(function template)은 함수를 만드는 도구이며, 하나의 함수로 다양한 자료형의 함수를 호출할 수 있다. template // template 도 가능 T Add(T num1, T num2) { return num1+num2; } 위 함수의 정의가 함수 템플릿의 예시이다. 함수의 기능 : 덧셈 대상 자료형 : 결정되지 않음 이처럼 같은 기능을 하는 함수로 여러 자료형을 받고 반환할 수 있게 해주는 것이 함수 템플릿이다. 아래 예제를 살펴보자. #include using namespace std; template T Add(T num1, T num2) { return num1+num2; } int main(void) { cout
표준 string 클래스의 분석 표준 string 클래스의 분석을 위해서 자체적으로 String 클래스를 정의해보자. 문자열을 인자로 전달받는 생성자 정의 string 객체를 생성할 때 다음 방식을 사용했는데, string str1 = "I like "; 위 코드는 다음과 같이 해석되므로 string str1("I like"); 문자열을 전달받는 적절한 생성자를 정의해야 한다. (선언과 초기화가 분리되지 않았으므로, 대입 연산자가 아닌 생성자 호출) 생성자, 소멸자, 복사 생성자 그리고 대입 연산자의 정의 string 클래스는 문자열을 저장 및 표현하는 클래스인데, 전달받는 문자열의 길이가 일정하지 않다. 때문에, 생성자에서 동적 할당을 진행하고 이에 따라 소멸자에서 메모리 해제를 해야 한다. 이에 따라..