C++相談室 part154

■ このスレッドは過去ログ倉庫に格納されています
2021/01/08(金) 17:54:00.55ID:0DW9z0rL
※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/

テンプレここまで
2021/01/21(木) 22:59:11.40ID:/ZdL1i9k
うかつにもPerl厨の秘口を突いてしまった
2021/01/21(木) 23:06:26.51ID:rjSQv0Wq
>>177
> PerlをCGIを書くための言語
いつの時代の人よw
184デフォルトの名無しさん
垢版 |
2021/01/22(金) 00:49:01.09ID:di1fs6eX
たしかルビーの素となった言語がペールでは?
185デフォルトの名無しさん
垢版 |
2021/01/22(金) 01:19:07.37ID:55qwSi9o
macOSのソフトウェア更新ツールHomebrewはRuby製。マカーがいる限りRubyは不滅。
186デフォルトの名無しさん
垢版 |
2021/01/22(金) 13:19:25.84ID:pJ+Dy7HC
>>157
PerlもPHPも難しいとは思わないけど
だからこそ排除すべき
187デフォルトの名無しさん
垢版 |
2021/01/22(金) 13:20:41.30ID:pJ+Dy7HC
>>160
>1文字の特殊変数だらけの言語

Rubyのことですね判ります
2021/01/22(金) 14:12:04.30ID:aLDuncuZ
>>187
Rubyはそれはない。
Perlと間違ってないか?
2021/01/22(金) 14:18:28.68ID:WLGQ46hZ
C++のところで延々と続けるのもなんだけど、TECOってのは相当複雑怪奇だったみたいね
2021/01/22(金) 22:15:36.76ID:HHqIRAh/
C++が今後関数型プログラミングを言語としてサポートしていくことはありますか?
2021/01/22(金) 22:18:18.81ID:3W/g7okM
<functinal>で足りるんじゃね?
2021/01/22(金) 22:50:10.68ID:LtnZZu+T
こちらでどうぞ
https://mevius.5ch.net/test/read.cgi/tech/1427572389/
2021/01/22(金) 23:49:36.96ID:LcAiXyQN
>>192
C++の「マルチパラダイム」の中に関数型が今後入ることはあるか (あるいはもう入ってるか) という質問なんですが、変なことを聞いていますか?
2021/01/23(土) 00:00:03.65ID:rMuiLyZn
ぅえ?
2021/01/23(土) 01:38:03.71ID:PXGkLjAZ
もう入ってるでしょ?
2021/01/23(土) 04:37:52.61ID:Vx6mcd5N
Perlのソース汚いイメージしかないけどな
2021/01/23(土) 07:19:17.61ID:E7+6hgZm
std::functionとラムダ式で関数はほぼ第一級オブジェクトとして扱えるからC++はとっくに関数型言語ですよ
モナドだってやろうと思えば作れるよ
2021/01/23(土) 13:50:31.25ID:1/fAmr9E
じゃーHaskellにできることはC++でもできるし、同じように書けるって言うのかい
2021/01/23(土) 13:52:40.96ID:Q+Wu8A2P
>>198
なんでそうなるのかようわからんが。
2021/01/23(土) 14:06:29.89ID:pKYkJfCY
>>160
>1文字の特殊変数だらけの言語
APL記号?
2021/01/23(土) 14:54:28.68ID:Q+Wu8A2P
>>188
https://docs.ruby-lang.org/ja/latest/class/Kernel.html#V_--21
2021/01/23(土) 16:26:10.57ID:LPDMRZtK
>>200
懐かしいな
俺アンペールのいじってたよ
2021/01/23(土) 18:58:05.34ID:C4WlxIYr
>>198
そんなクソみたいなこと言うんだったら、まず「関数型言語」の定義から言えよ。
Lispが関数型言語じゃないとか言い始めそうだな。
204デフォルトの名無しさん
垢版 |
2021/01/24(日) 11:36:54.35ID:wSlEv8S7
Rubyは関数型ωωω
2021/01/24(日) 12:17:53.22ID:/MPXRGah
カオスコードって意味ならc++とperlが双璧だわな。rubyは別の意味で糞だが。
2021/01/24(日) 14:46:51.42ID:bXJjYU1w
rubyの糞とrailsの糞がかけ合わさって悪臭漂う糞になる
207デフォルトの名無しさん
垢版 |
2021/01/24(日) 21:13:47.08ID:hPeuQsPP
肛門を保護するために出る粘液はイイ匂いがするので、化学的に類似品が合成され、香水の原料になっています。
ウンコは臭いですが、ウンコの周りには良いものがあるかもしれない。
2021/01/24(日) 23:17:47.88ID:bXJjYU1w
Co-mon++
2021/01/25(月) 00:51:35.02ID:h/LmkNzq
>>207
腸液は質感、匂いともに精液に酷似してるっていうのはよく言われてるけど、それのことじゃないよね?
良い匂いの分泌液なんて聞いたことがない
2021/01/25(月) 09:53:48.54ID:RU5Fvovq
やだこのスレホモ臭い
211デフォルトの名無しさん
垢版 |
2021/01/25(月) 10:13:42.80ID:uSgkqdKl
と言いつつ嬉しそうな吉宗であった。
212デフォルトの名無しさん
垢版 |
2021/01/25(月) 13:06:55.63ID:sPc2eBUP
PerlとC++は、見づらいソースコードに慣れる能力を鍛えてくれる。
Perlをオワコン扱いする人は情弱である。
2021/01/25(月) 13:11:37.73ID:54hHF458
厄介者のperl厨
2021/01/25(月) 13:34:11.10ID:lM5Uli0g
糞コードに触れるとアンチパターンがわかるというのは確かにあるが、それを人に勧めるのは気がひける。
215デフォルトの名無しさん
垢版 |
2021/01/25(月) 13:48:32.46ID:sPc2eBUP
まずい酒の味を知らない者には、うまい酒の味を見分けることはできない。
2021/01/25(月) 21:12:20.67ID:bQwFUjl3
美味い酒の味を知ったら不味い酒は飲めん
2021/01/25(月) 22:13:56.33ID:IR169uBT
酒は飲まんからようわからん
218デフォルトの名無しさん
垢版 |
2021/01/25(月) 22:56:10.85ID:sPc2eBUP
まずい酒を飲めなくなることは、プログラミングに置きかえればクソコードのメンテナンスができなくなることを意味しており、スキル低下でしかない。
2021/01/25(月) 23:11:18.97ID:bBvI6B4m
まずい酒はわかるけどうまい酒はマジわからん…
220デフォルトの名無しさん
垢版 |
2021/01/25(月) 23:57:21.75ID:sPc2eBUP
うまい酒については「水のように飲みやすい」というほめ表現もあるが、なら水飲んどけよという話でもある。
2021/01/25(月) 23:57:36.36ID:t4dFVxvz
<body>
!unti {nuritakuri}
<body/>
2021/01/26(火) 00:02:06.39ID:Qnn6Y+tc
<head>
<bukkake> seisi <bukkake/>
<strong> naaaaaaaaa!!!<strong/>
<head/>
2021/01/26(火) 02:05:34.14ID:wg8lZWjJ
>>220
ほんまこれ
前にカエルの肉を食ったやつが「ほんと鶏肉とおんなじようなもんだから!食べてみて!」
ってしつこいんだが、だったら鶏肉でいいだろなんでわざわざゲテモノ食わにゃならんのか??となる
224デフォルトの名無しさん
垢版 |
2021/01/26(火) 03:51:19.13ID:uiGtA95I
寄生虫が良い風味出すから。
225デフォルトの名無しさん
垢版 |
2021/01/26(火) 06:09:38.08ID:ZRZozNwf
macOSのHomebrewいいね。Perlが最新の5.32.1に即対応。人柱上等なところに惚れる。
2021/01/26(火) 07:49:52.25ID:ZI8ZD6Xl
安めの食材や有り合わせでうまいもん作れる腕があっても
腐ったものはどうにもできない

