목록C++/따배C++ 19강 모던 C++ 기능들 (8)
일상 코딩
#include #include #include // std::min // Reference : http://thbecker.net/articles/auto_and_decltype/section_01.html using namespace std; class Examples { public: void ex1() { std::vector vect; for (std::vector::iterator itr = vect.begin(); itr != vect.end(); ++itr) cout m_x) m_x_type; // add references to L-values // with const typedef decltype((x)) x_with_parens_type; typedef decltype((cx)) cx..
#include #include #include // std::forward using namespace std; struct MyStruct {}; void func(MyStruct &s) { cout
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; mutex mtx; void dotProductNaive(const vector &v0, const vector &v1, const unsigned &&i_start, const unsigned &&i_end, unsigned long long &sum) { for (unsigned i = i_start; i < i_end; ++i) sum += v0[i] * v1[i]; } void dotProductLock(const vector &v0, const vector &v1, c..
#include #include #include using namespace std; int main() { // multi-threading { // 스코프를 넓게 잡고, 변수를 여러 쓰레드들이 공유하는 형태가 // 일반적임. int result; std::thread t([&] {result = 1 + 2;}); // thread를 기다리고 있음. t.join(); cout
#include #include #include #include #include #include #include using namespace std; mutex mtx; int main() { // atomic shared memory // atomic shm(0); // mutex condition int shm(0); // lambda function auto count_func = [&](){ for (int i = 0; i < 1000; ++i) { // 어떤 계산이 복잡한 코드가 들어있는 것을 가정한 코드 this_thread::sleep_for(chrono::milliseconds(1)); // mtx.lock(); // std::lock_guard lock(mtx); // lock(), un..
#include #include #include #include #include #include using namespace std; // mutual exclusion (상호 배제) 서로 못 건드림. mutex mtx; int main() { // 코어 개수 확인 cout
#include #include #include using namespace std; tuple my_func() { return tuple(123,456); } auto my_func2() { return tuple(123,456,789,10); } int main(int argc, char const *argv[]) { // tuple result = my_func(); // cout