-
__restrict공부/C++ 2023. 7. 14. 13:01
C의 restrict 과 비슷하지만, C, C++에서 사용가능하다
void sum2(int n, int * __restrict a, int * __restrict b, int * c, int * d) { }
위 코드에서 __restrict으로 선언된 a, b는 같은 주소가 아님을 의미한다.
포인터를 역참조하여 연산을 수행 시에는 2개 이상의 포인터들이 같은 메모리 공간을 가리키는지 확인해야한다.
이를 확인하고 사용함으로써 데이터의 무결성을 확인한다.
__restrict으로 선언하게 되면 해당 과정을 생략함으로써, 메모리 접근에 대한 성능향상을 얻을 수 있다.
하지만 코드의 안전성을 보장하기위해 MISRA C++ 등에서는 'restrict' 키워드를 사용을 금하기도 한다.
https://bigpel66.oopy.io/library/c/etc/1
'공부 > C++' 카테고리의 다른 글
temp (0) 2023.10.25 [C++] 콘솔창 키입력 메뉴이동 ConsoleHandle (0) 2023.07.19 [C++] 클래스 생성 (0) 2022.07.13 [C++] 동적 할당/new, delete (0) 2022.07.07 [C++] cout 조정자(Manipulator) (0) 2022.07.06