例えるなら、これだろ
2021/01/26(火) 07:59:37.62ID:xVPuSdRM
>>220
酔える水なら。
2021/01/26(火) 11:52:17.15ID:XuLptVzr
>>223
今ジビエなどとおしゃれに言ってるがゲテモノ食いが今の事態を招いてる

中途半端な科学信仰が何もかも迷信にしてしまって自然を正しく畏れなくなった
229デフォルトの名無しさん
垢版 |
2021/01/26(火) 13:45:24.16ID:uiGtA95I
ちょっと腐ったほうが柔らかくなってアミノ酸も多いよ。
熟成させたと言えばグルメも安心だし。
230デフォルトの名無しさん
垢版 |
2021/01/26(火) 13:48:13.24ID:uiGtA95I
野菜は立てておくと腐らないんだけど、その代わり成長するからね。
光合成できるかも?と思ってなけなしの養分使って葉を伸ばすんだろうけど、光合成は出来ません。
231デフォルトの名無しさん
垢版 |
2021/01/26(火) 13:54:11.58ID:uiGtA95I
野菜の活〆を発明したら儲かるだろな。
放射線以外で。
2021/01/26(火) 21:06:31.25ID:Du8Hqhh0
いいかげんスレ違い。
233デフォルトの名無しさん
垢版 |
2021/01/26(火) 21:46:24.92ID:ZRZozNwf
プリプロセッサマクロだらけの“汚い”コードを否定したらC/C++の強みを失うことになる。
JavaやC#はプリプロセッサマクロが貧弱なのが玉にキズだ。
2021/01/26(火) 21:51:10.66ID:ZRZozNwf
pybind11スレがないこんな世の中じゃ〜Python〜
まぁマクロの塊のような代物だが。
2021/01/27(水) 06:03:44.65ID:yQalyIAE
C++はコミュニティで発言力のある人が大抵率直にものを言い過ぎる、悪く言えば口が悪いので忌み嫌われてるとこある
2021/01/27(水) 07:30:48.85ID:eLUquqZ0
>>229
カダベリンやムスカリンが発生してたり
セレウス菌が大量にいるのは
そういう問題じゃねえぜ
237デフォルトの名無しさん
垢版 |
2021/01/27(水) 07:48:28.28ID:4l9V085Z
でも、Linux板なんか失敗したボランティアの住所載せて、放火しろとは言ってませんよ??言ってませんよ??・・・などの書き込みあるからな。
それに比べれはだいぶ良識的では?
238デフォルトの名無しさん
垢版 |
2021/01/27(水) 11:26:52.94ID:cJSBZXf9
C/C++のプリプロセッサも貧弱すぎ
239デフォルトの名無しさん
垢版 |
2021/01/27(水) 17:43:27.13ID:nPuTGnvU
C++例外のスタック情報がとれないのはC++の欠点。
例外でスタック情報を使えるJava/C#/Python/Perlはエライ。
2021/01/27(水) 21:51:38.91ID:NT655YPf
おまえは二度とC++使うな
2021/01/27(水) 23:04:53.57ID:TqcnYSNG
>>239
スタックフレーム作ればイケるってば
2021/01/28(木) 09:07:27.76ID:dmDIUcy2
>>235
例えば誰?
2021/01/28(木) 10:23:46.51ID:vBYpvnJx
>>239
gdb にアタッチしたことないんか?

