반응형
#include <iostream>
class A {
private:
public:
int a = 5;
};
std::ostream& operator<<(A tmp,std::ostream& os) {
os << tmp.a;
return os;
}
int operator+(int tmp, A a) {
return a.a + tmp;
}
int main() {
A tmp; tmp << std::cout;
return 0;
}
전역 연산자 오버로딩은 ostream같이 c++표준이라서 구현할 수 없을 때 사용하는 것으로 위와 같이
std::ostream& operator<<(std::ostream& os, A tmp)꼴로 사용한다.
그럼 std::cout << tmp에서 첫번쨰 std::cout이 std::ostream& os와 연결되고 tmp가 A tmp에 연결된다.
그럼 거꾸로 std::ostream& operator<<(A tmp, std::ostream& os)로 구현하면 tmp << std::cout;처럼 거꾸로 받아야 한다.
#include <wchar.h>
int main ()
{
wchar_t sentence [] = L"Michael is 10 years old";
wchar_t str [20];
char str1[20];
int i;
swscanf(sentence, L"%ls %*ls %d", str, &i);
wprintf (L"%ls -> %d\n",str,i);
return 0;
}
wchar.h에서 사용되는 swscanf = string wide scanf는 sentence에 wide char타입의 내용을 format에 맞춰서 뒤의 arguments들한테 할당한다. %*는 값을 저장하지 않겠다는 의미이다.
#include <iostream>
#include <chrono>
int main() {
tm timeInfo = {};
timeInfo.tm_year = 2025 - 1900; // 연도 (1900 기준)
timeInfo.tm_mon = 0; // 월 (0=January)
timeInfo.tm_mday = 29; // 일
timeInfo.tm_hour = 15; // 시
timeInfo.tm_min = 45; // 분
timeInfo.tm_sec = 30; // 초
// tm 구조체를 time_t로 변환
time_t result = mktime(&timeInfo);
std::cout << "Time in seconds since epoch: " << result << '\n';
return 0;
}
tm은 시간 정보를 담는 구조체로 ctime이나 chrono hpp파일에 구현되어있다.
tm 구조체를 time_t로 변환해주는 mktime은 tm 구조체의 값을보고 posix 시간 즉 1970년 1월 1일 00:00:00을 기준으로 초단위로 증가하는 값이다.
반응형