일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- increment operator
- 더 지니어스 양면포커
- std::endl
- std::ostream
- conversion constructor
- pointer to member data
- this call
- base from member
- virtual inheritance
- c++ multi chatting room
- vector capacity
- dynamic_cast
- suffix return type
- member function pointer
- vector size
- new&delete
- delete function
- diamond inheritance
- placement new
- return by reference
- std::cout
- virtual function table
- virtual destructor
- operator overloading
- std::vector
- constructor
- discord bot
- C++
- virtual function
- c++ basic practice
- Today
- Total
목록2024/08/28 (2)
I'm FanJae.
1. Algorithm#include #include #include int main(){ std::list s = {1,2,3,4,5}; std::vector v = {1,2,3,4,5}; // 각 컨테이너에서 3을 검색하고 싶다고 할때 어떻게 할까}- 컨테이너에 검색기능을 추가한다고 가정해보자 ① 멤버 함수 find를 제공s.find(3);v.find(3);(1) 장점- 사용하기 쉽다 (2) 단점- 이 방법은 사용하기는 쉽지만, 동일한 기능을 하는 모든 컨테이너에 넣어야 한다.- 또한, 새로운 함수(기능)을 추가혀려면 모든 컨테이너에 추가해야 한다. ② 멤버 함수가 아닌 일반 함수(템플릿) 형태로 find를 제공std::find(s.begin(), s.end(), 3);std::f..
1.반복자(iterator)#include #include int main(){ int x[5] = {1,2,3,4,5}; int* p1 = x; ++p1; std::cout - 배열은 연속된 메모리이다.- 1번째 요소의 주소를 담은 포인터 변수만 있으면, ++, * 연산으로 모든 요소에 접근할 수 있다.- 반면 일반적인 list는 연속된 메모리가 아니므로 ++연산등을 통한 요소 접근은 불가능하다.- 그러나, std::list는 연속된 메모리가 아니지만, 반복자(iterator)만 있으면 ++, * 연산으로 모든 요소에 접근이 가능하다.- p2 자체가 포인터는 아니다.- 내부적으로 포인터 멤버 데이터가 있고, operator++, operator* 연산자를 재정의해 포인터처럼..