※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/
テンプレここまで
探検
C++相談室 part154
■ このスレッドは過去ログ倉庫に格納されています
2021/01/08(金) 17:54:00.55ID:0DW9z0rL
432デフォルトの名無しさん
2021/02/01(月) 18:02:36.06ID:jyRtFT93 大体、この板には中国人や韓国人はほとんど来ず、来ているのはアメリカ人
やヨーロッパやアフリカが多いらしい。
やヨーロッパやアフリカが多いらしい。
433デフォルトの名無しさん
2021/02/01(月) 18:44:36.44ID:+21BJdPm いやrustが最強でしょww
434デフォルトの名無しさん
2021/02/01(月) 18:47:23.23ID:CDWd/LQ7 Goは駄目なん?
435デフォルトの名無しさん
2021/02/01(月) 18:57:50.94ID:0s4gr52A 自作の構造体をsetに入れたいときって operator < さえ定義しとけば良いの?
eraseとかは全部のメンバが同じものを見つけて消してくれると思って良い?
eraseとかは全部のメンバが同じものを見つけて消してくれると思って良い?
436デフォルトの名無しさん
2021/02/01(月) 21:08:59.66ID:ZelzH3+k 検索するとひろみをお勧めしてくる時点で無理だった。
437デフォルトの名無しさん
2021/02/01(月) 21:34:17.50ID:ZelzH3+k しかもチップも取るんかーい!
438デフォルトの名無しさん
2021/02/01(月) 22:43:42.23ID:CtNYZU7D439デフォルトの名無しさん
2021/02/01(月) 22:46:24.33ID:FbSt8IWH 演算子オーバーロードは地雷度高い。
440デフォルトの名無しさん
2021/02/01(月) 22:53:14.56ID:CtNYZU7D まあ、setに入れるためだけなら演算子オーバーロードするより関数オブジェクト使う方がいいかね
441デフォルトの名無しさん
2021/02/01(月) 23:03:45.93ID:f9q1oLiO C++の質問じゃないとは思うんですが、上位数ビットを0で埋めたいといった場合は
「0埋めしたいビットを0、他を1にしたもので&演算する」
であってますか?
「0埋めしたいビットを0、他を1にしたもので&演算する」
であってますか?
442デフォルトの名無しさん
2021/02/01(月) 23:11:37.27ID:ZelzH3+k 合ってます。
443デフォルトの名無しさん
2021/02/01(月) 23:17:45.03ID:f9q1oLiO444デフォルトの名無しさん
2021/02/02(火) 02:08:00.00ID:DmcXRB7X へ椅子ブックが少し綺麗になってます。
445デフォルトの名無しさん
2021/02/02(火) 02:10:27.05ID:DmcXRB7X RedditのC++コミュは17万人、オンラインが500人以上。
凄いね。
凄いね。
446デフォルトの名無しさん
2021/02/02(火) 10:17:10.33ID:uFATDe77 ビット演算の中で最速なのってシフトじゃなかったっけ?
だから下手したら>>443の方がフェムト秒レベルでは微妙に早いんじゃない?
だから下手したら>>443の方がフェムト秒レベルでは微妙に早いんじゃない?
447デフォルトの名無しさん
2021/02/02(火) 10:29:21.33ID:kGc73xZq 命令語長がマスク分だけでもQWORDに対して、シフトなら1バイト程度か
448デフォルトの名無しさん
2021/02/02(火) 12:37:23.36ID:vWAdhQ36449はちみつ餃子 ◆8X2XSCHEME
2021/02/02(火) 12:49:48.88ID:+MtixY9O450デフォルトの名無しさん
2021/02/02(火) 13:08:50.07ID:aIAA0dxH Goはクソすぎるから駄目だ
何が駄目といってまず名前が駄目
何が駄目といってまず名前が駄目
451デフォルトの名無しさん
2021/02/02(火) 13:45:57.34ID:8HFbTrXI GoはPC初心者用
昔でいういわばBASIC
昔でいういわばBASIC
452デフォルトの名無しさん
2021/02/02(火) 18:03:08.15ID:FSwj4KRK バレルシフタと単純ゲート
レイテンシも糞もねえだろ
レイテンシも糞もねえだろ
453デフォルトの名無しさん
2021/02/02(火) 18:11:36.53ID:8HFbTrXI でもその縛りプレイが大好きな変人も居る
454デフォルトの名無しさん
2021/02/02(火) 22:23:15.74ID:likaPPB8 operator ==も定義しておくとなお良い
==のために<が2回呼ばれるのもアホらしいと感じるはず…
結局std::rel_opsを使って全部定義するという結論に落ち着く
==のために<が2回呼ばれるのもアホらしいと感じるはず…
結局std::rel_opsを使って全部定義するという結論に落ち着く
455デフォルトの名無しさん
2021/02/02(火) 22:25:04.30ID:likaPPB8 インテルのやつはバレルシフタじゃない気配がする…
シフト結果をテーブル化した方が速かったことg
シフト結果をテーブル化した方が速かったことg
456デフォルトの名無しさん
2021/02/02(火) 22:28:35.48ID:likaPPB8 あるいは最大限バレルシフタにしようとしているがパイプライン1段に収まっていないだけかもしれん…
457はちみつ餃子 ◆8X2XSCHEME
2021/02/03(水) 00:25:34.21ID:p0NvFN6a >>443
gcc, clang, msvc で最適化最大で試してみたら and をとるように最適化されたぞ。
主要コンパイラがそのように最適化するということは (前後の状況によるかもしれないけど)
たぶん and のほうが効率的ってことなんだろう。
gcc, clang, msvc で最適化最大で試してみたら and をとるように最適化されたぞ。
主要コンパイラがそのように最適化するということは (前後の状況によるかもしれないけど)
たぶん and のほうが効率的ってことなんだろう。
458デフォルトの名無しさん
2021/02/03(水) 00:38:50.10ID:53EFMpkm ビットシフトは64bit整数でのコンパイラ解釈が信用できないからAND演算子使うのが確実だと思うけどどうかな。
459デフォルトの名無しさん
2021/02/03(水) 00:51:08.70ID:5b6XJ+8s >>458
落ち着いてよく考えてみよう
お前がC++で作った成果物のうち、お前自身が書いたコードの割合なんてごくごく僅かに過ぎない
仮にそんなレベルで互換性が当てにならないような環境があったとして、お前が直接書いていない他の99%のコードがまともに動くと本気で思うか?
落ち着いてよく考えてみよう
お前がC++で作った成果物のうち、お前自身が書いたコードの割合なんてごくごく僅かに過ぎない
仮にそんなレベルで互換性が当てにならないような環境があったとして、お前が直接書いていない他の99%のコードがまともに動くと本気で思うか?
460はちみつ餃子 ◆8X2XSCHEME
2021/02/03(水) 00:54:51.58ID:p0NvFN6a 0xffffffffff とか書いてたら桁数を正しく書けてるか不安になる……
今の C++ だと桁区切りも入れられるけど、
どう入れたら意図がわかりやすいかようわからんし、
シフトで表現するのもありな選択だと思う。
今の C++ だと桁区切りも入れられるけど、
どう入れたら意図がわかりやすいかようわからんし、
シフトで表現するのもありな選択だと思う。
461デフォルトの名無しさん
2021/02/03(水) 01:01:02.57ID:+m9V7fCu >>458
具体例をお願いできますか?
具体例をお願いできますか?
462デフォルトの名無しさん
2021/02/03(水) 01:20:23.24ID:53EFMpkm コンパイラがちゃんと32bit整数への丸め警告を出してくれるならいいが、しれっとコンパイルされたらお手上げ。
463デフォルトの名無しさん
2021/02/03(水) 02:47:38.99ID:+m9V7fCu464デフォルトの名無しさん
2021/02/03(水) 06:01:31.58ID:QcjMAifW >>460
0x0000'ffffull
0x0000'ffffull
465デフォルトの名無しさん
2021/02/03(水) 06:29:42.77ID:y3dS6mbz unsigned long long x = (0x1ULL << 32) - 1ULL;
ならちゃんと動く(と思う)が
unsigned long long x = (0x1 << 32) - 1;
とかだとイマイチ不安が…
ならちゃんと動く(と思う)が
unsigned long long x = (0x1 << 32) - 1;
とかだとイマイチ不安が…
466デフォルトの名無しさん
2021/02/03(水) 06:38:54.06ID:Nl+WsQpo >>465
下の方はイコールの右辺にintしか出てこないのだから、intが32bitの環境なら32bitでしか計算されないだろう
下の方はイコールの右辺にintしか出てこないのだから、intが32bitの環境なら32bitでしか計算されないだろう
467デフォルトの名無しさん
2021/02/03(水) 10:23:38.02ID:q8Ed7guF 丸めと暗黙の型変換は違うものでは?
468デフォルトの名無しさん
2021/02/03(水) 11:47:09.95ID:HtH84Poo 丸めや打ち切りは浮動小数点数の概念やね
469デフォルトの名無しさん
2021/02/03(水) 13:02:19.58ID:53EFMpkm ビットシフト記述は自然すぎてソースコードに埋もれてしまう。
64ビットマスクのAND記述は見た目がどぎついので、かえって人間の注意を引くことができる。
64ビットマスクのAND記述は見た目がどぎついので、かえって人間の注意を引くことができる。
470デフォルトの名無しさん
2021/02/03(水) 14:45:43.48ID:J722wycU なにいってんだこいつ
471デフォルトの名無しさん
2021/02/03(水) 15:50:32.48ID:pE1foWCw472デフォルトの名無しさん
2021/02/03(水) 19:12:23.88ID:XaYGR0Wv そう?ポインタサイズくらいしか違いなくない?
473デフォルトの名無しさん
2021/02/03(水) 21:29:02.90ID:53EFMpkm まじめにC/C++標準型size_tを使っている人には32bitと64bitの処理切り分けが地味に辛い。
474デフォルトの名無しさん
2021/02/03(水) 22:36:28.54ID:y3dS6mbz >>465の下の方のやつは符号拡張されたりする気がするorz
475デフォルトの名無しさん
2021/02/03(水) 22:40:25.83ID:Ea4RwHR/ >>424
> obj& operator [] (int i) {return elem[i];}
> もちろんelem[]の定義はobj elem[];
objは行列クラスで、elemはobjのメンバで行列要素を格納する一次元配列、で合ってますよね?
class obj{
array<int, ?> elem;
public:
obj& operator [] (int i) {return elem[i];}
};
ということですか?
> obj& operator [] (int i) {return elem[i];}
> もちろんelem[]の定義はobj elem[];
objは行列クラスで、elemはobjのメンバで行列要素を格納する一次元配列、で合ってますよね?
class obj{
array<int, ?> elem;
public:
obj& operator [] (int i) {return elem[i];}
};
ということですか?
476デフォルトの名無しさん
2021/02/04(木) 03:22:45.38ID:R0EDVzG0477デフォルトの名無しさん
2021/02/04(木) 04:17:06.60ID:SkZt7jTc478デフォルトの名無しさん
2021/02/04(木) 11:32:06.33ID:sIhIIpMX size_t型はSTLを使う人なら避けて通れない。
479デフォルトの名無しさん
2021/02/04(木) 11:40:48.70ID:ZzRKCYY/ >>471
それ本来そこにあった問題に気付いていないだけだったと思うぞ
それ本来そこにあった問題に気付いていないだけだったと思うぞ
480デフォルトの名無しさん
2021/02/04(木) 11:44:02.03ID:ZzRKCYY/481デフォルトの名無しさん
2021/02/04(木) 12:06:17.02ID:DWE1XJjK >>480
それってarrayのarrayとかvectorのvectorとか配列の配列として行列を作るのと同じですよね?
一次元配列に要素を格納しておいて[][]でアクセスするのは不可能なんでしょうか
row majorやcolumn majorを自由にできる、等の理由でそちらの方が好ましいのですが
それってarrayのarrayとかvectorのvectorとか配列の配列として行列を作るのと同じですよね?
一次元配列に要素を格納しておいて[][]でアクセスするのは不可能なんでしょうか
row majorやcolumn majorを自由にできる、等の理由でそちらの方が好ましいのですが
482デフォルトの名無しさん
2021/02/04(木) 12:29:12.61ID:waKgX41w 一次元配列を内包しているクラスのoperator[](int y)が、下記のようなクラスを返すようにすればできる。
class Row {
vector<int>& 一次元配列への参照
int 列数
int y
int& operator[](int x){ return 一次元配列への参照[列数*y+x]; }
};
でも自分ならoperator[]は使わずもとのクラスにindex(x, y)みたいな関数を用意して対処すると思う。
class Row {
vector<int>& 一次元配列への参照
int 列数
int y
int& operator[](int x){ return 一次元配列への参照[列数*y+x]; }
};
でも自分ならoperator[]は使わずもとのクラスにindex(x, y)みたいな関数を用意して対処すると思う。
483デフォルトの名無しさん
2021/02/04(木) 13:10:42.29ID:g2cSm/y9 malloc とか new で確保したメモリ領域を使うように
vector ( または array ) をインスタンス化するにはどうすればよいですか?
vector ( または array ) をインスタンス化するにはどうすればよいですか?
484はちみつ餃子 ◆8X2XSCHEME
2021/02/04(木) 13:13:43.37ID:ttCVH4wp >>481
こういう雰囲気で他のクラスをひとつ間に入れることでなんとかなる。
https://wandbox.org/permlink/ZXI1nkkCLRJQPtAJ
だけど俺も >>482 の言う通り operator[] にこだわらずに適当なメンバ関数でやる方法を推すわ。
実態として二引数なのだし、記法のためだけに余計な定義をするの馬鹿らしいと思う。
提案としては hoge[i, j] みたいな感じで二引数のインデックスを受け取れるようにする案は出てるんだが、
現状ではこのときのカンマは普通にカンマ演算子として解釈される。
前準備として、 C++20 からはブラケット内でのカンマは非推奨にするという変更が入っている。
https://timsong-cpp.github.io/cppwp/n4861/depr.comma.subscript
こういう雰囲気で他のクラスをひとつ間に入れることでなんとかなる。
https://wandbox.org/permlink/ZXI1nkkCLRJQPtAJ
だけど俺も >>482 の言う通り operator[] にこだわらずに適当なメンバ関数でやる方法を推すわ。
実態として二引数なのだし、記法のためだけに余計な定義をするの馬鹿らしいと思う。
提案としては hoge[i, j] みたいな感じで二引数のインデックスを受け取れるようにする案は出てるんだが、
現状ではこのときのカンマは普通にカンマ演算子として解釈される。
前準備として、 C++20 からはブラケット内でのカンマは非推奨にするという変更が入っている。
https://timsong-cpp.github.io/cppwp/n4861/depr.comma.subscript
485はちみつ餃子 ◆8X2XSCHEME
2021/02/04(木) 13:20:29.03ID:ttCVH4wp >>483
ある時点で確保済みのメモリの上にオブジェクトを構築するには
std::uninitialized_default_construct を使う。
でも std::vector 自体を適当なメモリの上に構築できても
std::vector 内で使うメモリは std::allocator で確保しようとするから、
必要ならアロケータを定義する必要がある。
ある時点で確保済みのメモリの上にオブジェクトを構築するには
std::uninitialized_default_construct を使う。
でも std::vector 自体を適当なメモリの上に構築できても
std::vector 内で使うメモリは std::allocator で確保しようとするから、
必要ならアロケータを定義する必要がある。
486デフォルトの名無しさん
2021/02/04(木) 15:40:11.75ID:R0EDVzG0 >>479
いや、全て32BITは、それに全て統一することで速度とメモリ効率と実用性の
バランスが取れていた。
ところが64BITだと実用上、表せる値の範囲はオーバースペックで
変数のメモリに占めるバイト数が8バイトと余りにも効率が悪い。
なので、多くの数値は32BITとし、必要な部分だけ64BITにするという
面倒な選択を強いられる様になった。
アドレスが64BITなので、それを整数型に入れるためには32BITの整数では
不足するので引きつられて整数も64BITを必要としがちになり、大混乱
が生じている。
(また、メモリーもアドレスを32BITより多くを必要とするアプリは非常に稀。)
いや、全て32BITは、それに全て統一することで速度とメモリ効率と実用性の
バランスが取れていた。
ところが64BITだと実用上、表せる値の範囲はオーバースペックで
変数のメモリに占めるバイト数が8バイトと余りにも効率が悪い。
なので、多くの数値は32BITとし、必要な部分だけ64BITにするという
面倒な選択を強いられる様になった。
アドレスが64BITなので、それを整数型に入れるためには32BITの整数では
不足するので引きつられて整数も64BITを必要としがちになり、大混乱
が生じている。
(また、メモリーもアドレスを32BITより多くを必要とするアプリは非常に稀。)
487デフォルトの名無しさん
2021/02/04(木) 16:48:02.49ID:DWE1XJjK488デフォルトの名無しさん
2021/02/04(木) 17:07:22.68ID:dB2jWvbu unique_ptr<Hoge[]> p(new Hoge[4]{a, b, c, d});
みたいな定義と同時に代入は出来るのですが
(各要素毎に Hoge(a), Hoge(b), Hoge(c), Hoge(d) になりました)
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4);
だと引数無しのデフォルトコンストラクタが無いといけないし
(そもそも引数無しのデフォルトコンストラクタ作りたくない)
unique_ptr<Hoge[]> p = make_unique<Hoge[]>({a, b, c, d});
とか
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4){a, b, c, d};
とかはコンパイル出来ませんでした
引数無しのデフォルトコンストラクタがあれば
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4);
p.reset(new Hoge[4]{a, b, c, d});
だとうまく逝きますが効率が悪い気がします
make_unique は使ってはいけないのでしょうか?
みたいな定義と同時に代入は出来るのですが
(各要素毎に Hoge(a), Hoge(b), Hoge(c), Hoge(d) になりました)
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4);
だと引数無しのデフォルトコンストラクタが無いといけないし
(そもそも引数無しのデフォルトコンストラクタ作りたくない)
unique_ptr<Hoge[]> p = make_unique<Hoge[]>({a, b, c, d});
とか
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4){a, b, c, d};
とかはコンパイル出来ませんでした
引数無しのデフォルトコンストラクタがあれば
unique_ptr<Hoge[]> p = make_unique<Hoge[]>(4);
p.reset(new Hoge[4]{a, b, c, d});
だとうまく逝きますが効率が悪い気がします
make_unique は使ってはいけないのでしょうか?
489デフォルトの名無しさん
2021/02/04(木) 17:51:26.68ID:b9gCdorg >>487
485も見てねー
485も見てねー
490デフォルトの名無しさん
2021/02/04(木) 17:52:07.72ID:b9gCdorg まちがえた。484
491デフォルトの名無しさん
2021/02/04(木) 20:56:33.92ID:ZyzsEROR 配列のunique_ptrは色々と中途半端で使いづらいからオススメしない
492デフォルトの名無しさん
2021/02/04(木) 22:14:32.91ID:b9gCdorg493デフォルトの名無しさん
2021/02/04(木) 22:20:26.07ID:un3OWVjy494デフォルトの名無しさん
2021/02/04(木) 22:47:34.63ID:/RiZUiBF >>493
アドレスを整数に入れるのは過去の話じゃないぞ
アドレスを整数に入れるのは過去の話じゃないぞ
495デフォルトの名無しさん
2021/02/04(木) 22:51:09.67ID:sIhIIpMX intptr_t整数型を使ってたのっていつの時代?
496デフォルトの名無しさん
2021/02/04(木) 23:24:48.23ID:hMfhfQWp uintptr_tならいつもお世話になっております
497デフォルトの名無しさん
2021/02/05(金) 00:01:41.63ID:NIkVqohR この手合いのボケを量産するのはC++の害だな
498デフォルトの名無しさん
2021/02/05(金) 01:35:15.82ID:EB7VAtvO むしろCの害
499デフォルトの名無しさん
2021/02/05(金) 01:52:47.05ID:xbM9VFWh Rubyって結局勉強しないままPythonの時代になってしまったな
500デフォルトの名無しさん
2021/02/05(金) 04:42:48.12ID:ZuGfyZDY 同様にC++を勉強しないままRustの時代になる
501デフォルトの名無しさん
2021/02/05(金) 09:51:39.70ID:U76qOqQA >>488
https://www.it-swarm.jp.net/ja/c%2B%2B/new演算子よりもstd-makeuniqueを使用する利点/826350881/amp/
https://ja.stackoverflow.com/questions/24876/make-uniqueの利点
https://www.it-swarm.jp.net/ja/c%2B%2B/new演算子よりもstd-makeuniqueを使用する利点/826350881/amp/
https://ja.stackoverflow.com/questions/24876/make-uniqueの利点
502デフォルトの名無しさん
2021/02/05(金) 13:28:24.98ID:ou/gU5gH c++やらずにrustとか馬鹿量産するだけにしか思えんな。
503デフォルトの名無しさん
2021/02/05(金) 14:10:32.07ID:Xzu/prlh それ言ったらノーコードがどうたら言ってる奴らはもっとやばそう
504デフォルトの名無しさん
2021/02/05(金) 14:17:08.86ID:M7C1cdPI ノーコードていってノードツリーみたいなのでフロー管理するやつ
よくゲーム系ツールにありがちだけど、サンプルみたいな単純な処理ならともかく
こみいったフローになってくるとノード間の接続線がものすごいことになって
とても管理しようという気になれない、まさに見た目どおりのスパゲティプログラムに
よくゲーム系ツールにありがちだけど、サンプルみたいな単純な処理ならともかく
こみいったフローになってくるとノード間の接続線がものすごいことになって
とても管理しようという気になれない、まさに見た目どおりのスパゲティプログラムに
505デフォルトの名無しさん
2021/02/05(金) 14:18:44.73ID:ou/gU5gH506デフォルトの名無しさん
2021/02/05(金) 15:14:07.00ID:zImWQG8r VCPKGのupdate、upgradeが常に失敗するんだけど、使えてる人いますか?
小まめにupdateしないからだろか?
小まめにupdateしないからだろか?
507デフォルトの名無しさん
2021/02/05(金) 15:14:37.91ID:zImWQG8r Goは標準ライブラリが圧倒してる。
508デフォルトの名無しさん
2021/02/05(金) 15:18:44.78ID:zImWQG8r 半年に一度フルビルドみたいになってしまう。
509デフォルトの名無しさん
2021/02/05(金) 16:12:02.35ID:A9cGRDK5 Goは何がクソといってまず名前がクソ
510デフォルトの名無しさん
2021/02/05(金) 16:36:26.85ID:zImWQG8r C++は基本だから、義務教育で習得するべき。
511デフォルトの名無しさん
2021/02/05(金) 16:50:43.11ID:/MNAnFTn 言語仕様がでかすぎるからC言語で精一杯
オマケで紹介される程度かな
オマケで紹介される程度かな
512デフォルトの名無しさん
2021/02/05(金) 18:21:14.28ID:7P5D6x+s513デフォルトの名無しさん
2021/02/05(金) 19:09:46.26ID:AjJLCZml 仕事ができるのならw
514デフォルトの名無しさん
2021/02/05(金) 20:48:06.29ID:ou/gU5gH >>512
仕事ができるならなw
できないカスがクソみたいなもん押し付けてくるから文句が出るんだよ。
rustでもpythonでもまともなコード書いてりゃ文句はないわ。
まともじゃないから文句が出る。
仕事ができるならなw
できないカスがクソみたいなもん押し付けてくるから文句が出るんだよ。
rustでもpythonでもまともなコード書いてりゃ文句はないわ。
まともじゃないから文句が出る。
515デフォルトの名無しさん
2021/02/05(金) 21:49:13.85ID:a81hUa+F というか、プログラマとしてrust(鉄さび、腐食)になるというダブルミーニングを狙ったんだと思うけど。
516デフォルトの名無しさん
2021/02/05(金) 21:59:53.11ID:kFtfKVND お前らってド素人のくせになんでいっちょまえの口利くん?
それって不思議だわ
それって不思議だわ
517デフォルトの名無しさん
2021/02/05(金) 22:34:33.49ID:EB7VAtvO Rustの名前は金属の錆じゃなくてサビ菌が由来
518デフォルトの名無しさん
2021/02/05(金) 22:36:07.20ID:NIkVqohR Rottenでいい
519デフォルトの名無しさん
2021/02/05(金) 22:48:47.57ID:a81hUa+F Perl6はRakuになってしまったし、Rustもいずれ「わびさび」の境地でSabiに改名されるでしょ。
520デフォルトの名無しさん
2021/02/06(土) 03:04:22.39ID:kQVOjfvp 「まともなコードが書けるなら」じゃなくて、まともなコードを強制するのがRustという言語の方針だと思うが
521デフォルトの名無しさん
2021/02/06(土) 04:45:05.79ID:oQfB5lBJ >>284
昔からのプログラミング/電気界隈の慣習だから仕方ないけど、2要素のミニマルなブール代数しか扱わないにも関わらずboolean型を称するのがそもそもキモい
プログラミングで使うような半順序関係は、9割booleanで書くのが一番スッキリする
一般のbool型をプリミティブにして、そこからt/fやら三要素やらに派生するのが合理的に思う
昔からのプログラミング/電気界隈の慣習だから仕方ないけど、2要素のミニマルなブール代数しか扱わないにも関わらずboolean型を称するのがそもそもキモい
プログラミングで使うような半順序関係は、9割booleanで書くのが一番スッキリする
一般のbool型をプリミティブにして、そこからt/fやら三要素やらに派生するのが合理的に思う
522デフォルトの名無しさん
2021/02/06(土) 04:50:47.70ID:GfZyzG1j ブーリアン革命。
523デフォルトの名無しさん
2021/02/06(土) 05:13:59.88ID:oQfB5lBJ 革命というか、クラスシステムでブール代数をエミュレートしてるのが現状のOOPじゃないかと
まあ言語によって可補性はマチマチだけど、全てについてスーパークラス/サブクラスなクラスを設けるのは、メインストリームの言語では大体そうだろ
まあ言語によって可補性はマチマチだけど、全てについてスーパークラス/サブクラスなクラスを設けるのは、メインストリームの言語では大体そうだろ
524デフォルトの名無しさん
2021/02/06(土) 07:27:56.30ID:S9Y30hRK >>520
だとしたら胡散臭さ200%のカルトだな
だとしたら胡散臭さ200%のカルトだな
525デフォルトの名無しさん
2021/02/06(土) 09:31:12.13ID:rZdEmaWa >>524
Java、Kotlin、Scala、C#、Ruby、Python、PHP
あたりのどれかを触ってみれば、危険な記述を言語仕様レベルで封印することのありがたさが分かる
他言語も触ってみることをオススメする
Java、Kotlin、Scala、C#、Ruby、Python、PHP
あたりのどれかを触ってみれば、危険な記述を言語仕様レベルで封印することのありがたさが分かる
他言語も触ってみることをオススメする
526デフォルトの名無しさん
2021/02/06(土) 09:34:34.84ID:5Ze23T9D よくわからんが安全カミソリみたいなものかね?
527デフォルトの名無しさん
2021/02/06(土) 10:10:31.61ID:rZdEmaWa >>526
そんな感じ
まぁ、C++もマスターすれば危険な記述を避けることはできるんだけど...
プログラマーが悪意を持ってプログラムを記述しない限り安全なコードになるようにしようという試みは大切だと思う
そんな感じ
まぁ、C++もマスターすれば危険な記述を避けることはできるんだけど...
プログラマーが悪意を持ってプログラムを記述しない限り安全なコードになるようにしようという試みは大切だと思う
528デフォルトの名無しさん
2021/02/06(土) 10:11:15.51ID:S9Y30hRK >>525
ありがとう、おまえさんのレベルの低さがよくわかった
文法や動作がよくわかってなくてマシンに警告してもらわなきゃ自分では判断できないんだな
アプリの内容として良からぬ事を企むという次元には程遠いわけか
ありがとう、おまえさんのレベルの低さがよくわかった
文法や動作がよくわかってなくてマシンに警告してもらわなきゃ自分では判断できないんだな
アプリの内容として良からぬ事を企むという次元には程遠いわけか
529デフォルトの名無しさん
2021/02/06(土) 10:12:54.42ID:rZdEmaWa >>528
投稿した瞬間の不意打ちレスワロス
投稿した瞬間の不意打ちレスワロス
530デフォルトの名無しさん
2021/02/06(土) 10:17:55.71ID:u/OM7jGY531デフォルトの名無しさん
2021/02/06(土) 11:01:19.43ID:PohEB++t >>504
Unity とか UE はきらい?
Unity とか UE はきらい?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- (´・ω・`)おはよ
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- くそしてかがやけ
- 🪬本日のコンマ占い🧿
