일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- return by reference
- base from member
- vector capacity
- new&delete
- virtual destructor
- std::endl
- c++ basic practice
- std::vector
- conversion constructor
- discord bot
- std::cout
- vector size
- C++
- virtual inheritance
- 더 지니어스 양면포커
- virtual function table
- this call
- placement new
- pointer to member data
- dynamic_cast
- std::ostream
- member function pointer
- increment operator
- delete function
- constructor
- operator overloading
- c++ multi chatting room
- virtual function
- diamond inheritance
- suffix return type
- Today
- Total
목록전체 글 (99)
I'm FanJae.
1. Strategy Pattern의 정의다양한 알고리즘이 존재 하면 이들 각각을 하나의 "클래스로 캡슐화하여 알고리즘의 대체가 가능"하도록 한다. Strategy 패턴을 이용하면 클라이언트와 독립적인 다양한 알고리즘으로 변형할 수 있다. 알고리즘을 바꾸더라도 클라이언트는 아무런 변경을 할 필요가 없다. 1-1. 예제를 통한 Strategy Pattern의 필요성 이해#include #include #include class Edit{ std::string data;public: std::string get_text() { std::cin >> data; return data; }};int main(){ Edit edit; while (1) {..
1. this call 1-1. 멤버 함수의 의문점.class Point{ int x{0}; int y{0};public: void set(int a, int b) { x = a; y = b; }};int main(){ Point pt1; Point pt2; pt1.set(10, 20); pt2.set(10, 20);}- 멤버 데이터는 객체당 한 개씩 생성된다.- 멤버 함수는 코드 메모리에 한 개만 만들어져 있다. - 객체가 여러 개 생성되어도 멤버 함수는 한 개만 있다.※ 함수 인자는 2개 (a, b) 밖에 없는데, x가 어떤 객체의 멤버 인지(pt1.x인지 pt2.x 인지) 어떻게 아는가? 1-2. 어떤 변환이 일어나는가?clas..
1. 컴퓨터 구조의 접근 방법 1-1. 컴퓨터를 디자인 하자- 여기서 디자인할 요소는 CPU를 의미한다.- 실제로 존재하는 컴퓨터를 디자인 하는게 아닌 가상의 컴퓨터를 디자인 한다고 생각해보자.- 일반적으로 컴퓨터(CPU) 디자인은 레지스터와 명령어에 대한 디자인이다.- CPU를 디자인 하기 위해서는 H/W Logic 전문가, Algorithm 전문가, Interface 전문가, 컴퓨터 구조의 특성을 고려할 수 있는 프로그램 전문가 등이 참여한다. 명령어 : 프로그래밍 언어로 프로그래밍한 것을 컴파일 했을때 번역되어 나오는 명령어들의 집합명령어의 구성에 따라서 레지스터 셋이 결정되서 레지스터 셋이 나와야 H/W 구성이 나올 수 있다. 1-2. 레지스터 디자인의 핵심① 레지스터를 몇 비트로 구성할 것인가?..
※ 초기 결제 정보를 설정하는 부분은 임의 생략하였다.※ 구글 클라우드 플랫폼 관련 키워드를 검색하면 어렵지 않게 찾을 수 있다. 1. 호스팅이란?- 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 해주는 서비스를 의미한다. 1-1. GCP(Google Cloud Platform)- 구글에서 제공하는 클라우드 컴퓨팅 플랫폼이다.- 자체적으로 여러 가지 컴퓨팅 환경을 제공하고 있지만, 현재 내가 사용하는 디스코드 봇은 사용자가 많지 않다.- 호스팅을 하지 않는다면, 서버를 위해서 매번 전원을 켜둬야한다. - 따라서, GCP가 제공하는 무료 등급을 사용해서 디스코드 봇을 올려두고 사용하려고 한다. 1-2. 무료 티어 확인 1-3. 새 VM 인스턴스 생성- 다음과 같이 설정한다.- 부팅 디스크는 Wi..
1. Trivial 1-1. Special Member Function- 사용자가 제공하지 않으면 컴파일러가 제공하는 멤버 함수가 존재한다.① 디폴트 생성자(Default Constructor)② 소멸자(Destructor)③ 복사 생성자(Copy Constructor)④ 복사 대입연산자(Copy Assignment)⑤ 이동 생성자(Move Constructor)⑥ 이동 대입연산자(Move Assignment) ※ 보통 이러한 멤버 함수들을 Trivial 하다고 한다.2. Trivial Default Constructor※ 예제가 아주 많아서 check 함수는 한번만 보이고, 이후 부터는 임의 생략한다.① The constructor is not user-provided② T has no virtual ..