C++23 には stacktrace が入るから
デバッガを使いこなせなくても少し楽にトレースできるかもな。
244デフォルトの名無しさん
垢版 |
2021/01/28(木) 10:52:39.05ID:dNWrUHbO
>>223
フグは豚肉に触感似てるけどフグの方が美味い
245デフォルトの名無しさん
垢版 |
2021/01/28(木) 10:54:00.53ID:dNWrUHbO
>>228
日本で感染爆発が起きてないのは以前からジビエが流行してたからか
246デフォルトの名無しさん
垢版 |
2021/01/28(木) 10:55:14.42ID:dNWrUHbO
>>230-231
白菜は外の皮じゃなくて中の芯から先に食べろと言われている
2021/01/28(木) 11:40:01.79ID:eLxqvNeX
>>200
ユニコ時代だからAPLよりずっと先行ってるぞ
組み込み演算子で∩∉とか集合論の記号採用してたりアトミックな演算子は⚛++とか洒落効いてたりする
一方で古代perlのプレフィックスは緩和されてる
2021/01/28(木) 11:51:37.25ID:eLxqvNeX
∅∘∩ ⊍∪ ⊖ ⊎ ∖≅ ∈ ∉ ∋ ∌ ≡
≢ ⊂ ⊄ ⊃ ⊅ ⊆ ⊈ ⊇ ⊉ ≼ ≽.«»≠␤
他組み込みではこんな感じか
>= やらよりmずっと可読性高いと思う、エディタもvimとか高機能なのなら問題なかろう
␤文字を表示してくれるのは特に便利
2021/01/28(木) 11:58:59.45ID:kskG1wa2
>>245
さすがにコウモリはどこの地方でも食わんだろ
2021/01/28(木) 17:23:15.04ID:8Al9oSyF
なんでプリミティブ型って継承できんの?
2021/01/28(木) 17:29:22.44ID:vBYpvnJx
>>250
やりたいときってあるか?
2021/01/28(木) 17:41:41.73ID:GsoT0xyU
クラスAのオブジェクトをクラスBのメンバにするときってどうやってAのコンストラクタ呼ぶの?

