std::chrono::duration<Rep,Period>:: operator=
From cppreference.net
C++
Date and time library
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::chrono::duration
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
duration
&
operator
=
(
const
duration
&
other
)
=
default
;
|
(C++11 이후) | |
한
duration
의 내용을 다른
duration
에 할당합니다.
매개변수
| 기타 | - |
duration
복사 대상
|
예제
이 코드 실행
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; std::chrono::hours z_hours{}; std::chrono::seconds z_seconds{}; z_hours = 2h; // ok, 변환이 필요하지 않음 z_seconds = z_hours; // 먼저, 변환 생성자가 `lhs`의 타입으로 임시 객체를 생성하는 데 사용됩니다. // 이 생성자는 암시적으로 캐스팅 함수 chrono::duration_cast<std::seconds>(z_hours)를 호출합니다. // 결과로 생성된 `rhs` rvalue는 `lhs`와 동일한 타입을 가지며, `operator=`가 최종적으로 할당을 수행합니다. std::cout << "hours: " << z_hours.count() << '\n'; std::cout << "seconds: " << z_seconds.count() << '\n'; z_seconds -= 42s; // z_hours = z_seconds; // 컴파일 타임 오류 (좋은 현상): 호환되지 않는 타입 // 라이브러리는 잠재적인 정밀도 손실을 방지하기 위해 암시적 캐스트를 피합니다. z_hours = std::chrono::duration_cast<std::chrono::hours>(z_seconds); // ok z_hours = std::chrono::duration_cast<decltype(z_hours)>(z_seconds); // 동일 std::cout << "hours: " << z_hours.count() << '\n'; std::cout << "seconds: " << z_seconds.count() << '\n'; std::chrono::duration<double, std::ratio<3600>> z2_hours{}; z2_hours = z_seconds; // ok, 잘림 없음, 암시적 캐스트 std::cout << "hours: " << z2_hours.count() << '\n'; }
출력:
hours: 2 seconds: 7200 hours: 1 seconds: 7158 hours: 1.98833
참고 항목
|
새로운 duration을 생성
(public member function) |