본문으로 바로가기

나만의 연습장

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 방명록
관리자
  • 블로그 이미지
    엄준식사생팬

    엄준식이 좋아요.

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

C++17) if문과 switch문에서의 초기화

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0305r0.html C++ if 문에 대한 새로운 버전입니다.이 if 문은 일반적인 코드 패턴을 단순화하고, 사용자가 범위를 엄격하게 유지하는데 도움을 줍니다. 12345678910 bool func() { ... } // C++17 이전 // C++17 이후 bool checktype = func(); if(bool checktype = func(); checktype == SUCCESS){ if (checktype == SUCCESS) { { } else else .... .... Colored by Color Scriptercs 새로운 형식의 if문은 많은 용도가 있습니다. 현재 이니셜라이저들은 ..

C++/Modern 2019. 2. 23. 15:19

컨테이너 상속에 대한

컨테이너 ( vector, list, std::string .... ) 에 대한 상속은 금지되어 있다. 왜냐면 컨테이너는 가상 소멸자가 아니기 때문, 가상 소멸자로 선언하면 일반적으로 인스턴스를 만들어서 사용하는 컨테이너들은 오버헤드를 가지게 된다. 하지만 컨테이너를 상속받는 방법이 있는데, 소멸자를 새로 정의하지 않으면 된다. 클래스 멤버함수가 가상이 아니라는 것 = 이 클래스에 대해서 다형성을 적용하지 않겠다는 것 1. 추가 resource 를 할당해서, 소멸자가 이 resource 를 해제 해야하는 클래스만 아니라면 괜찮다. 2. built-in type ( int, double, bool .... 기본 자료형들 ) 멤버 변수를 더하는 것은 괜찮다. 3. 소멸자가 호출되지 않아도 괜찮은 ( reso..

C++/Before 2019. 2. 22. 15:13

C++14) 자료형을 통한 튜플 어드레싱 ( Tuple addressing by type )

C++14 에 자료형을 통한 튜플의 객체에 접근할 수 있게 되었습니다. C++14 이전) 1234567std::tuple mytuple("ABC", 5, 10.2f); std::string st = get(mytuple); // ABCint i = get(mytuple); // 5float f = get(mytuple); // 10.2f std::tie(st, i, f) = mytuple; // 또는 이렇게 한번에 cs C++14 추가됨) 12345std::tuple mytuple("ABC", 5, 10.2f); std::string st = get(mytuple); // ABCint i = get(mytuple); // 5float f = get(mytuple); // 10.2fcs 당연히 같은 타입이..

C++/Modern 2019. 2. 22. 03:19

C++14) 자료형이 다른 연관 컨테이너의 조회 ( Heterogeneous lookup in associative containers )

순서가 지정된 연관 컨테이너 ( map, multimap, set, multiset ) 이 자료형이 다른 조회를 지원합니다.다시 말해, find() 및 lower_bound() 같은 멤버 함수의 키 또는 요소와 정확히 같은 형식을 전달할 필요가 없습니다.대신 오버로드된 operator

C++/Modern 2019. 2. 22. 02:35

C++14) 일반화 람다 ( Generic lambda )

C++14 에서 새롭게 수정된 일반화 람다 ( Generic lambda ) 와 초기화 캡쳐 ( init capture ) 에 대해 작성합니다. C++11 람다식 : https://openmynotepad.tistory.com/23 C++14 에서 람다에 대한 타입 추론과 리턴 타입 추론이 새롭게 추가 되었습니다.인자에 auto 키워드를 사용할 수 있으며 decltype 을 사용할 수 있습니다. 123456789101112std::vector vnt{ 1,2,3,4,5,6,7,8,9,10 };int result = 0; std::for_each(vnt.begin(), vnt.end(), [&result](auto i) { result += i;}); //i = int auto Add = [](auto i..

C++/Modern 2019. 2. 20. 16:53

STL) 분할, 정렬, 힙에 대한 추가 연산들 (stable_*, is_*, is_*_until)

