일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- placement new
- return by reference
- base from member
- 더 지니어스 양면포커
- std::vector
- vector size
- new&delete
- virtual destructor
- constructor
- virtual function table
- virtual inheritance
- operator overloading
- increment operator
- std::endl
- vector capacity
- this call
- pointer to member data
- c++ basic practice
- suffix return type
- dynamic_cast
- c++ multi chatting room
- conversion constructor
- C++
- discord bot
- member function pointer
- delete function
- std::ostream
- std::cout
- virtual function
- diamond inheritance
- Today
- Total
목록전체 글 (99)
I'm FanJae.
※ 본 포스트는 코드누리 C++ Basic 강의 내용을 보고 정리한 포스트입니다. 1. 생성자가 필요한 이유#include #include class Person{public: std::string name; int age;};int main(){ Person p = {"kim",25};}- struct와 class는 사용 방법이 유사하여, 위와 같이 사용은 가능하다.- 하지만 지난 시간 OOP 포스트에서 다뤘듯, 멤버 데이터를 외부에서 접근 시키는 행위는 다소 위험하다. ① 단계 1. 멤버 데이터를 private으로 수정한다.class Peson{private: std::string name; int age;};- 따라서, 보통 멤버 데이터는 private으로 설정한다. 문제는 이..

※ 본 포스트는 코드누리 C++ Basic 강의 내용을 보고 정리한 포스트입니다. 1. OOP(Object Oriented Programming)에 대한 필요성 이 개념은 C++에서 가장 중요한 개념인 '객체 지향 프로그래밍'에 대한 이야기를 해보고자 한다.OOP의 기본적인 개념과, 접근 지정자(private,public), 캡슐화(Encapsulation) 에 대해서도 얘기하고자 한다. 먼저, 사각형을 그리고(draw), 넓이를 구하는 함수에 대해 생각해보자.#include int getRectArea(int x1, int y1, int x2, int y2){ return (x2-x1) * (y2-y1);} void drawRect(int x1, int y1, int x2, int y2){ ..

※ 본 포스트는 코드누리 C++ Basic 강의 내용을 보고 정리한 포스트입니다. 1. C언어 캐스팅의 문제점 - Explicit Casting기본적으로, C언어의 캐스팅 방법과 C++ 언어의 캐스팅 방식에는 약간의 차이가 존재한다.int* p1 = (int *) malloc(sizeof(int)*10);int* p2 = static_cast(malloc(sizeof(int)*10));- C++ 언어로 넘어오면서 아래 방법을 더 권장하기 시작했다. C 방식 캐스팅의 문제점#include #include int main(){ int* p1 = (int *)malloc(sizeof(int)*10); free(p1); int n = 10; double* p2 = &n; *p2..
1. nullptr- '0'은 원래 정수(int)형 literal(리터럴)이다.- 이는 포인터 변수 초기화에 사용될 수 있다.- 0이 아닌 다른 정수형 literal은 포인터로 암시적 변환이 될 수 없다.- 0을 가진 정수형 변수도 포인터로 암시적 형변환이 될 수 없다. int n1 = 0;int* p1 = 0;int* p2 = n1; // error nullptr // C++11- null pointer를 나타내는 literal- 모든 종류(타입)의 포인터 변수를 초기화 하는데 사용 가능- 정수(실수) 초기화에 사용될 수는 없다.int* p4 = nullptr;int n2 = nullptr; // error 1-1. nullptr의 등장배경- 컴파일러마다 조금 차이는 있지만, 일반적으로 C와 C++..

※ 본 포스트는 코드누리 C++ Basic 강의 내용을 보고 정리한 포스트입니다. 1. Reference(참조) 1-1. Reference의 정의#include int main(){ int n = 10; int* p = &n; int& r = n; r = 20; std::cout - C 언어에서는 변수의 주소값을 담을 수 있는 Pointer라는 것이 있다.- C++에서는 포인터와 유사한 형태의 Reference라는 기능이 존재한다. (유사한 것이 결코 같은게 아니다.)- 포인터 변수를 선언하는 것처럼 다음과 같이 선언이 가능하다.int &r = n; - Reference란, 이미 존재하는 변수(메모리)에 대한 추가적인 별칭을 부여하는 문법이다.- 기존 포..