| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 파이썬
- 러스트
- 원격 데스크탑
- 알고리즘
- numpy
- MySQL
- in
- heap
- Python
- 연관 함수
- Sort
- pandas
- Set
- Rust
- Split
- react
- HashMap
- array
- Algorithm
- MySQL 서버 구축
- 소유권
- list
- join
- generic
- 메소드
- MongoDB
- stack
- 구조체
- matplotlib
- 환경설정
- Today
- Total
목록Programming Language/C++ (24)
미생
using 키워드1. 상속 멤버의 접근 지정자 변경 가능(protected -> public 으로 변경할 때만 사용 가능)#include using namespace std;class character {public: character() : hp(100), power(100) {};protected: int hp; int power;};//character 클래스를 상속 받은 player 클래스class player : public character {public: player() {};};//기본 Monster 클래스class monster {public: monster() {};protected: void get_damage(int _damage) {}; void attack(playe..
폴드 표현식1. C++17 부터 도입된 폴드 표현식(fold expression)은 개수가 정해지지 않은 매개변수를 하나로 묶는 매개변수 팩을 반복해서 계산해 준다. 2. 사용법 (매개변수_팩_이름 연산자 ...)예시) (show_doll(doll_list) + ...)매개변수 팩을 이용한 예시#include using namespace std;// 매개변수 팩을 이용한 가변 인자 템플릿 – 말단 함수용template// 매개변수 팩의 마지막 인자를 연산 하기 위한 함수void find_doll(doll doll_name) { cout // find_dell 함수 오버로딩void find_doll(doll doll_name, dolls... doll_list) { cout 폴드 표현식 예시#inclu..
람다 표현식1. 함수형 언어나 파이썬과 같은 인터프리터를 사용하는 언어에서 사용되던 클로저(Closure)가 네이티브 프로그래밍 언어에 도입되면서 람다 함수, 람다 표현식이 되었다. 2. 즉시 호출 형태로 사용하면 코드의 위치가 곧 호출 위치이므로 로직을 한눈에 파악할 수 있으며, 인라인(inline) 함수로 만들어 성능을 최적화하는 데도 도움이 된다. 3. 외부 변수 캡처 방법 [=] : 선언부 범위의 모든 변수 읽기 전용으로 사용 [&] : 선언부 범위의 모든 변수 참조 형식으로 사용되어 읽기와 쓰기 가능[변수 1] : 변수1을 읽기 전용으로 사용4. 람다 표현식을 함수 객체로 사용하 때는 호출부를 작성하지 않는다. 또한 다른 함수나 객체에 매개변수로 전달할 경우 가급적 외부 변수를 캡처하지 않는 것..
범위 기반 for 문1. 데이터 집합을 정확하고 안전하게 순회할 수 있다. 2. 순회할 수 있는 데이터 형식이 제한된다. 즉 컴파일러가 반복 횟수를 명확히 알 수 있는 데이터 형식만 사용할 수 있다.따라서 포인터로 동적 할당한 메모리나 매개변수로 전달받은 배열은 사용할 수 없고, 반복자가 없는 stack, queue도 사용할 수 없다.#include #include using namespace std;int main(void) { array numbers { 7, 8, 2, 5, 3, 9, 0, 4, 1, 6 }; // for 구문 활용 배열 출력 for (int i = 0; i
L-Value1. 메모리에 "이름" 이 있고, 그 위치가 계속 존재하는 값. 즉, 주소를 가질 수 있고, 대입문의 왼쪽에 올 수 있는 값int x = 10; // x는 L-ValueR-Value1. 이름이 없고, 일시적으로만 존재하는 값. 즉, 임시 값 또는 대입문의 오른쪽에만 올 수 있는 값10 // R-value (임시 리터럴)x + 5 // R-value (계산 결과)func() // R-value (함수가 반환하는 임시 값)2. R-Value Reference 는 C++ 11에서 추가된 내용으로 이름 없는 임시 객체(R-value)를 가리킬 수 있는 참조. 즉, 기존에는 절대 참조할 수 없었던 “임시 값”을 잡아서 사용할 수 있게 해주는 기능. 3. 임시 객체(R-value)를 참조..
튜플1. 다른 종류의 데이터 형식을 한 집합으로 묶을 수 있다. 2. 튜플 객체의 원솟값을 조회할 수 있다(형식 : get(튜플 객체 이름)) 3. tie 함수로 구조적 바인딩이 가능하며, 변수로 변환을 원치않을 경우 std::ignore를 사용하면 된다. 예시) tie(monster_type, std::ignore, hp, power) = get_monster_status(monster_a_inst); 3. 튜플과 구조체의 차이튜플은 인덱스를 기반으로 원소에 접근하지만, 구조체는 명시적인 이름으로 접근한다.튜플은 비교 연산자(=)를 기본으로 제공하지만, 구조체는 사용자가 오버로딩해야 한다.튜플은 swap 함수로 두 객체의 원솟값을 교환할 수 있지만, 구조체는 원소별로 일일이 교환 해야한다.튜플은 범위 ..