class B{
 A a;

public:
 B(){
  // この辺でAのコンストラクタを呼びたい
 }
};
2021/01/28(木) 17:48:00.82ID:WrE+/6so
>>252
メンバのコンストラクタの方が先に呼ばれる。だからそこでは既にAは構築済み。
どうしてもBのコンストラクタ内でAのコンストラクタ呼びたいなら、メンバ変数はポインタで持つ
254デフォルトの名無しさん
垢版 |
2021/01/28(木) 18:07:20.07ID:IHrlZHr2
>>243
gdbはおいとくとして、Visual StudioってC++例外のスロー位置を追跡できたっけ?
2021/01/28(木) 18:50:38.47ID:Hqj+H5f7
>>252
初期化リストを使う
B() : a(hoge, piyo)
2021/01/28(木) 18:54:30.61ID:IHrlZHr2
あとで再初期化したくなること多いから、結局コンストラクタの実装を別の関数に分離すること多いよね。
コンストラクタの種類が増えたら使いまわしたくなるし。
2021/01/28(木) 19:24:37.48ID:q3mIN91/
>>243
デバッガ使いこなせないとか話にならんだろ・・
258デフォルトの名無しさん
垢版 |
2021/01/28(木) 19:28:49.13ID:IHrlZHr2
デバッガやシンボルがない環境でもスタックトレースできたほうが良いと思うけどね。
後発言語の生産性の高さはこの辺の充実ぶりにあるでしょ。
259デフォルトの名無しさん
垢版 |
2021/01/28(木) 19:42:24.27ID:IHrlZHr2
他プロセスと連携するシステムにはデバッガを当てにくい事が多い。
タイミング依存の不具合を追跡する場合、デバッガがまったく役に立たない。
2021/01/28(木) 20:25:47.81ID:eBfsAdOM
>>258
その手の生産性と成果物の効率はトレードオフでどっちを重視するかが違うだけでしょ
2021/01/28(木) 20:36:13.14ID:IHrlZHr2
デバッガ使いこなすとか言って悦に入ってる人と会話が噛み合わないんだが。
262デフォルトの名無しさん
垢版 |
2021/01/28(木) 20:36:14.66ID:yp+dwtvR
>>258
だよね
むしろデバッガをアタッチできる環境ならスタックトレースはなくてもなんとかなる
ユーザー環境でスタックトレースがテキストファイルに落ちるようになってるとトラブルシューティングがしやすい
2021/01/28(木) 21:29:31.41ID:oPlwADge
>>261
ここほとんどアマチュアの人だから許してやろうやw
2021/01/28(木) 21:48:11.74ID:q3mIN91/
>>261, >>263
悪いがプロだよ
IDEの機能を使いこなせてない初心者が、先に学ぶべきことから逃げて言語だけでどうにかさせようとするような
(いつものことだが)はちみつのミスリードに釘を刺しただけだ
2021/01/28(木) 21:51:13.66ID:q3mIN91/
>>261
あと、流れを読む限り俺の発言が気に入らなくてファビョってるのは君の方だよね、俺1行しか書いてなかったし(しかも大した内容じゃない)w
何が気に障ったんだ?
2021/01/28(木) 21:51:23.69ID:oPlwADge
いやごめん、俺は流れは一切追ってなくて他意はないよ
茶化したかっただけ
気にしないで
2021/01/28(木) 23:50:09.41ID:g6qVZG7L
発狂やないかw
Perlの人かな
2021/01/28(木) 23:53:15.94ID:RfcrpqT0
>>253,255
じゃあ、Bを構築してしばらく経ってからわかる情報を使ってAを構築したいとき、Aのインスタンスをメンバとして持つのは不可能ということですか?
ポインタで持つ以外の方法はない (想定されてない?) のでしょうか

