반응형
std::labs()의 용도는 무엇입니까?
에 대해 읽었습니다.std::abs()
cpp reference를 참조할 때 기능합니다.
그 페이지에서 나는 또한 본 적이 있다std::labs()
기능.그 시제품은 그 시제품 중 하나와 같죠.std::abs()
과부하long
).
long abs( long n );
long labs( long n );
그리고.
long long abs( long long n );
long long llabs( long long n );
그렇게,
- 정확히 뭐?
std::labs()
그렇습니까? - 언제 어디에 사용합니까?
std::labs()
? - 와의 차이는 무엇입니까?
std::abs()
그리고.std::labs()
?
C++11은,std::labs
그리고.std::llabs
가 추가되었습니다.이것은 C++ 표준 라이브러리와 C99 표준 라이브러리의 부분 동기화의 일부입니다.
C++ 코드로는 필요 없습니다.왜냐하면,long
과부하std::abs
아주 오래 전부터요그러나 만약 당신이 약간의 C 코드를 가지고 있다면(그것은 순전히 우연에 의해서도 C++ 컴파일러와 컴파일 된다), 그리고 그것은labs
C++11 컴파일러와 표준 라이브러리를 사용하여 구축할 수 있습니다.
돌이켜보면, 이러한 기능에 약간 유용한 사용 사례가 하나 있습니다.그리고 그때가 바로 그 시도로std::abs
애매해요.예:
template<typename T>
T run_func(T (&f)(T)) {
return f({});
}
그럼 전화하는 중run_func(std::abs);
형식이 잘못되었습니다.템플릿 인수를 명시적으로 지정하거나 캐스트해야 합니다.std::abs
적절한 타입으로.반면에run_func(std::labs);
애매하지도 않고 너무 장황하지도 않아요.
그래도 별로 유용하진 않군
언급URL : https://stackoverflow.com/questions/46441123/what-exactly-is-stdlabs-there-for
반응형
'programing' 카테고리의 다른 글
wait()와 sleep()의 차이 (0) | 2022.08.07 |
---|---|
스레드에서 예외를 포착하는 방법 (0) | 2022.08.03 |
Java 어레이를 Itable로 변환 (0) | 2022.08.03 |
IntelliJ IDEA에서 응용 프로그램 실행 프로파일의 클래스 경로에 디렉토리를 추가하는 방법 (0) | 2022.08.03 |
createElement 렌더 기능을 사용하여 javascript에서 vue.sync를 쓰는 방법 (0) | 2022.08.03 |