안정적 연산인 stable_* 함수 ( stable_sort, stable_partition ) 현재 이 컨테이너가 정렬, 분할, 힙( 또는 주어진 술어에 대해 ) 적인지 판단하는 연산인 is_* 함수 ( is_sort, is_heap, is_partition ) 현재 이 컨테이너가 정렬, 분할, 힙( 또는 주어진 술어에 대해 ) 적인지 그렇지 않다면 어디까지 해당하는지에 대해 반복자를 반환해주는 is_*_until 함수( is_sorted_until, is_heap_until, is_partitioned_until ) 에 대해 작성합니다. 모든 연산은 vector를 기준으로하며, 사용법이 다 똑같아 간단한 sort에 대해서만 작성합니다. 모든 stable_* 연산은 일반 * 연산보다 비용이 비쌉니다. ..

C++/STL 2019. 2. 20. 15:04

STL) 순열(permutation)과 관련된 함수들 (std::next_permutation, std::prev_permutation, std::rotate, std::shuffle)

이번엔 permutations 에 관련된 함수들에 대해 작성합니다. (std::next_permutation, std::prev_permutation) 사전 순에 따라 다음의 큰 순열로 대체할 수 있도록 범위를 재정렬 합니다. 이때 술어를 넘길 수 있는데, 술어는 이진 술어여야 합니다.또한 배열이 정렬돼있어야 합니다. next_permutation은 first와 last 를 받아 사전순으로 재정렬 시킵니다. 만약 func 가 있다면 func를 활용합니다.만약 교체가 성공했다면 true를, 더 이상 교체할 값이 없다면 ( 이전 순열이 다음 순열보다 사전순으로 작을때 ) false 를 리턴합니다.next_permutation 은 양방향 반복자를 받습니다.next_permutation 은 오름차순으로 정렬 된..

C++/STL 2019. 2. 20. 02:27

STL) 파티션에 대한 함수들 ( std::partition, std::stable_partition, std::partition_point )

이번엔 파티션에 대한 함수들을 다루어보겠습니다. std::partition은 한 기준으로 컨테이너를 좌 또는 우로 나눕니다.정렬은 되지 않습니다.기준점이 되는 iterator을 생성하여, 그 iteartor의 좌측은 술어가 참인 값들, 우측은 술어가 거짓인 값들이 모이게 됩니다.std::partition은 양방향 반복자를 지원합니다. 123456789101112vector vnt = { 1,2,3,4,5,6,7,8,9,10 };vector::iterator A = partition(vnt.begin(), vnt.end(), [](int i) { return (i % 2 == 0);});//10 2 8 4 6 5 7 3 9 1 기준은 '5'// 만약 기준대로 출력해보고 싶다면?for (auto i = vn..

C++/STL 2019. 2. 19. 03:21
  • 이전
  • 1
  • ···
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • ···
  • 17
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (129)
    • 알고리즘 (13)
      • 정렬 (1)
      • 동적계획법 (9)
      • 완전탐색 (2)
    • C++ (63)
      • Modern (40)
      • Before (2)
      • STL (11)
      • 여담 (8)
      • WinApi (1)
    • Graphics (17)
      • 이론 (8)
      • DirectX (3)
      • Vulkan (6)
    • Computer Science (0)
    • UnrealEngine (32)
      • 기능 (13)
      • Impl (14)
      • Issue (1)
      • Editor (4)
    • Unity3D (4)
      • 기능 (4)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • stl
  • unity3D
  • UnrealEngine5
  • vulkan
  • 언리얼엔진5
  • UnrealEditor
  • c++
  • c++20
  • Firebase
  • UnrealEngineIssue
  • Before
  • 여담
  • Modern
  • UnrealEngine
  • 언리얼엔진4
MORE+

ARCHIVE

CALENDAR

«   2025/08   »
일 월 화 수 목 금 토
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

LINK

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 나만의 연습장, ALL RIGHT RESERVED.
나만의 연습장
블로그 이미지 엄준식사생팬 님의 블로그
MENU
  • 홈
  • 태그
  • 방명록
CATEGORY
  • 분류 전체보기 (129)
    • 알고리즘 (13)
      • 정렬 (1)
      • 동적계획법 (9)
      • 완전탐색 (2)
    • C++ (63)
      • Modern (40)
      • Before (2)
      • STL (11)
      • 여담 (8)
      • WinApi (1)
    • Graphics (17)
      • 이론 (8)
      • DirectX (3)
      • Vulkan (6)
    • Computer Science (0)
    • UnrealEngine (32)
      • 기능 (13)
      • Impl (14)
      • Issue (1)
      • Editor (4)
    • Unity3D (4)
      • 기능 (4)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바