{"id":100,"date":"2021-08-23T15:54:17","date_gmt":"2021-08-23T07:54:17","guid":{"rendered":"http:\/\/139.224.63.49\/?p=100"},"modified":"2021-08-23T15:54:17","modified_gmt":"2021-08-23T07:54:17","slug":"%e4%b8%8d%e8%a6%81%e6%8a%8acondition_variable%e6%94%be%e5%85%a5%e5%ae%b9%e5%99%a8%e4%b8%ad","status":"publish","type":"post","link":"http:\/\/iamnear.top\/?p=100","title":{"rendered":"\u4e0d\u8981\u628acondition_variable\u653e\u5165\u5bb9\u5668\u4e2d"},"content":{"rendered":"\n<p>\u4eca\u5929\u9047\u5230\u4e86\u4e2ac++\u7f16\u8bd1\u9519\u8bef\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;bits\/stdc++.h>\n#include &lt;condition_variable>\nusing namespace std;\nvector&lt;condition_variable> v;\nint main()\n{\n    v.emplace_back();\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>\u7136\u540e\u62a5\u9519\u662f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/include\/c++\/10\/bits\/stl_uninitialized.h: In instantiation of \u2018_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) &#91;with _InputIterator = std::move_iterator&lt;std::condition_variable*>; _ForwardIterator = std::condition_variable*]\u2019:\n\/usr\/include\/c++\/10\/bits\/stl_uninitialized.h:325:37:   required from \u2018_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator&lt;_Tp>&amp;) &#91;with _InputIterator = std::move_iterator&lt;std::condition_variable*>; _ForwardIterator = std::condition_variable*; _Tp = std::condition_variable]\u2019\n\/usr\/include\/c++\/10\/bits\/stl_uninitialized.h:347:2:   required from \u2018_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&amp;) &#91;with _InputIterator = std::condition_variable*; _ForwardIterator = std::condition_variable*; _Allocator = std::allocator&lt;std::condition_variable>]\u2019\n\/usr\/include\/c++\/10\/bits\/vector.tcc:474:3:   required from \u2018void std::vector&lt;_Tp, _Alloc>::_M_realloc_insert(std::vector&lt;_Tp, _Alloc>::iterator, _Args&amp;&amp; ...) &#91;with _Args = {}; _Tp = std::condition_variable; _Alloc = std::allocator&lt;std::condition_variable>; std::vector&lt;_Tp, _Alloc>::iterator = std::vector&lt;std::condition_variable>::iterator]\u2019\n\/usr\/include\/c++\/10\/bits\/vector.tcc:121:21:   required from \u2018void std::vector&lt;_Tp, _Alloc>::emplace_back(_Args&amp;&amp; ...) &#91;with _Args = {}; _Tp = std::condition_variable; _Alloc = std::allocator&lt;std::condition_variable>]\u2019\ntest.cpp:7:20:   required from here\n\/usr\/include\/c++\/10\/bits\/stl_uninitialized.h:137:72: error: static assertion failed: result type must be constructible from value type of input range\n  137 |       static_assert(is_constructible&lt;_ValueType2, decltype(*__first)>::value,\n      |                         <\/code><\/pre>\n\n\n\n<p>\u7814\u7a76\u4e86\u534a\u5929\uff0c\u7ec8\u4e8e\u641e\u660e\u767d\u4e86\u3002\u6211\u4e4b\u524d\u53ea\u77e5\u9053condition_variable\u4e0d\u53ef\u62f7\u8d1d\u6784\u9020\uff0c\u539f\u6765condition_variable\u540c\u6837\u4e0d\u53ef\u4ee5\u79fb\u52a8\u6784\u9020\uff01\uff01\u56e0\u6b64\u662f\u4e0d\u80fd\u628acondition_variable\u653e\u5165\u5bb9\u5668\u6765\u8fdb\u884c\u7ba1\u7406\u7684\u3002\u4f46\u53ef\u4ee5\u7528\u5bb9\u5668\u6765\u7ba1\u7406\u6307\u5411cv\u7684shared_ptr\u6216\u8005unique_ptr,\u8fd9\u6837\u5c31\u597d\u4e86<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u5929\u9047\u5230\u4e86\u4e2ac++\u7f16\u8bd1\u9519\u8bef\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a \u7136\u540e\u62a5\u9519\u662f \u7814\u7a76\u4e86\u534a\u5929\uff0c\u7ec8\u4e8e\u641e\u660e\u767d\u4e86\u3002\u6211\u4e4b\u524d\u53ea\u77e5\u9053condi&hellip; <a href=\"http:\/\/iamnear.top\/?p=100\" class=\"more-link read-more\" rel=\"bookmark\">\u7ee7\u7eed\u9605\u8bfb <span class=\"screen-reader-text\">\u4e0d\u8981\u628acondition_variable\u653e\u5165\u5bb9\u5668\u4e2d<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-100","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-uncategorized","7":"h-entry","9":"h-as-article"},"_links":{"self":[{"href":"http:\/\/iamnear.top\/index.php?rest_route=\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/iamnear.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/iamnear.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/iamnear.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/iamnear.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=100"}],"version-history":[{"count":1,"href":"http:\/\/iamnear.top\/index.php?rest_route=\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":101,"href":"http:\/\/iamnear.top\/index.php?rest_route=\/wp\/v2\/posts\/100\/revisions\/101"}],"wp:attachment":[{"href":"http:\/\/iamnear.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/iamnear.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/iamnear.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}