2023-01-01ãã1å¹´éã®è¨äºä¸è¦§
ãã®è¨äºã¯C++ã¢ããã³ãã«ã¬ã³ãã¼2023 25æ¥ç®ã®è¨äºã§ãããåå ã®çæ§ãç²ãæ§ã§ããï¼ C++ Contracts C++20 Contracts åé¡ç¹ã¨MVP(Minimum Viable Product) æåã®MVPä»æ§ é¢æ°ã®å宣è¨ã¨å¥ç´æ³¨é å¼æ°ã®äºå¾æ¡ä»¶ããã®åç § å¥ç´æ¡ä»¶å¼ã®å¯ä½ç¨ C++26ã«â¦
ãã®è¨äºã¯C++ã¢ããã³ãã«ã¬ã³ãã¼2023 11æ¥ç®ã®è¨äºã§ãã C++26ã«å¯¾ãã¦ç¾å¨ãä¸é¨ã®UBãç½®ãæããæ¦å¿µã¨ãã¦EBã¨ãããã®ãè°è«ããã¦ãã¾ãã EBã¨ã¯ è¦å® çµç·¯ ä»ã®EBåè£ã«ã¤ã㦠åèæç® EBã¨ã¯ EBã¯Erroneous Behaviourã®ç¥ç§°ã§ãããEBã¯UBåæ§â¦
C++26ããã使ç¨ããªãå¤ã«å¯¾ããå ±éããå¤æ°åã¨ãã¦_ï¼U+005Fãã¢ã³ãã¼ã¹ã³ã¢/ã¢ã³ãã¼ãã¼ï¼ãè¨èªãµãã¼ãä»ãã§ä½¿ç¨ã§ããããã«ãªãã¾ãã [[nodiscard]] auto f() -> int; auto g() -> std::tuple<int, double, std::string>; int main() { auto _ = f(); // okãè¦åãªã aut</int,>â¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-09 å ¨é¨ã§40æ¬ããã¾ãã ããã P0843R9 inplace_vector P1068R9 Vector API for random number generation P1255R10 A view of 0 or 1 elements: views::maybe P2264R5 Make assert() macro user friâ¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-08 å ¨é¨ã§44æ¬ããã¾ãã ããã N4956 Concurrency TS2 PDTS N4958 Working Draft, Programming Languages -- C++ N4959 Editors' Report, Programming Languages -- C++ N4960 Business Plan and Conâ¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-07 å ¨é¨ã§106æ¬ããã¾ãã ããã N4955 WG21 2023-06 Admin telecon minutes N4957 WG21 February 2023 Minutes of Meeting P0260R6 C++ Concurrent Queues P0260R7 C++ Concurrent Queues P0543R3 Saâ¦
C++23ããauto(x)ã®å½¢å¼ã®ãã£ã¹ããå¯è½ã«ãªãã¾ãã template<std::copy_constructible T> void f(T x) { T p = auto(x); // okãC++23ãã } ããã«é¢é£ããä»æ§çã®ã¡ã¢ã§ãã prvalueå¤ã¸ã®ãã£ã¹ã ç´°ããä»æ§ã®è©± å©ç¹ãç¨é decay-copyã¨ã®éã è¦æ ¼æ¸ã«ãããç½®ãæã ã³ã³ã»ã</std::copy_constructible>â¦
C++23ã§è¿½å ããã<ranges>é¢é£ã®å°ããã®ã¦ã¼ãã£ãªãã£ãã¾ã¨ãã¦ããã¾ããããã«ã¯æ°ãããã¡ã¯ããª/ã¢ããã¿ãranges::toã¯å«ã¾ãã¦ãã¾ãããããã§ç´¹ä»ãããã®ã¯åºæ¬çã«std::rangesåå空éã«ããã¾ãããåå空éæå®ãçç¥ãã¦ãã¾ãã const_iterator_t/</ranges>â¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-05 å ¨é¨ã§122æ¬ããã¾ãã ä¸é¨ã®è¨äºã¯æ¬¡ã®æ¹ã ã«æä¼ã£ã¦ããã ãã¾ããããååãããã¨ããããã¾ããï¼ @Reputelessãã ããã N4946 2024-03 Tokyo meeting information N4947 INCITS C++/WG21 â¦
mdspanãåå¼·ã®ã¡ã¢ã§ããããã§ã®ãµã³ãã«ã³ã¼ãã¯å ¨ã¦kokkos/mdspanãç¨ãã¦å®è¡ãã¦ãã¾ããæ¨æºã®std::mdspanã«æºæ ãã¦å®è£ ããã¦ããã®ã§ããããæåã¯å¤ãããªãã§ãããã ã¤ã³ã¿ã¼ãªã¼ãã¬ã¤ã¢ã¦ã mdspanã®ã«ã¹ã¿ãã¤ãº ã¬ã¤ã¢ã¦ãããªã·ã¼åã®æ§â¦
å¼ã®éçåï¼static typeï¼ã¯åç §åã«ãªããªããããªãã¡ãå¼ã®éçåã¯å¤ã«ãã´ãªã®æ å ±ãå«ã¾ãªãããããã¯ãå¼ã®éçåã¨å¼ã®å¤ã«ãã´ãªã¯ç´è¡ããæ¦å¿µã§ãããã¨ãããã¨ã«é¢ããã¡ã¢ã§ãã 以ä¸ãè¦æ ¼æ¸ã®æé¢ã¯C++20è¦æ ¼ã¨åçã®ãã©ããã§ããN4861â¦
C++ã®throwå¼ã¯ã©ããªåã®ãªãã¸ã§ã¯ãã§ãã£ã¦ãæãããã¨ãã§ãã¾ãããã®æ¯éã¯ç½®ãã¦ããã¦ãããthrowå¼ã«å¯¾ãã¦é©åã«catchç¯ï¼ä¾å¤ãã³ãã©ï¼ãç¨æããã¦ããå ´åã«ãå¼ã³åºãããä¾å¤ãã³ãã©ã¯å³å¯ã«ã©ã®ããã«æ±ºã¾ãã®ã§ããããï¼ãªãã¨ãªãthrâ¦
å æ¥zennã«æéãããviews::as_constã«ã¤ãã¦ã®è¨äºãæ¸ãã¦ããã¨ãã«èª¿ã¹ããconst_iteratorã®è¦ç´ åï¼åç §åï¼ã®æ±ºå®éç¨ã«é¢ããã¡ã¢ã§ãã C++23 ã®viewãè¦ã3 - As const view - zenn 以ä¸ãviews::as_constã«é¢ãã¦ã¯ç¥ã£ã¦ãããã®ã¨ãã¦èª¬æãã¾â¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-04 SG22ã®WG14ããã®ãã®ãé¤ãã¦ãå ¨é¨ã§41æ¬ããã¾ãã N4940 WG21 2022-11 Kona Minutes of Meeting V2 N4941 INCITS C++/WG21 Agenda: 6-11 February 2023, Issaquah, WA USA N4942 WG21 2023-01 Aâ¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-02 SG22ã®WG14ããã®ãã®ãé¤ãã¦ãå ¨é¨ã§102æ¬ããã¾ãã P0290R3 apply() for synchronized_value P0290R4 apply() for synchronized_value P0447R21 Introduction of std::hive to the standard libâ¦
constexpr ifï¼æ§æã¨ãã¦ã¯if constexprï¼ã®æ¡ä»¶ã«ã¯boolã«å¤æå¯è½ãªä»»æã®å®æ°å¼ã使ç¨ã§ãã¾ããè¤æ°ã®æ¡ä»¶ã«ãã£ã¦åå²ããããå ´åãèªç¶ã«&&ãããã¯||ã«ãã£ã¦è¤æ°ã®æ¡ä»¶å¼ãã¤ãªãããã¨ã«ãªãã§ããããããã¦ãã®å ´åãæ¡ä»¶å¼ã«ã¯å·¦ããå³ã¸ã®è©â¦
ææ¸ã®ä¸è¦§ JTC1/SC22/WG21 - Papers 2022 mailing2023-01 SG22ã®WG14ããã®ãã®ãé¤ãã¦ãå ¨é¨ã§84æ¬ããã¾ãã N4928 Working Draft, Standard for Programming Language C++ N4929 Editors' Report - Programming Languages - C++ N4933 WG21 November 20â¦
C++23ããã左辺å¤åç §ãè¿ãé¢æ°ã«ããã¦ãã¼ã«ã«å¤æ°ãç´æ¥è¿ãã±ã¼ã¹ãã³ã³ãã¤ã«ã¨ã©ã¼ã¨ãªãããã«ãªãã¾ãã int& f() { int n = 10; return n; // ng } int main() { int& r = f(); } [Wandbox]ä¸ã¸( ã¸ÕਠÕ)㸠ï¾ï½¯ï¾ï½¯ ããã¯æå³ãããæ¯ãèãã§ããâ¦
C++20ã«ã²ã£ããã¨æ¡æããã¦ããP0588R1 Simplifying implicit lambda captureã¨ããææ¡ã¯ã3度è¦ãããããã§ã¯ä½ããã¦ããã®ããä½ããããã®ããã£ã±ããããã¾ãããä¸ä½ããã¯ãªããªã®ã§ããããã»ã»ã» P0588R1ã®ãã£ã¦ããã㨠è¨èã®å®ç¾© ã¨ã³ãã£â¦