探検
結局C++とRustってどっちが良いの?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2023/02/25(土) 09:49:46.74ID:VRyB88xR C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな?
2023/03/02(木) 15:41:34.24ID:4/ee2SHc
例えばstd::shared_ptr相当のものは
90年代中盤から後半にかけて使われ始めたと思うけど
(boost::shared_ptrはいつからだっけ?)
std::shared_ptrが規格に入ったのはC++11
規格の拡張は無節操というより慎重というかクソ遅いよ
90年代中盤から後半にかけて使われ始めたと思うけど
(boost::shared_ptrはいつからだっけ?)
std::shared_ptrが規格に入ったのはC++11
規格の拡張は無節操というより慎重というかクソ遅いよ
2023/03/02(木) 15:59:19.04ID:dC3Ayx4m
2023/03/02(木) 16:08:40.39ID:eS6QMQkY
>>79
それは分類が非常に簡単
既に作られており穴も発見されないものをわざわざRustに移植する意味はない
穴が多く悩まされてるものはChromiumのようにRust併用やRustへ切り替えが進んでいる
新たに作ったり大きく作り直す場合はRust一択
それは分類が非常に簡単
既に作られており穴も発見されないものをわざわざRustに移植する意味はない
穴が多く悩まされてるものはChromiumのようにRust併用やRustへ切り替えが進んでいる
新たに作ったり大きく作り直す場合はRust一択
2023/03/02(木) 16:24:01.58ID:eS6QMQkY
2023/03/02(木) 16:40:50.78ID:4/ee2SHc
2023/03/02(木) 16:53:27.06ID:eS6QMQkY
Rust自体がプログラミング言語史上でも革新的なキラーコンテンツ
まともなIT企業からRustを導入していっている理由がそこにある
非GC言語でメモリ安全性を言語システムが保証する初で唯一のプログラミング言語がRust
まともなIT企業からRustを導入していっている理由がそこにある
非GC言語でメモリ安全性を言語システムが保証する初で唯一のプログラミング言語がRust
2023/03/02(木) 17:10:59.88ID:oc1UgWLG
ダメダコリャ
2023/03/02(木) 18:47:07.82ID:9x7ptNRV
なんだかんだで置き換えられずにユーザ空間ソフトの基礎ライブラリになってるC言語の奴らすげーよな
2023/03/02(木) 19:04:35.27ID:o+lCraYI
とりあえずC/C++は今ところほぼ全てのCPUで環境が整備されているし、
メーカーさんのサンプルにしても、過去の資産も(FreeRTOSだのもArduinoなんかも)膨大。
それらが全て使われなくなったり、他の言語でで書き換えられるということが仮に
にあるとしても相当先の話になるだろう。
と考えると、C/C++はほぼ基礎教養かな?
あとは実務で要求されたものを身につけるっていう感じなんだろうな。
パラパラ眺めた範囲ではRustもC++知っていればさほど難しくなさそうだけど
個人で趣味レベルでやってますといっても、実務経験ないとキャリアとしてのアピール度は低いしな
メーカーさんのサンプルにしても、過去の資産も(FreeRTOSだのもArduinoなんかも)膨大。
それらが全て使われなくなったり、他の言語でで書き換えられるということが仮に
にあるとしても相当先の話になるだろう。
と考えると、C/C++はほぼ基礎教養かな?
あとは実務で要求されたものを身につけるっていう感じなんだろうな。
パラパラ眺めた範囲ではRustもC++知っていればさほど難しくなさそうだけど
個人で趣味レベルでやってますといっても、実務経験ないとキャリアとしてのアピール度は低いしな
2023/03/02(木) 19:14:16.94ID:OHJUJNoL
100デフォルトの名無しさん
2023/03/02(木) 19:20:18.08ID:OAWE1K4h でもお前組み込みエアプじゃん
101デフォルトの名無しさん
2023/03/02(木) 19:22:55.17ID:OAWE1K4h ルビキチも自分の実績とは関係なく人工衛星がどうのと褒めそやす奴だった
これもいずれはあのような壊れたレコードに成り果てるのだろう
これもいずれはあのような壊れたレコードに成り果てるのだろう
102デフォルトの名無しさん
2023/03/02(木) 19:42:00.55ID:+4hIkzuc Firefoxだけかと思っていたらChromeもRustなのかよ
Google Chrome、プログラミング言語「Rust」の採用を発表
https://news.mynavi.jp/techplus/article/20230113-2561774/
Google Chrome、プログラミング言語「Rust」の採用を発表
https://news.mynavi.jp/techplus/article/20230113-2561774/
103デフォルトの名無しさん
2023/03/02(木) 23:06:33.64ID:4/ee2SHc104デフォルトの名無しさん
2023/03/03(金) 06:56:09.99ID:3EPD3050 >>99
その「特殊な組み込み環境」とやらでもC/C++は使えるからね。
C++はフルには要らんかもだけど、
クラスと継承は組み込みとかでも便利に使われてたりするね。
できることが大差ないとすると、仕事でRustを使えと言われない限り、個人レベルで積極的に使う理由に乏しいかなぁ。
個人でメンテできる程度だとメモリ安全ってそれほど重要ポイントではないし。
PythonにとってのAIみたいに、こういうアプリケーションなら、C/C++より遥かに楽で簡単に実現できるというものが必要なのではないかな。
今の段階じゃ、メモリ安全にするために制約やチェックを厳しくしたC/C++ってだけって感じだもの。
その「特殊な組み込み環境」とやらでもC/C++は使えるからね。
C++はフルには要らんかもだけど、
クラスと継承は組み込みとかでも便利に使われてたりするね。
できることが大差ないとすると、仕事でRustを使えと言われない限り、個人レベルで積極的に使う理由に乏しいかなぁ。
個人でメンテできる程度だとメモリ安全ってそれほど重要ポイントではないし。
PythonにとってのAIみたいに、こういうアプリケーションなら、C/C++より遥かに楽で簡単に実現できるというものが必要なのではないかな。
今の段階じゃ、メモリ安全にするために制約やチェックを厳しくしたC/C++ってだけって感じだもの。
105デフォルトの名無しさん
2023/03/03(金) 07:13:09.62ID:5+VE8dsn Rustは後発なアドバンテージで
洗練されたモダンな言語仕様のため非常に書きやすい
これが一番大きなメリット
おまけとしてメモリ安全性の自動保証とデータ競合なしの保証
これらにおかげでC/C++で書いてた時に無駄に必要だった実行時デバッグが激減して消えた
Rustは開発効率が大きく向上する
洗練されたモダンな言語仕様のため非常に書きやすい
これが一番大きなメリット
おまけとしてメモリ安全性の自動保証とデータ競合なしの保証
これらにおかげでC/C++で書いてた時に無駄に必要だった実行時デバッグが激減して消えた
Rustは開発効率が大きく向上する
106デフォルトの名無しさん
2023/03/03(金) 09:31:41.76ID:oC7cFOXy107デフォルトの名無しさん
2023/03/03(金) 13:09:51.97ID:t7eEMnCD >>106
どこが似てんだよ何も区別付かないアフォ
どこが似てんだよ何も区別付かないアフォ
108デフォルトの名無しさん
2023/03/03(金) 13:21:04.67ID:mNTxopBi おちんちんランドへおいでよ!
109デフォルトの名無しさん
2023/03/03(金) 13:21:58.74ID:PdMH/ctM altJSブームが落ち着いたせいで下火になっちゃったけど
やっぱりHaxeは復活すべきだよな
やっぱりHaxeは復活すべきだよな
110デフォルトの名無しさん
2023/03/03(金) 13:26:08.63ID:HbtHbRsb111デフォルトの名無しさん
2023/03/03(金) 16:49:35.55ID:lJwnZSPr >>110
しかも、Javaの普及速度は物凄く速かったが、Rustは伸びてない。
しかも、Javaの普及速度は物凄く速かったが、Rustは伸びてない。
112デフォルトの名無しさん
2023/03/03(金) 19:36:46.54ID:NsCHD7Iu >>91 >>110
プログラミング言語の一般的な基礎知識を持たない人がRustのアンチをやっているのかしら
JavaがCやC++に置き換わらなかった理由の一つはJavaがガベージコレクション必須の言語だからですよ
CやC++の置き換えとなるためにはGCを必要としないプログラミング言語でないとダメなんですよ
GCを必要としない言語も数少ないながら今までいくつか出て来たのになぜCやC++を置き換えられなかったか分かりますか?
CやC++で問題となってきたのはメモリ操作の安全性とデータ競合の安全性です
それらを完璧に対応して言語自体が安全性を保証する言語が今までなかったからですよ
Rustが初めて対応して初めて真にCやC++を置き換えられるようになりました
だからIT大手各社がライバル関係を超えて共同してRustを支援そして採用しているのですよ
プログラミング言語の一般的な基礎知識を持たない人がRustのアンチをやっているのかしら
JavaがCやC++に置き換わらなかった理由の一つはJavaがガベージコレクション必須の言語だからですよ
CやC++の置き換えとなるためにはGCを必要としないプログラミング言語でないとダメなんですよ
GCを必要としない言語も数少ないながら今までいくつか出て来たのになぜCやC++を置き換えられなかったか分かりますか?
CやC++で問題となってきたのはメモリ操作の安全性とデータ競合の安全性です
それらを完璧に対応して言語自体が安全性を保証する言語が今までなかったからですよ
Rustが初めて対応して初めて真にCやC++を置き換えられるようになりました
だからIT大手各社がライバル関係を超えて共同してRustを支援そして採用しているのですよ
113デフォルトの名無しさん
2023/03/03(金) 20:45:25.65ID:56kfvkVg114デフォルトの名無しさん
2023/03/03(金) 21:06:34.40ID:NsCHD7Iu >>113
その>>77を見てみましたがリアルタイム性の話ですか
それは直接はプログラミング言語とは関係ない話ですが少し関係がありますね
言語に関わらず作成したシステム側の話でOSからゲームのようなアプリまで必要とされる時間的制約があることをリアルタイム性と言います
もちろんガベージコレクションはリアルタイム性の障害となりますのでそれを軽減する手法を取ったりリアルタイム性を必要としないタイミングでGCを実行します
しかしそれでも現実的なOSや基幹システムでGC言語の利用は厳しいでしょう
そのためOSなどの記述にはCやC++やRustが使われます
メモリ安全性などの保証をプログラマーではなく言語システムに任せることができるRustがベストとなります
その>>77を見てみましたがリアルタイム性の話ですか
それは直接はプログラミング言語とは関係ない話ですが少し関係がありますね
言語に関わらず作成したシステム側の話でOSからゲームのようなアプリまで必要とされる時間的制約があることをリアルタイム性と言います
もちろんガベージコレクションはリアルタイム性の障害となりますのでそれを軽減する手法を取ったりリアルタイム性を必要としないタイミングでGCを実行します
しかしそれでも現実的なOSや基幹システムでGC言語の利用は厳しいでしょう
そのためOSなどの記述にはCやC++やRustが使われます
メモリ安全性などの保証をプログラマーではなく言語システムに任せることができるRustがベストとなります
115デフォルトの名無しさん
2023/03/03(金) 21:20:32.28ID:qLiBhaKu エアプするにしてもせめてthe embedded bookくらいざっくり読んでからにすればいいのに
116デフォルトの名無しさん
2023/03/03(金) 21:26:29.88ID:HbtHbRsb117デフォルトの名無しさん
2023/03/03(金) 21:48:53.60ID:IWtB3OsL120デフォルトの名無しさん
2023/03/03(金) 22:54:44.50ID:3xVHehJY ここが新しい隔離スレちゃんですか
121デフォルトの名無しさん
2023/03/03(金) 23:40:18.48ID:DSH9vzOS ここは純粋にC++とRustの比較スレ
しかし無関係なGC言語を持ち出してくるバカがいてそれを邪魔をしているようだ
しかし無関係なGC言語を持ち出してくるバカがいてそれを邪魔をしているようだ
122デフォルトの名無しさん
2023/03/03(金) 23:41:20.65ID:kiJ4JQPs 実務経験の乏しい人が言語機能だけで頭でっかちなアピールしてるのを見ると狙ってアンチ活動してるのかと勘繰りたくなるよね
まぁ隔離ファイト続けてくれ
まぁ隔離ファイト続けてくれ
123デフォルトの名無しさん
2023/03/03(金) 23:57:24.37ID:gZNQib4P それらの言語を実際に書いて使っていればガッべージコレクションのある言語がC言語系を置き換えできないことくらい分かるはずだもんなー
124デフォルトの名無しさん
2023/03/04(土) 02:04:08.56ID:OUzFL/z0 WinAPI/ATL/MFCの系譜をWinFormsが現れて.NETが置き換えていった歴史は無かったことにされたらしい
125デフォルトの名無しさん
2023/03/04(土) 05:09:33.55ID:zMMeSguG CやC++に置き換わる言語の話でWinAPIやWinFormsを持ち出してくるとは頭おかしいな
126デフォルトの名無しさん
2023/03/04(土) 10:37:16.20ID:4/pts6A0 C#もGCないネイティブでビルドするオプションがあったら天下取れたかもな
VB6はGC無かったのになぜこうなった
VB6はGC無かったのになぜこうなった
127デフォルトの名無しさん
2023/03/04(土) 10:41:49.65ID:CDmz22lO128デフォルトの名無しさん
2023/03/04(土) 10:54:13.03ID:RFNVa0Qi >>114
chatGPTの回答に似てるなωωω
chatGPTの回答に似てるなωωω
129デフォルトの名無しさん
2023/03/04(土) 10:59:11.20ID:RFNVa0Qi130デフォルトの名無しさん
2023/03/04(土) 11:05:58.63ID:54Un32Sk >>129
「CやC++に置き換わる言語の話」なんて誰もしていない
「CやC++に取って代わる」あるいは「CやC++を置き換える」と言いたいのだろう
あるいは本気で「CやC++に置き換わる言語の話」をしているのなら今度こそ本当に頭がおかしいな
「CやC++に置き換わる言語の話」なんて誰もしていない
「CやC++に取って代わる」あるいは「CやC++を置き換える」と言いたいのだろう
あるいは本気で「CやC++に置き換わる言語の話」をしているのなら今度こそ本当に頭がおかしいな
131デフォルトの名無しさん
2023/03/04(土) 11:14:10.28ID:RFNVa0Qi それがてにをはどどう関係あるの?
132デフォルトの名無しさん
2023/03/04(土) 11:23:10.42ID:33wAkDSd >>126
VB6はトレースGCではないけど参照カウンタGC方式のGC言語
VB6オブジェクトは裏で参照カウンタが自動的に使われていてそれにより使われなくなったメモリを回収している
ちなみにC++のshared_ptrなども参照カウンタ方式だが裏で勝手に使われることはなく必須でもなくプログラマー裁量なのでC++はGC言語ではない
VB6はトレースGCではないけど参照カウンタGC方式のGC言語
VB6オブジェクトは裏で参照カウンタが自動的に使われていてそれにより使われなくなったメモリを回収している
ちなみにC++のshared_ptrなども参照カウンタ方式だが裏で勝手に使われることはなく必須でもなくプログラマー裁量なのでC++はGC言語ではない
133デフォルトの名無しさん
2023/03/04(土) 11:59:27.29ID:Ss9j+0Cw Rustに期待している人のフラストレーションを解消したいなら
フルスクラッチでOSを書くくらいしか方法はないだろうね
OSの普及は更に至難の技だけども
フルスクラッチでOSを書くくらいしか方法はないだろうね
OSの普及は更に至難の技だけども
134デフォルトの名無しさん
2023/03/04(土) 12:08:40.51ID:2fdiw2OM (実務経験ゼロ + 論理的思考力の欠落 + 自己愛性パーソナリティ障害) * Rustへの執着 = 通称複製おじさん
135デフォルトの名無しさん
2023/03/04(土) 12:51:29.76ID:SdQ3Tgr2 |
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
136デフォルトの名無しさん
2023/03/05(日) 00:54:23.16ID:OH6jTTZv うるせー馬鹿
137デフォルトの名無しさん
2023/03/05(日) 00:59:18.56ID:eidG4gk+ >>133
フルスクラッチの新たなOSを普及させるのは難しいだろうが
>>74に記事があるようにGoogleがRustのみで新OSを作ってるな
あとAndroidもLinuxもWindowsもRustの一部採用を始めて
この流れはOSに限らず全てのシステムでRust化が進んでいくのだろう
GoogleとMicrosoftがRust言語でOS開発
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
フルスクラッチの新たなOSを普及させるのは難しいだろうが
>>74に記事があるようにGoogleがRustのみで新OSを作ってるな
あとAndroidもLinuxもWindowsもRustの一部採用を始めて
この流れはOSに限らず全てのシステムでRust化が進んでいくのだろう
GoogleとMicrosoftがRust言語でOS開発
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
138デフォルトの名無しさん
2023/03/05(日) 09:30:23.81ID:B0+xSixt139デフォルトの名無しさん
2023/03/05(日) 10:00:51.19ID:N4QaJnep 私はRustで年収1億稼ぎましたみたいな話はないのかよ
マイナープロジェクトでちょっと使われたら勝利なのかよ
マイナープロジェクトでちょっと使われたら勝利なのかよ
140デフォルトの名無しさん
2023/03/05(日) 11:14:29.69ID:/Qd0pRlS Winnyの作者みたいに逮捕されるかと思ったら怖くて無理
141デフォルトの名無しさん
2023/03/05(日) 11:34:54.12ID:ukOUhlGm 話し飛躍しすぎでしょ
142デフォルトの名無しさん
2023/03/05(日) 11:49:22.14ID:nmaj3sub Rustで検証してうまくいったらそのままCにコンバートすれば余計なチェックコードが削れてる速く動く
とかね。
とかね。
143デフォルトの名無しさん
2023/03/05(日) 14:28:35.02ID:FAqgXVt3 てかGCって別に悪いもんじゃねぇしな
144デフォルトの名無しさん
2023/03/05(日) 14:30:11.56ID:FAqgXVt3145デフォルトの名無しさん
2023/03/05(日) 14:54:49.80ID:B0+xSixt146デフォルトの名無しさん
2023/03/05(日) 15:15:15.70ID:WdTi9AcG147デフォルトの名無しさん
2023/03/05(日) 15:45:42.10ID:09jM8Cxo148デフォルトの名無しさん
2023/03/05(日) 15:50:56.78ID:7nv7saAE 本当にGCの話しかしないんだね
GC以外のことを語る知識がない
GCはこの板見てる人はほぼ誰でも知っているだろう
GC以外のことを語る知識がない
GCはこの板見てる人はほぼ誰でも知っているだろう
149デフォルトの名無しさん
2023/03/05(日) 15:58:09.36ID:Y+o3TKYe 色んな言語のライブラリがC++(や最近はRust)で書かれているのを考えると
C++とRustが王者決定戦になるのは当たり前じゃね?
C++とRustが王者決定戦になるのは当たり前じゃね?
150デフォルトの名無しさん
2023/03/05(日) 16:07:43.53ID:RiJu3w7U 入力にゴミデータを与えるとゴミしか出力されないことの好例
151デフォルトの名無しさん
2023/03/05(日) 18:26:02.22ID:xsWqtK1g いつのまにかPythonやJavaScriptのライブラリがRustで作れるようになってるのな
152デフォルトの名無しさん
2023/03/06(月) 00:49:06.50ID:pFRSokg0 そりゃラップするだけなんだから作れるだろ
アホか
アホか
153デフォルトの名無しさん
2023/03/06(月) 09:19:45.87ID:93HR+LQR そして我が道をいくLISP
154デフォルトの名無しさん
2023/03/06(月) 09:45:52.37ID:4Z2NP+rF LISPといえばGCの元祖だな
155デフォルトの名無しさん
2023/03/06(月) 13:40:13.02ID:diWxUEyJ |
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)またGCの話してる
(| |)::::
(γ /:::::::
し \:::
\
156デフォルトの名無しさん
2023/03/06(月) 15:05:53.11ID:diWxUEyJ157デフォルトの名無しさん
2023/03/06(月) 17:14:45.53ID:93HR+LQR ふと思ったんだけど、Rustのmutableな構造体の中にimmutableなフィールドって持てるんだっけ?
158デフォルトの名無しさん
2023/03/06(月) 20:00:50.97ID:BPh5rEIJ >>157
そういえば、C++のcv属性は、論理和方式で、constは足し算の様に0から1に
変わるが、mut 属性はそうはならないだろうから、どうなるんだろうな。
constは意味的に考えてもcastしない限りは、、constなものはいくらやっても
書き込めるようにはならない、というのは安全性から当然なんだけど、
mutだとそうはいかない。
そういえば、C++のcv属性は、論理和方式で、constは足し算の様に0から1に
変わるが、mut 属性はそうはならないだろうから、どうなるんだろうな。
constは意味的に考えてもcastしない限りは、、constなものはいくらやっても
書き込めるようにはならない、というのは安全性から当然なんだけど、
mutだとそうはいかない。
159デフォルトの名無しさん
2023/03/06(月) 20:09:02.49ID:BPh5rEIJ >>158
mutとconstは逆さまの働きみたいだから、どっちで行くかは言語設計者の自由と
思われがちだけど、constな構造体のメンバは勝手に全てconst扱いになるという
単純な論理に出来るけど、mut方式の場合は、constキーワードも別に必要になりそう。
mutとconstは逆さまの働きみたいだから、どっちで行くかは言語設計者の自由と
思われがちだけど、constな構造体のメンバは勝手に全てconst扱いになるという
単純な論理に出来るけど、mut方式の場合は、constキーワードも別に必要になりそう。
160デフォルトの名無しさん
2023/03/06(月) 21:18:31.55ID:HKTArltY161デフォルトの名無しさん
2023/03/06(月) 21:44:09.47ID:l1NoBYC6 >>159
C++でconstを誤用しているのとは異なり
Rustではconstを正しく定数の意味で使っているので注意
つまりconstは定数でありコンパイル時に静的に定まる
もちろんconstとは別の概念としてmutableとimmutableがあり、これらは可変性の有無を表す
さらにそれらと別の概念として所有権があり、所有権を持っていればimmutableであろうと関係なくmutableな変数へ移すことで可変性を得られる
一方で所有権を持たないimmutableな参照からは可変性を得られない
C++でconstを誤用しているのとは異なり
Rustではconstを正しく定数の意味で使っているので注意
つまりconstは定数でありコンパイル時に静的に定まる
もちろんconstとは別の概念としてmutableとimmutableがあり、これらは可変性の有無を表す
さらにそれらと別の概念として所有権があり、所有権を持っていればimmutableであろうと関係なくmutableな変数へ移すことで可変性を得られる
一方で所有権を持たないimmutableな参照からは可変性を得られない
162デフォルトの名無しさん
2023/03/06(月) 21:51:25.41ID:1935XsNt163デフォルトの名無しさん
2023/03/06(月) 22:01:32.22ID:l1NoBYC6 >>162
そうだよ
実行するたびにあるいは関数を呼ぶたびに値が変わりうる変数(=静的に値が定まらず変わりうること)に対して、
変数がimmutableであることを間違えてconstと付けてしまった
そのためC++では定数(=静的に値が定まること)の場合は苦肉の策でconstexprと変な名前を付けることになった
そうだよ
実行するたびにあるいは関数を呼ぶたびに値が変わりうる変数(=静的に値が定まらず変わりうること)に対して、
変数がimmutableであることを間違えてconstと付けてしまった
そのためC++では定数(=静的に値が定まること)の場合は苦肉の策でconstexprと変な名前を付けることになった
164デフォルトの名無しさん
2023/03/06(月) 22:21:12.53ID:1935XsNt >>163
C++では単に値が`constant'って意味で使っただけではないのかな?
それを誤用とは言わんと思う
ところで何でconstexprではないconst変数は
静的に定まらないことになってるの?
C++では単に値が`constant'って意味で使っただけではないのかな?
それを誤用とは言わんと思う
ところで何でconstexprではないconst変数は
静的に定まらないことになってるの?
165デフォルトの名無しさん
2023/03/06(月) 22:37:19.16ID:l1NoBYC6 >>164
もちろんC++は整数などに限ればconstで静的な定数となるが
それ以外C++のconstは定数ではなく静的にコンパイル時に定まらない
そのため真のconstを表すためにconstexprというキーワードを新たに用意する本末転倒な状況となった
もちろんC++は整数などに限ればconstで静的な定数となるが
それ以外C++のconstは定数ではなく静的にコンパイル時に定まらない
そのため真のconstを表すためにconstexprというキーワードを新たに用意する本末転倒な状況となった
166デフォルトの名無しさん
2023/03/06(月) 22:52:19.69ID:1935XsNt167デフォルトの名無しさん
2023/03/06(月) 22:53:11.95ID:1935XsNt168デフォルトの名無しさん
2023/03/06(月) 23:09:16.19ID:h8dbx3na >>166
C++で何らかのクラスのインスタンスを作ってconstに入れることを考えてみるとわかりやすいよ
もちろんこのconstのインスタンスはコンストラクタの引き数の値によって変わるから静的な定数じゃないよね
つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
だから本当の定数に対してconstexprと名付けることになった有名な話だよ
C++で何らかのクラスのインスタンスを作ってconstに入れることを考えてみるとわかりやすいよ
もちろんこのconstのインスタンスはコンストラクタの引き数の値によって変わるから静的な定数じゃないよね
つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
だから本当の定数に対してconstexprと名付けることになった有名な話だよ
169デフォルトの名無しさん
2023/03/06(月) 23:20:34.22ID:1935XsNt >>168
>つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
C++のconstは単なる`constant'の意味で
静的な定数という意味でないというだけなのでは?
本当に「間違えて」名付けたのかな?
俺にはC++のconstにあなたが「間違えて」静的な定数という意味を
期待しているだけに見えるのだが?
>つまり単なるimmutableな変数に過ぎないわけだけどC++はそれに対してconstと間違えて名付けちゃった
C++のconstは単なる`constant'の意味で
静的な定数という意味でないというだけなのでは?
本当に「間違えて」名付けたのかな?
俺にはC++のconstにあなたが「間違えて」静的な定数という意味を
期待しているだけに見えるのだが?
170デフォルトの名無しさん
2023/03/06(月) 23:31:32.57ID:l1NoBYC6171デフォルトの名無しさん
2023/03/06(月) 23:33:40.69ID:1935XsNt172デフォルトの名無しさん
2023/03/06(月) 23:42:46.60ID:l1NoBYC6 >>171
関数に渡ってきた毎回変わりうる引き数を使ってそれを渡してインスタンス作成してconstに突っ込む場合でもよい
あるいは環境変数やargv使ってインスタンス作成でもよい
いずれも毎回インスタンスの値が変わりうるため定数ではないがC++ではconstと付けてしまった
そして本当の定数にconstexprと付けた
関数に渡ってきた毎回変わりうる引き数を使ってそれを渡してインスタンス作成してconstに突っ込む場合でもよい
あるいは環境変数やargv使ってインスタンス作成でもよい
いずれも毎回インスタンスの値が変わりうるため定数ではないがC++ではconstと付けてしまった
そして本当の定数にconstexprと付けた
173デフォルトの名無しさん
2023/03/06(月) 23:47:46.47ID:1935XsNt174デフォルトの名無しさん
2023/03/06(月) 23:52:15.11ID:p7JhiTtQ ただし*const Tのconstだけはコンパイル時定数の意ではなく、C++と同じで書き換えを行えないという意味です
一貫性がありませんね
一貫性がありませんね
175デフォルトの名無しさん
2023/03/06(月) 23:56:33.22ID:h8dbx3na >>169
数字でも物理でも定数は静的に定まるものだよ
でもC++はconstをimmutableの意味で間違えて名付けてしまいました
そして定数を表すためにconstを使えなくなりconstexprと名付けたという誰でも知ってる有名な話だよ
数字でも物理でも定数は静的に定まるものだよ
でもC++はconstをimmutableの意味で間違えて名付けてしまいました
そして定数を表すためにconstを使えなくなりconstexprと名付けたという誰でも知ってる有名な話だよ
176デフォルトの名無しさん
2023/03/07(火) 00:01:46.05ID:gZ1LpnCS >>175
>でもC++はconstをimmutableの意味で間違えて名付けてしまいました
とあなたが思っているだけではないかな?
C++のconstにあなたなが「間違えて」静的に定まるものを期待しているだけでは?
>でもC++はconstをimmutableの意味で間違えて名付けてしまいました
とあなたが思っているだけではないかな?
C++のconstにあなたなが「間違えて」静的に定まるものを期待しているだけでは?
177デフォルトの名無しさん
2023/03/07(火) 00:09:47.95ID:6eBCzRN0 言われてみれば数字や物理で定数は静的に定まる値だな
どうせC++で静的に定まる値を示すキーワードも必要となるんだから素直にそれをconstにしておくべきだったか
設計ミスだな
どうせC++で静的に定まる値を示すキーワードも必要となるんだから素直にそれをconstにしておくべきだったか
設計ミスだな
178デフォルトの名無しさん
2023/03/07(火) 00:57:00.01ID:UNnBBHt0179デフォルトの名無しさん
2023/03/07(火) 01:08:45.38ID:gZ1LpnCS180デフォルトの名無しさん
2023/03/07(火) 01:27:52.75ID:phr7A4jU immutableとconstantの違いを区別できていない人がimmutableに対してconstと命名してしまったのかな
そのためconstantに対してconstと命名できなくなってconstexprと命名したと
そのためconstantに対してconstと命名できなくなってconstexprと命名したと
181デフォルトの名無しさん
2023/03/07(火) 01:31:47.04ID:CjRtBzJ1 同じ言葉や字句でも言語ごとにその概念が指すものは異なる
相対主義的に考えなさい
相手の価値観を理解しなければ説得力は生まれません
相対主義的に考えなさい
相手の価値観を理解しなければ説得力は生まれません
182デフォルトの名無しさん
2023/03/07(火) 02:21:18.68ID:oSHTm7sl ・y = ax (a=10である)
aをimmutableと呼ぶかconstantと呼ぶか
・y=f(a) (a=10である)
f(a)をconstantと呼ぶかconstant expressionと呼ぶか
まあ考え方次第だよな
aをimmutableと呼ぶかconstantと呼ぶか
・y=f(a) (a=10である)
f(a)をconstantと呼ぶかconstant expressionと呼ぶか
まあ考え方次第だよな
183デフォルトの名無しさん
2023/03/07(火) 02:29:20.82ID:phr7A4jU184デフォルトの名無しさん
2023/03/07(火) 08:05:58.19ID:oSHTm7sl >>183
かかるaについてなんと呼ぶかって話だから別にxについて気にする必要は無いよ
かかるaについてなんと呼ぶかって話だから別にxについて気にする必要は無いよ
185デフォルトの名無しさん
2023/03/07(火) 08:10:06.41ID:X5urLXgj >>182
理解できていなさ過ぎだろw
理解できていなさ過ぎだろw
186デフォルトの名無しさん
2023/03/07(火) 08:16:15.53ID:X5urLXgj187デフォルトの名無しさん
2023/03/07(火) 09:21:06.13ID:hj+ftEk+ 自演してRustゴリ推し他言語叩きをしてるのは
複製おじさんと呼ばれてるRustスレでは有名な荒らし
しかもそいつが「RustJP公式 」の中の人で間違いなさそうって話だから手に負えない
複製おじさんと呼ばれてるRustスレでは有名な荒らし
しかもそいつが「RustJP公式 」の中の人で間違いなさそうって話だから手に負えない
188デフォルトの名無しさん
2023/03/07(火) 10:27:35.30ID:QCj9HjAv >>187
「RustJP自称公式 」なのでなんの問題もない
「RustJP自称公式 」なのでなんの問題もない
189デフォルトの名無しさん
2023/03/07(火) 11:40:31.33ID:gZ1LpnCS >>180
それはお前用語なんじゃね?
それはお前用語なんじゃね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★3 [蚤の市★]
- 青森 緊急地震速報 [ぐれ★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★4 [蚤の市★]
- 【おこめ券】物価高対策の“おこめ券”全米販は1枚477円で販売へ 鈴木農水大臣「国民の皆様に活用いただきやすいよう工夫いただいた」 [ぐれ★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- 女の子だけど死にます
- おまいらスマホに画面保護フィルム貼る派?
- イチゴも高騰 イチゴのない真っ白なX'masケーキも登場 [459590647]
- 【速報】今年のゲームオブザイヤー、Clair Obscur: Expedition 33 [779938112]
- 【悲報】ホテル「高市早苗のせいで12月の売り上げがゼロになった😢」 [616817505]
- AI搭載のテディベア販売中止 小さな子どもに不適切な内容を教え始めたため [459590647]
