| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- predictive analysis
- OOP
- pointer
- Object Oriented Programming
- programming
- Class
- string
- function
- 알고리즘
- 티스토리챌린지
- array
- Pre-processing
- 배열
- const
- raw data
- 반복문
- baekjoon
- Deep Learning
- 문자열
- 함수
- Data Science
- 백준
- pass by reference
- Python
- 오블완
- C++
- vscode
- 파이썬
- assignment operator
- 포인터
- Today
- Total
목록2023/12 (45)
Channi Studies
C++ Class 의 Copy Constructor에는 default copy constructor이 사용하는 Shallow Copying과 Deep Copying이 있습니다. 일반적으로는 얕은 복사, shallow copying을 사용해도 괜찮지만, 얕은 복사가 문제를 야기할 때가 있습니다. 이번 포스트에서는 각각 방법을 정리해보겠습니다. Shallow Copying - 얕은 복사 Shallow copy는 컴파일러가 기본적으로 생성해주는 default copy constructor가 행하는 방법이기도 합니다. Shallow copying은 복사 대상의 객체의 모든 속성을 지닌 새로운 객체를 생성합니다. 여기서 주의해야 할 점은 포인터가 객체에서 사용될 때 입니다. 복사의 과정에서 포인터는 복사되지만, ..
클래스를 선언할 때, 내부에서 public: 키워드를 작성하지 않으면 컴파일 에러가 뜨는 경험이 있을 겁니다. 이것은 클래스에서 매우 중요한 접근 제한자(Access Modifier) 라는 개념에 해당합니다. C++ 접근 제한자에는 기본적으로 3가지의 접근 제한자가 존재합니다. 각각 public, private, protcted 입니다. public 접근 제한자는 코드 내의 모든 곳에서 접근이 가능합니다. private 접근 제한자는 다른 클래스 멤버들이나 friend들에게만 접근이 가능합니다. protected 접근 제한자는 상속(inheritance)와 함께 사용되는 접근 제한자입니다. syntax는 다음과 같습니다. class Class_Name{ public: // private: // prote..
객체는 꽤나 큰 메모리를 요구하기 때문에, Pass by value 방법 혹은 return 값으로 특정 객체를 활용하는 함수나 메소드는 큰 용량을 낭비하게 됩니다. 이럴 때, pass by reference 방법을 사용하면 이를 방지할 수 있습니다. // main.cpp #include "Practice.h" #include using namespace std; int main() { Player ricky("Ricky", 100, 0); Player super_enemy = create_super_enemy(); Player ricky2 = another_hero(ricky); return 0; } // Practice.cpp #include "Practice.h" #include #include us..