08 2019 档案

摘要:C++11中大部分的容器对于添加元素除了传统的 insert 或者 pusb_back/push_front 之外都提供一个新的函数叫做 emplace。 比如如果你想要向 std::vector 的末尾添加一个数据,你可以: std::vector<int> nums;nums.push_back 阅读全文
posted @ 2019-08-22 20:06 PKICA 阅读(5577) 评论(0) 推荐(1) 编辑
摘要:/** @file packaged_task.cpp * @note * @brief * @author * @date 2019-8-15 * @note * @history * @warning */ // packaged_task example #include <iostream> // std::cout #include <future> // std::packaged_t 阅读全文
posted @ 2019-08-15 21:10 PKICA 阅读(310) 评论(0) 推荐(1) 编辑
摘要:future和promise的作用是在不同线程之间传递数据。使用指针也可以完成数据的传递,但是指针非常危险,因为互斥量不能阻止指针的访问;而且指针的方式传递的数据是固定的,如果更改数据类型,那么还需要更改有关的接口,比较麻烦;promise支持泛型的操作,更加方便编程处理。 假设线程1需要线程2的数 阅读全文
posted @ 2019-08-15 21:09 PKICA 阅读(13340) 评论(1) 推荐(9) 编辑
摘要:std::ref只是尝试模拟引用传递,并不能真正变成引用,在非模板情况下,std::ref根本没法实现引用传递,只有模板自动推导类型时,ref能用包装类型reference_wrapper来代替原本会被识别的值类型,而reference_wrapper能隐式转换为被引用的值的引用类型。 std::r 阅读全文
posted @ 2019-08-08 20:38 PKICA 阅读(4343) 评论(0) 推荐(3) 编辑