728x90
반응형
//
// main.cpp
// TaskManager
//
// Created by 이강훈 on 2024/05/26.
//
#include <iostream>
#include <chrono>
#include <thread>
#include <vector>
#include <algorithm>
using namespace std::chrono;
int main(int argc, const char * argv[]) {
std::cout << "Hello, World!\n" << std::endl << std::endl;
// std::chrono::seconds five_seconds = std::chrono::seconds(5);
auto five_seconds = 5s;
// auto 키워드 잘 기억해둘것.
auto custom_five_seconds = duration<double, std::ratio<5/1>>(1);
// 실행시키면 5초동안 기다렸다가 프로그램이 종료된다
std::this_thread::sleep_for(five_seconds);
/*
auto day = 24h;
auto my_seconds = seconds(day);
std::cout << my_seconds.count();
*/
auto time_point = system_clock::now();
std::cout << duration_cast<days>(time_point.time_since_epoch()).count() << std::endl;
auto old = steady_clock::now();
std::vector<int> v(1000000);
std::cout << std::count_if(v.begin(), v.end(), [](int i){return i==0;} ) << std::endl;
auto dur = steady_clock::now() - old;
std::cout << duration_cast<microseconds>(dur).count() << std::endl;
return 0;
}
회사에서 공부하는 조직을 만들어서 운영을 하고 있는데, 미니 프로젝트 주제를 각자 하나씩 잡아서 구현을 하는걸 목표로 삼았다.
내가 잡은 목표는, C++로 Task Manager를 만들어서 그날 그날의 업무를 관리할 수 있는 프로그램을 만드는 것이다.
필요한 기능은 다음과 같다.
① 그날 그날의 업무 기록
② 목표로 설정한 타이머
③ 현재 시간
+ 기본적인 기능은 이렇고, 더 추가가 될 수 있는 부분은 천천히 추가하는걸로.
맥북을 사용하지만, C++를 맥북으로 개발해본적이 없어서, 창피하게도 Xcode를 처음으로 사용해보았다.
chrono library 를 사용해서,
auto 키워드를 사용할 경우, 어떻게 되는지 살펴보자.
auto 키워드 : C++ 표준에 기록되어 있는 auto라는 키워드는 원래 의미와 수정된 의미가 정의되어 있다. C++11전에는 auto는 자동 저장소 클래스에 있는 변수, 지역변수를 선언하는 역할을 했었다. 그러나 C++11부터 auto라는 키워드는 선언의 초기화 식에서 형식이 추론되는 변수를 선언하는 역할을 하고 있다. 이러한 차이 때문에 C++버전에 따라 auto라는 키워드는 다르게 동작 할 수 있다.
위에가 endl
아래가 개행문자 ("\n")
개행문자가 더 빠르다?
//
// main.cpp
// TaskManager
//
// Created by 이강훈 on 2024/05/26.
//
#include <iostream>
#include <chrono>
#include <thread>
#include <vector>
#include <algorithm>
using namespace std;
using namespace std::chrono;
int main(int argc, const char * argv[]) {
auto old = steady_clock::now();
for (int i = 0; i < 1'000'000; i++) {
cout << i << " test" << endl;
}
auto test1 = steady_clock::now() - old;
old = steady_clock::now();
for (int i = 0; i < 1'000'000; i++) {
cout << i << " test" << "\n";
}
auto test2 = steady_clock::now() - old;
cout << duration_cast<microseconds>(test1).count() << endl;
cout << duration_cast<microseconds>(test2).count() << endl;
}
728x90
반응형
'C#' 카테고리의 다른 글
C# 을 이용한 UDP 소켓 통신 (0) | 2024.08.12 |
---|---|
[C++] 격주간 공부내용 - 9장.객체지향 설계 원칙, 10장 템플릿 (0) | 2024.06.09 |
[C#] C++과 C#의 차이점은 (2) | 2024.01.02 |
[C#] 어디에 사용할 수 있는지? (0) | 2023.12.24 |