일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LLM
- AI
- 회귀
- LG Aimers
- Classification
- PCA
- 딥러닝
- OpenAI
- 머신러닝
- regression
- deep learning
- Machine Learning
- 분류
- GPT-4
- 오블완
- supervised learning
- LG Aimers 4th
- 티스토리챌린지
- gpt
- ChatGPT
- LG
- 지도학습
- 해커톤
- Today
- Total
목록Programming Lang (65)
SYDev
C++에서의 파일 분할 지난 글에서는 클래스를 선언, 정의하고 접근제어 지시자를 설정하는 법에 대해서 배웠다. 그렇다면 우리는 이 클래스의 선언과 정의(멤버함수의 정의)를 한 파일에 담지 않고 분할해서 배치할 필요가 있다. #include #include using namespace std; namespace CAR_CONST { enum { ID_LEN = 20, MAX_SPD = 200, FUEL_STEP = 2, ACC_STEP = 10, BRK_STEP = 10 }; } class Car { private: char gamerID[CAR_CONST::ID_LEN]; int fuelGauge; int curSpeed; public: void InitMembers(char * ID, int fuel)..
클래스(Class) vs. 구조체(Struct) Chapter 03-1에서 설명한 구조체는 클래스의 일종이다. 또한 구조체를 작성해놓은 코드에서 키워드 struct만 class로 바꿔버리면 구조체가 클래스로 바뀌어버린다. 그렇다면 이외에 클래스와 구조체는 무슨 차이점이 있을까? 접근제어 지시자(접근제어 레이블) 클래스와 구조체의 유일한 차이점은 변수 및 함수의 접근 허용범위 설정의 유무이다. 클래스는 구조체와 달리 정의하는 과정에서 클래스 내부의 변수 및 함수의 접근 허용범위를 별도로 선언해야 한다. 그리고 이런 클래스의 접근제어 지시자에는 총 3가지가 있다. public // 어디서든 접근 허용 protected // 상속관계에 놓여있을 때, 유도 클래스에서의 접근 허용 private // 클래스 내부..
C++에서의 구조체 변수 선언 구조체는 연관 있는 데이터를 묶을 수 있는 문법적 장치이다. 이런 구조체가 어떤 상황에 필요할까? 우리는 하나의 객체에 대하여 여러가지 변수를 선언해야할 때가 있다. 예를 들어서 하나의 자동차가 있다면 이에 대해서 소유주, 연료량, 현재속도 등의 정보가 필요하다. 이런 객체의 정보를 그룹화되지 않은 독립변수로 선언한다면 새로운 객체가 등장할 때마다 똑같은 정보를 매번 새로 만들어야 하는 불편함이 생긴다. 이런 불편함을 덜기 위해서 c++에서는 하나 이상의 변수를 묶어서 새로운 자료형을 정의하는 구조체(struct)를 이용할 수 있다. 구조체는 다음과 같이 정의할 수 있다. struct Car { char gamerID[ID_LEN]; //소유자ID int fuelGauge;..
C++에서 C언어의 표준함수 호출 C언어의 라이브러리에 있는 함수들을 이용하기 위해서는 .h를 생략하고 앞에 c를 붙이면 된다. #include -> #include #include -> #include #include -> #include #include -> #include 이와 관련된 다음 예제를 살펴보자. #include #include #include using namespace std; int main(void) { char str1[] ="Result"; char str2[30]; strcpy(str2,str1); printf("%s: %f \n", str1, sin(0.14)); printf("%s: %f \n", str2, abs(-1.25)); return 0; } Result: 0.1..
동적 메모리 할당 & 정적 메모리 할당 동적 메모리 할당 : 동적 메모리 할당은 컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 할당하는 것이다. 정적 메모리 할당 : 정적 메모리 할당은 메모리 할당 방법 중 하나로, 프로그램이 실행될 때 이미 메모리의 크기가 결정된다. 정적 메모리 할당의 예시는 다음과 같다. char examples[10]; 위처럼 코드를 입력하면 char 자료형 10개가 나란히 선언되고, examples 배열에는 10개의 자료형만 들어갈 수 있다. 동적 메모리 할당을 하는 이유? 정적 메모리 할당을 하면 기억공간이 낭비될 경우가 생긴다. 예를 들어서 위에서 선언한 examples에는 10글자를 넣을 수 있는데 이에 미치지 못하는 글자수를 가진 문자형을 넣는다면 그만큼 메모..
참조자를 이용한 Call-by-reference의 단점 참조자는 함수 정의에 활용했을 때 포인터보다 더 이용하기 쉽다는 장점을 가지고 있다. 그러나 단점 또한 가지고 있는데 이와 관련해 다음 코드를 살펴보자. int num = 20; MyFunc(num); cout
함수에서의 참조자 참조자는 다음과 같이 함수에서 매개변수로 선언될 수 있다. void MyFunc(int &ref1, int &ref2) { . . . } 지난 게시물 C++ Chapter 02-3 : 참조자(Reference)에 따르면 참조자는 선언과 동시에 초기화돼야 한다는 것을 기억할 것이다. 그렇다면 위 구조는 어떻게 가능한 것일까? 매개변수는 함수가 호출되는 동시에 초기화가 진행되는 변수들이다. 즉, 함수에 인자를 입력하면 해당 변수의 참조자로서 ref1, ref2가 선언과 동시에 초기화되는 것이다. 그렇다면 이렇게 선언된 참조자는 함수에서 어떻게 사용될까? 이를 알기 위해서는 call-by-value와 call-by-reference를 먼저 이해해야 한다. Call-by-value & Call..
참조자(Reference) 참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 새로운 이름이다. 참조자의 선언 방법은 다음과 같다. int num1 = 20; // num1이 초기화되지 않은 상태로 참조자를 선언할 시에 compile error 발생 int &num2=num1 //num2가 새로 선언된 변수일 시에 num2가 참조자로 선언된다. 그렇다면 다음 예제를 살펴보자. #include using namespace std; int main(void) { int num1 =1024; int &num2 = num1; num2 = 2048; cout