std:: is_sufficiently_aligned
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더에 정의됨
<memory>
|
||
|
template
<
std::
size_t
N,
class
T
>
bool is_sufficiently_aligned ( T * ptr ) ; |
(C++26부터) | |
포인터 ptr 이 최소 N 값의 정렬을 가진 객체를 가리키는지 확인합니다.
ptr
가
T
타입의 객체를 가리키지 않는 경우(모든 수준에서 cv-qualification을 무시할 때) 동작은 정의되지 않습니다.
목차 |
반환값
true 만약 ptr 가 최소 N 정렬을 가진 객체를 가리키는 경우; 그렇지 않으면 false .
예외
아무것도 던지지 않습니다.
참고 사항
std::is_sufficiently_aligned
는
std::assume_aligned
의 전제 조건으로 사용될 수 있습니다.
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_is_sufficiently_aligned
|
202411L
|
(C++26) |
std::is_sufficiently_aligned
|
가능한 구현
template<std::size_t N, class T> bool is_sufficiently_aligned(T* ptr) { return std::bit_cast<std::uintptr_t>(ptr) % N == 0; } |
예제
|
이 섹션은 불완전합니다
이유: 예시가 없음 |
참고 항목
alignof
(C++11)
|
타입의 정렬 요구 사항을 조회
(연산자) |
alignas
(C++11)
|
변수의 저장 공간이 특정 크기로 정렬되도록 지정
(지정자) |
|
(C++11부터)
(C++23에서 사용 중단됨)
|
주어진 크기의 타입들을 위한 초기화되지 않은 저장 공간으로 사용하기 적합한 타입을 정의
(클래스 템플릿) |
|
(C++11)
|
버퍼에서 포인터를 정렬
(함수) |
|
(C++26)
|
mdspan
의 요소들에 정렬된 접근을 위한 타입
(클래스 템플릿) |