Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 42서울
- 42seoul
- c++
- SFINAE
- 도커
- 정렬
- mistel키보드
- 프라이빗클라우드
- 스플릿키보드
- enable_if
- 동료학습
- Cloud Spanner
- psql extension
- raycasting
- 부동소수점
- schema first
- 엣지컴퓨팅
- 창업
- 자료구조
- uuid-ossp
- adminbro
- 텍스트북
- 이노베이션아카데미
- 어셈블리
- 파이썬
- 레이캐스팅
- 쿠버네티스
- 어셈블리어
- 스타트업
- GraphQL
Archives
- Today
- Total
목록SFINAE (1)
written by yechoi
[C++] SFINAE 와 enable_if의 사용법
SFINAE란 Substition Failure Is Not An Error의 약자이다. 템플릿 인자 추론에서, C++ 컴파일러는 적합한 오버로딩 함수를 찾는다. 그 과정에서 함수 템플릿을 인스턴스화할 때, 인자나 결과가 유효하지 않다면 '컴파일 에러'를 뱉는 대신에 오버로드 결과물에서 해당 인스턴스화한 것을 지운다. 무슨 의미인지는 코드 예시를 보며 확인해본다. long multiply(int i, int j) { return i * j; } template typename T::multiplication_result multiply(T t1, T t2) { return t1 * t2; } int main(void) { multiply(4,5); } 위 코드에서 단순 multiply 함수가 있고, 템플..
Born 2 Code/C, C++
2021. 8. 24. 17:17