constなメンバ変数を初期化するときも近いことを思います
269デフォルトの名無しさん
垢版 |
2021/01/29(金) 00:10:27.15ID:ZIYbfTXe
>>268
そういうコンストラクタ制約を持つクラスはけっこう多い。
WindowsのC++向けGDI+ライブラリのクラス群はまさにこれが当てはまる。
広範に存在している以上は受け入れるしかない。
今時は標準でshared_ptrなどの共有ポインタクラスを使えるので、さほど問題にならないでしょ。
2021/01/29(金) 00:19:48.35ID:SRnp44iw
>>268
Aに引数なしのコンストラクタ、コピーorムーブ代入演算子があるなら、後で作って代入でもいいけど
まぁ特に理由なければ(スマート)ポインタで持った方が無難だし楽

constはどうしようもない
2021/01/29(金) 00:22:16.89ID:MWSZTtHp
>>268
「Bを構築してしばらく経ってからわかる情報」を返すヘルパー関数を作って初期化リストの中で呼べばいいじゃない
2021/01/29(金) 07:49:13.10ID:/axUqcOX
データメンバをconstってあんまりやらないな
publicに晒すとかじゃなきゃメンバ関数を
constにするだけで足りるから

あ、staticメンバのconstはよくやるけどね
2021/01/29(金) 08:02:53.38ID:1V7SRlCX
>>251
ある
実装は同じunsigned longでも意味が違うから別クラスとして扱いたいときとか
private継承できたらナア……
現状(C++03)はプリミティブ型と同じ演算子(のうちの当座のアプリケーションで使うやつ)をいちいち実装したクラスを作って
NDEBUGマクロで実装を切り替えるみたいな涙ぐましい努力が要る
2021/01/29(金) 08:05:13.74ID:1V7SRlCX
訂正orz
誤: private継承
正: public継承かつoperator unsigned long()はprivateかつunsigned longからの構築はexplicit
2021/01/29(金) 08:08:37.91ID:1V7SRlCX
メンバをconstにして代入演算子を定義せずにいるとデフォルトの代入演算子をが定義できないとコンパイラに文句を言われる俺環、
2021/01/29(金) 09:20:50.39ID:koPyq8om
>>273
それ、継承できたとして式の中で混在しても区別されないんじゃね?
テンプレートの型引数で区別するような使い方くらいしか思いつかないが。
2021/01/29(金) 12:20:22.74ID:c2S2Mocm
メンバ変数のconstはポインタ型ならすることあるけど、値で持つメンバ変数はあんまり意味なくない?
constなくても勝手に外部から書き換えられないように、ちゃんと隠蔽しとけばいいだけでしょ
2021/01/29(金) 12:35:16.78ID:2DekME/2
>>277
class内の処理においても変更しないつもりだ、変更されることはない、と明示することで意識しておかなければならないことを少し軽減できるのだから、無駄ではないと思う。
手間をかけずにconstにできるならしておけばいいし、逆に無理して複雑なことをしてまでconstにする必要はないという程度のことかと思う。
2021/01/29(金) 12:55:03.34ID:c2S2Mocm
>>278
たしかにconst付いてればコンストラクタで設定した値がずっと変わらないことが
明示的になるから無意味ではないか
2021/01/29(金) 14:10:30.45ID:heeNhc25
>>273
そういう用途なら opaque alias という提案だけは出てるけど
どう見てもグダグダなんで、場当たり的な方法のほうがマシだと思うよ。
281デフォルトの名無しさん
垢版 |
2021/01/29(金) 16:04:20.47ID:5pIDnM+S
>>251
3値のboolean作るときってboolean継承すべき?
282デフォルトの名無しさん
垢版 |
2021/01/29(金) 16:07:44.73ID:5pIDnM+S
>>256
言いたいことは判るが
コピーコンストラクタやムーブコンストラクタが勝手に使われるから
デフォルトに任せてると何が起こるかは判ってた方が良い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況