C++言語の最新版「C++20」キタ━(゚∀゚)━! 待望のモジュールとコルーチンに対応!
■ このスレッドは過去ログ倉庫に格納されています
C++の標準化を取り扱っている国際標準化機構(ISO)のワーキンググループ21(WG21)は、「C++20」の最終版について合意に達した。
今回の改訂は、2017年に策定された「C++17」以降初めての大規模なものになる。
Microsoftのエンジニアであり、ISOの委員会であるWG21の委員長を務めるHerb Sutter氏は、
「9月4日金曜日にC++20のDIS(国際標準ドラフト)に関する投票が終了し、満場一致で可決された」と述べた。
同氏は、「これは、C++20が最終的な技術承認を受け、ISOの投票プロセスが終了したことを意味する。
私たちは、ISOの編集作業の最終ラウンドが終了した後、この標準が2020年末までに正式に公開されると考えている」述べている。
今回のリリースは、歴史的に見ても大きな出来事だ。Sutter氏は以前、C++20は「C++11以降で最大のリリースだ」と述べていた。
これは、3年ごとに行われてきた過去3回のリリースよりも大規模なものであることを意味している。
C++は35年前の1985年にデンマーク人研究者のBjarne Stroustrup氏によって生み出され、リリースされた。
C++はMicrosoftにとって重要な言語であり、同じ年に一般消費者向けにリリースされたWindowsの構築に使用された。
最近のMicrosoftは、Mozillaが開発した言語である「Rust」で、CやC++で書かれた古いWindowsのコードを書き換えることを検討している。
これは、Rustのメモリー安全性が高いからだ。
処理が高速な言語として支持を集めているC++は、近年になって人気が高まっており、
ハードウェアの制御に有用であることから、ゲーム開発で幅広く使用されている。
「Microsoft Visual Studio」「GNU Compiler Collection(GCC)」「Clang」などの主要なC++コンパイラは、C++17に対応している。
ISOの委員会がC++20の標準を承認、年内に正式公開へ
https://japan.zdnet.com/article/35159400/
>>1
C++20で追加される重要な機能を2つ挙げるとすれば、「モジュール」と「コルーチン」だろう。
GoogleのRichard Smith氏の主導で導入されたモジュールは、ヘッダーファイルの代わりの役割を果たし、
大規模なビルドに対応しながら、マクロの影響を隔離するのに役立つ。
Sutter氏は2019年2月、C++20で追加されたモジュールについて、「約35年間の歴史の中で初めて、
名前付きのカプセル化境界を定義できる機能が新たに追加された」と述べていた。
同氏はさらに、「これまで、プログラマーが自分で(a)その中身が隠蔽されているものに対して、
(b)ユーザーが定義した名前を付与することによって、自分だけの特別なワード(Words of Power)を作るためのC++の機能は3つ存在した。
変数(現在の値をカプセル化する)、関数(コードと動作をカプセル化する)、
およびクラス(その両方をカプセル化して状態と関数のまとまりを一緒に提供する)だ」と説明している。
一方、コルーチンは関数を一般化したものだ。C++のコントリビューターは、コルーチンの提案の中で、
「通常の関数は常に冒頭から処理が始まり、末尾で終了するが、コルーチンは実行を一時中断し、
後になってから中断したところから処理を再開することができる」と説明している。 左辺値とか右辺値とかよくわからんわ
プリミティブな処理はCで書いて、それより上は別言語の方がよくない? >>8
変に演算子でカッコつけてるのが余計に分かりにくいな マッチポンプというか高機能にすると手続きも高度知識がいるという
普通逆に作るよね ポインタとか隠蔽して内部で適当にやってくれるC#のが楽だと思うんだけど
C++も人気あるんやねぇ オジサンのchinchinもプラプラです!
ガハハ! >最近のMicrosoftは、Mozillaが開発した言語である「Rust」で、CやC++で書かれた古いWindowsのコードを書き換えることを検討している。
>処理が高速な言語として支持を集めているC++は、近年になって人気が高まっており、
ライターは書いてておかしいと思わなかったのか? gccの新しいやつで古いソースコンパイルしたらことごとくエラーでワラタ 最近の言語は仕様が爆発しすぎて何があるのか把握しきれない >>24
リガズィからνガンダムになったけど
扱えるのはニュータイプだけっていう 仕様の決定以外はAIが全てやってくれる時代が、もうそこまで来てるんやで〜 >>35
お前の年齢次第
もうだいぶ年行ってるならC#かJavaでも学習しといた方がいい >>33
ますますわからん???
ガンダムの例えを将棋に例えると >>38
まぁ書式制御は異常に豊富だな
Cだと他にstr系関数が異様に揃ってるのが気に入ってる
C++の文字列クラスでもあそこまであるの無いんじゃないか? 意識高い系のお前らは2020年は当然Rustやってるよな? C++がほんと嫌いになってJavaやphpやc#とかのWeb関連にいったのは、CやC++のメモリ管理がホント苦手というか大嫌いで。 こういうプログラム言語を一から習いたいけど
どうしたら取得できんの❓ C++は上位互換なのもあってCを殺せなかったけどみんなRustになったらいよいよCは終わるんだろうか
まぁ今更全部書き換えるの無理だからCOBOLのように半世紀後もレガシーコードとして残り続けるんだろうけど >>46
組み込みでも良く使われるけど、割と何でもいける(web系は除く) >>40
藤井聡太が羽生善治を吸収してΩ聡太になった >>22
そこをちまちま直していくのが楽しいんじゃないか >>28
Objective-Cは足元にも及ばんw >>53
制定されたところで処理系出てくるのいつか分からんし、業務に採用されるのは更に先だろうしなぁ >>47
初心者向けの本を買って書いてある通りにやってみる >>35
何の必要があってかは知らんけど、間に合うもなんもないと思うぞ
言語なんかしょせんは道具なんだから必要があれば覚えるだけ
仕事でやる気なら言語に拘りすぎるもんじゃない
特定の言語じゃなきゃ無理なんて言ってたら仕事にならん rustをちょっと見たけど、なんかverilogみたいでクラクラするな >>65
ものによるだろうけど普通に使う。STLなんかわざわざallocatorなんて仕組みもあるし。 若いプログラマが新しい技術の吸い上げが速すぎるお陰で、トレースがとんでもなく大変になってる。
エレガント過ぎるコードもまた、スパゲティコード並に眺めるのが難しい >>70
それはエレガントに見えるだけで実は本当にスパゲッティなんだよ
継承の流れがおかしいともう管理不可能なプログラムになる 日本語処理の面倒さが無ければやっぱりc/c++でなんか作りたくなるな 組み込みマイコンにそろそろc以外の選択肢をくれ
ポインタの自由さは維持で頼む。直接ハードのレジスタ弄らんといけないんや >>72
ビジュアルプログラミングとかノーコードとか、
以前から産業界で使われてるのに何を今更って話だな 全機能を理解して使いこなせる人は世界中に何人くらいいるのかね だいぶ前だけど、メモリリークで大いに苦しんだ思いであるから
今でも大嫌い >>80
コア言語レベルでサポートしてるのってperlとrubyくらいじゃねーの? >>78
センサーやバルブのメーカー混在してるとGUIで簡単設定ってわけにもいかないし
結局はオムロンやらキーエンスやらの独自言語でゴリゴリ書くことになるんだけどな
ほとんど大昔のアセンブラと変わらないし >>82
どのレベルかは知らんけどC#も対応してる >>85
標準で使えれば何だっていいならC++だってサポートしてるぞ C++が最も好きな言語で
windowsソフト作るときはVC++だが、
モバイルアプリ作るのはflutter/dartで
C++は滅多に使わなくなりました… これ発表された所でC++20学んで使いこなすぞって人間がもう全く居ないオワコン言語 はじめてのC
君とC
I will give you all my love >>92
CUDAでAIが作れるなら就職かのうかも へぇ
Exceptional C++の人が委員長だったんだな お遊びでArduinoやってるんだけど
16進数String型の0x01とかをint型にする方法が解らん
何故か0が返ってくる ■ このスレッドは過去ログ倉庫に格納されています