O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

C++17 Dynamic memory allocation for over-aligned data

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 5 Anúncio

Mais Conteúdo rRelacionado

Mais de 진화 손 (20)

Mais recentes (20)

Anúncio

C++17 Dynamic memory allocation for over-aligned data

  1. 1. Dynamic memory allocation for over-aligned data https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0035r4.html
  2. 2. 제목 번역 C++ 11 에 alignas 키워드가 추가 됨 이 alignas로 설정한 크기가 __STDCPP_DEFAULT_NEW_ALIGNMENT__ 를 넘는 클래스를 동적할당 할 경우 프로그래머가 기대한 대로 동작하지 않는 문제가 있었다고 함 __STDCPP_DEFAULT_NEW_ALIGNMENT__ : 컴퓨터마다 다르니 확인 필요 회사 컴은 8. 집 컴은 16
  3. 3. std::align_val_t new, delete 오버로딩 함수를 추가하기 위한 키워드 선언 https://en.cppreference.com/w/cpp/memory/new/align_val_t
  4. 4. 새로운 new, delete 추가 알아서 오버로딩 되기 때문에 코드 사용법이 변경되지는 않는다 align 사이즈가 __STDCPP_DEFAULT_NEW_ ALIGNMENT__ 를 넘으면 operator new(sizeof(T), std::align_val_t(alignof(T))) 이렇게 변환이 되어서 오버로딩되는 거 같음... https://en.cppreference.com/w/cpp/language/new https://en.cppreference.com/w/cpp/memory/new/operato r_new
  5. 5. Visual Studio VS 2017 에서 부터 사용가능 옛날 버전에는 /Zc:alignedNew 키워드를 사용해야 해당 기능을 사용할 수 있었으나 최신 버전에서는 기본으로 포함되어 있음 https://learn.microsoft.com/ko-kr/cpp/build/reference/zc-alignednew?view=msvc-170

×