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 | 31 |
Tags
- GraphQL
- 쿠버네티스
- 42서울
- 레이캐스팅
- 창업
- mistel키보드
- Cloud Spanner
- 스타트업
- 부동소수점
- schema first
- c++
- 도커
- 파이썬
- psql extension
- SFINAE
- 프라이빗클라우드
- adminbro
- raycasting
- 어셈블리어
- 텍스트북
- 어셈블리
- enable_if
- 동료학습
- 정렬
- uuid-ossp
- 42seoul
- 스플릿키보드
- 이노베이션아카데미
- 자료구조
- 엣지컴퓨팅
Archives
- Today
- Total
목록enable_if (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