次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part140
■ このスレッドは過去ログ倉庫に格納されています
2019/01/13(日) 05:56:22.70ID:9RrR7Arz
374デフォルトの名無しさん
2019/01/30(水) 01:17:13.07ID:vB8508VG >>372
実世界で天才と言われているオイラが、STLや今のC++は汚いとしか思えないけどな。
実世界で天才と言われているオイラが、STLや今のC++は汚いとしか思えないけどな。
375デフォルトの名無しさん
2019/01/30(水) 01:39:47.40ID:gkVZVPIY Allocator周りへの不満はあるだろうなと思うけど
削除された値を示すイテレータに正しい内容か不正だと通知を入れるのは
あまりにもコストが大きいからやってないだけだと思う
削除された値を示すイテレータに正しい内容か不正だと通知を入れるのは
あまりにもコストが大きいからやってないだけだと思う
376デフォルトの名無しさん
2019/01/30(水) 01:45:57.91ID:GE8h//C5 >>369
お前の言ってる事もSTL並みにゴチャゴチャやで。
お前の言ってる事もSTL並みにゴチャゴチャやで。
377デフォルトの名無しさん
2019/01/30(水) 01:56:09.46ID:YAuiBXnQ >>376
STLの方がまだ理屈が通っている分、難解だとしても理解しやすい。
STLの方がまだ理屈が通っている分、難解だとしても理解しやすい。
378デフォルトの名無しさん
2019/01/30(水) 02:00:39.54ID:UPzEtDGO >>362
確かに年2倍は盛ったがシリコンの比例縮小則が続く限りクロックは伸び続けるはず…
リーク電流による爆熱はHigh-Kで対策されたし
マルチコアに向かう流れは業界の怠惰にすぎず、物理的制約のせいではない…!
確かに年2倍は盛ったがシリコンの比例縮小則が続く限りクロックは伸び続けるはず…
リーク電流による爆熱はHigh-Kで対策されたし
マルチコアに向かう流れは業界の怠惰にすぎず、物理的制約のせいではない…!
379デフォルトの名無しさん
2019/01/30(水) 02:03:01.61ID:TJF4rq85380デフォルトの名無しさん
2019/01/30(水) 02:10:35.13ID:AGTVqw9V std::move、std::forwardと右辺値参照の関係とか特にtemplateが絡むと分かりにくいな。
まぁ、ライブラリ作るときに気をつければ良いだけだから、比較的どうでも良い問題ではあるけど。
STL自体はそんなに難解でもなくない?
コンテナのAllocatorは実際に差し替えて使ってるやつなんてあんまりいないと思うしw
まぁ、ライブラリ作るときに気をつければ良いだけだから、比較的どうでも良い問題ではあるけど。
STL自体はそんなに難解でもなくない?
コンテナのAllocatorは実際に差し替えて使ってるやつなんてあんまりいないと思うしw
381デフォルトの名無しさん
2019/01/30(水) 02:25:53.25ID:stWE4sF7 allocatorに無頓着な人って本当にc++使う必然性あるか考えた方がいいと思う
382デフォルトの名無しさん
2019/01/30(水) 02:35:48.20ID:gkVZVPIY 実際にアロケータ差し替えて使ってるとちょこちょこ「アレ??」
って思うとこはあるんだよね
まぁ文字コード周りがクソと言われがちなのと同じで、
使う奴が少ないところは結構微妙だったりする
(代替案としてpolymorphic memory resourceは出てきたけどまだ使い倒してないからよくわからん、
メモリの確保に普通型なんか関係無いから、型に依存しなくなったのは便利だなと思うけど)
って思うとこはあるんだよね
まぁ文字コード周りがクソと言われがちなのと同じで、
使う奴が少ないところは結構微妙だったりする
(代替案としてpolymorphic memory resourceは出てきたけどまだ使い倒してないからよくわからん、
メモリの確保に普通型なんか関係無いから、型に依存しなくなったのは便利だなと思うけど)
383デフォルトの名無しさん
2019/01/30(水) 02:56:49.38ID:6SCLtJmj 難しいことよくわからんけど、tupleの要素取り出すのがstd::get<index>(var)なの嫌い
var.get(index)になぜ出来なかったの
var.get(index)になぜ出来なかったの
384デフォルトの名無しさん
2019/01/30(水) 03:09:37.94ID:gkVZVPIY indexはコンパイル時定数じゃないといけないし
テンプレート引数だからvar.template get<index>()とか書かないといけないからじゃね
constexprに出来る文脈ならvar.get(index)にできるだろうけど・・
(個人的にはvar.template get<index>()でいいからそう書けるようにもして欲しかったw
テンプレート引数だからvar.template get<index>()とか書かないといけないからじゃね
constexprに出来る文脈ならvar.get(index)にできるだろうけど・・
(個人的にはvar.template get<index>()でいいからそう書けるようにもして欲しかったw
385デフォルトの名無しさん
2019/01/30(水) 07:03:31.67ID:vmEMjO5m pairもarrayも生配列も同じように使えるようにじゃなかったっけ?
同じ理由で今はv.begin()よりstd::begin(v)が推奨されてるよな
同じ理由で今はv.begin()よりstd::begin(v)が推奨されてるよな
386デフォルトの名無しさん
2019/01/30(水) 08:50:33.43ID:1AdXwgl8 あ た り ま え だ が
STLは”勉強していない奴”のことは”想定”していないからな
だから”わかりにくい”とか言ってる奴は”勉強不足”の”論外”な人間なわけ
STLは”勉強していない奴”のことは”想定”していないからな
だから”わかりにくい”とか言ってる奴は”勉強不足”の”論外”な人間なわけ
387デフォルトの名無しさん
2019/01/30(水) 09:01:51.07ID:/QR/gxPZ まあC++は人をふるい落とすための言語だからな。
別に書きやすいわけではない。
別に書きやすいわけではない。
388デフォルトの名無しさん
2019/01/30(水) 09:06:27.12ID:1AdXwgl8 わかりにくいとか使いにくいとかいう批判をされても作ってる人も使ってる人もふーんとしか思ってない
誰にでも使えるようにだとか寄せ集めのチームの生産性を上げるだけとかは全く考えてない
そういうのはC#の仕事
誰にでも使えるようにだとか寄せ集めのチームの生産性を上げるだけとかは全く考えてない
そういうのはC#の仕事
389デフォルトの名無しさん
2019/01/30(水) 12:23:30.32ID:gkVZVPIY 何言ってんだこいつ
390デフォルトの名無しさん
2019/01/30(水) 12:52:40.78ID:tru3FX0q 確かにstlの基本ぐらい勉強しろとおもうけど
標準ライブラリ全体になるとかなり無理げーでしょ
肥大しすぎだわ
説明読んでも意味不明で、意味理解したときはむしろc++に絶望を感じる
作ってる人は使ってるひとのこと考えてるとは思えないね
別に数行短くなるとかどうでもいい
標準ライブラリ全体になるとかなり無理げーでしょ
肥大しすぎだわ
説明読んでも意味不明で、意味理解したときはむしろc++に絶望を感じる
作ってる人は使ってるひとのこと考えてるとは思えないね
別に数行短くなるとかどうでもいい
391デフォルトの名無しさん
2019/01/30(水) 13:39:29.80ID:GE8h//C5 全容把握はやる気せんわ>STL。
上でも出てるけどallocatorみたいな問題あるし、そこは付き合ってらんない。
上でも出てるけどallocatorみたいな問題あるし、そこは付き合ってらんない。
392デフォルトの名無しさん
2019/01/30(水) 14:02:07.62ID:V6i8EwMo393デフォルトの名無しさん
2019/01/30(水) 14:48:48.06ID:Uh+VRScZ shared_ptrとコンテナはまあわからんでもないが
unique_ptrが難しいと騒いでる奴は何が難しいと思ってるのかさっぱりわからない
リアルにも結構いるけど
unique_ptrが難しいと騒いでる奴は何が難しいと思ってるのかさっぱりわからない
リアルにも結構いるけど
394デフォルトの名無しさん
2019/01/30(水) 14:50:08.15ID:uKzqzpGV unique打つのが難しい
395デフォルトの名無しさん
2019/01/30(水) 15:02:56.56ID:1AdXwgl8 ゆ・・・ゆにきゅー・・・
396デフォルトの名無しさん
2019/01/30(水) 15:07:10.83ID:gkVZVPIY >unique_ptrが難しいと騒いでる奴
そんな奴居たか?
そんな奴居たか?
397デフォルトの名無しさん
2019/01/30(水) 17:37:34.50ID:xoRVo/qA 「unique_ptrが難しいから使わないんだ」
「スマポが難しいから使わないんだ」
っていうレベルで考えてるやつがいたとは驚き
周回遅れっすなぁ
「スマポが難しいから使わないんだ」
っていうレベルで考えてるやつがいたとは驚き
周回遅れっすなぁ
398はちみつ餃子 ◆8X2XSCHEME
2019/01/30(水) 17:48:26.91ID:AHrCbFFN >>396
理解が難しいと言ってるやつはあまりいないと思うが、
このスレでは「使いどころが難しい (使える場面は思ったよりずっと少ないのであまり有難みがない)」
という主張はよく出てると思う。
std::unique_ptr の価値を十全に感じたいならば、
一貫して std::unique_ptr を利用する必要があるが、面倒くさいし、
様々なライブラリを組み合わせようとするとそうもいかないこともあるというのは確かにある。
現実は非情である。
私自身はとりあえず部分的な利用であっても、
(少なくともその箇所では) 例外に対して面倒くさい配慮をしなくてよいってだけで充分にありがたいと思うんだけどな〜。
理解が難しいと言ってるやつはあまりいないと思うが、
このスレでは「使いどころが難しい (使える場面は思ったよりずっと少ないのであまり有難みがない)」
という主張はよく出てると思う。
std::unique_ptr の価値を十全に感じたいならば、
一貫して std::unique_ptr を利用する必要があるが、面倒くさいし、
様々なライブラリを組み合わせようとするとそうもいかないこともあるというのは確かにある。
現実は非情である。
私自身はとりあえず部分的な利用であっても、
(少なくともその箇所では) 例外に対して面倒くさい配慮をしなくてよいってだけで充分にありがたいと思うんだけどな〜。
399デフォルトの名無しさん
2019/01/30(水) 18:20:07.90ID:gkVZVPIY いや俺もこないだ色々言ったけど便利だと思うよ
スマポの利便性の否定なんてしてないし使えるときは積極的に使ってる
ただ「全部スマポ使え、そうでないやつのコードは危険」
みたいなアホなこと言い出すやつが出てきて毎回話がおかしくなる
(全部スマポにするのも一つの設計方針ではあると思うけど・・・
どんなメモリ管理のケースにも対応できる、なんて自分は断言できないけどなぁ)
スマポの利便性の否定なんてしてないし使えるときは積極的に使ってる
ただ「全部スマポ使え、そうでないやつのコードは危険」
みたいなアホなこと言い出すやつが出てきて毎回話がおかしくなる
(全部スマポにするのも一つの設計方針ではあると思うけど・・・
どんなメモリ管理のケースにも対応できる、なんて自分は断言できないけどなぁ)
400デフォルトの名無しさん
2019/01/30(水) 18:32:35.81ID:bIZhf79S 半角カナのときと似てるな
401デフォルトの名無しさん
2019/01/30(水) 18:47:36.15ID:Etz6JgfQ スマポ使わない奴は死刑にする法律ができても良いくらい。
スマポを使わなかったせいで飛行機が落ちたり電車が衝突したりしてるからな。
住之江の自動運転が衝突したのもスマポ使ってれば防げたしな。
何人殺せばスマポ使うようになるんだってお話。
スマポを使わなかったせいで飛行機が落ちたり電車が衝突したりしてるからな。
住之江の自動運転が衝突したのもスマポ使ってれば防げたしな。
何人殺せばスマポ使うようになるんだってお話。
402デフォルトの名無しさん
2019/01/30(水) 22:03:27.11ID:gkVZVPIY スマポで物理的な障害を防げるのか
万能だな
万能だな
403デフォルトの名無しさん
2019/01/30(水) 22:05:55.39ID:GTSr1lmt プログラムの小さいバグで大事故は割とある話
スマポ案件は知らないが
スマポ案件は知らないが
404デフォルトの名無しさん
2019/01/30(水) 22:12:36.60ID:KxSBU/Xz 数値計算のオーバーフローだかゼロ除算だかでスペースシャトル落ちたんやで
405デフォルトの名無しさん
2019/01/30(水) 22:12:59.37ID:icd7+TXR そんなに凄いなら、次世代OSでも採用されるでしょうね
406デフォルトの名無しさん
2019/01/30(水) 22:27:00.90ID:gkVZVPIY いや、住之江 自動運転 衝突 で調べたら物理だったw
407デフォルトの名無しさん
2019/01/30(水) 22:27:27.73ID:GE8h//C5 bool 値インクリメントで放射線事故なんてのもある。
スマポだって要らんretainして事故が起きる可能性がある。
エラーを防ぐのは人の仕事であって言語や処理系、ライブラリではない。
スマポだって要らんretainして事故が起きる可能性がある。
エラーを防ぐのは人の仕事であって言語や処理系、ライブラリではない。
408デフォルトの名無しさん
2019/01/30(水) 23:40:14.23ID:Etz6JgfQ >>407
ならスマブ発明しろよ。
ならスマブ発明しろよ。
409デフォルトの名無しさん
2019/01/30(水) 23:58:05.04ID:GTSr1lmt boolのインクリメントはもう駄目にならんかったっけ
410デフォルトの名無しさん
2019/01/31(木) 01:03:44.53ID:1/qzJ5j1 ブールの++は禁止されるね。
スマートブール つ
struct Bool {
enum class Value { True, False };
Value value;
// その他I/Fはお好みで、でも++とか上書きしないように。
};
スマートブール つ
struct Bool {
enum class Value { True, False };
Value value;
// その他I/Fはお好みで、でも++とか上書きしないように。
};
411デフォルトの名無しさん
2019/01/31(木) 11:58:25.10ID:xxTKFGAk412デフォルトの名無しさん
2019/01/31(木) 12:04:22.91ID:AG1iGZmY やるなとお達しがきたことをやろうとするなよ
413デフォルトの名無しさん
2019/01/31(木) 12:41:33.66ID:1/qzJ5j1 struct を class に置き換えるなり好きに使えよアホ。挙動に制限つけたブール定義するのは簡単って意味。多少面倒でも人殺すよりまし。
キャストとかimplicitコンストラクタとか型安全な範囲で定義してね。
思考力無いんか? 猿なの? お前みたいなの職場にいたらガン無視。ナスと出世目の前にぶら下げて使い倒して、年食ったら捨てるわ。
キャストとかimplicitコンストラクタとか型安全な範囲で定義してね。
思考力無いんか? 猿なの? お前みたいなの職場にいたらガン無視。ナスと出世目の前にぶら下げて使い倒して、年食ったら捨てるわ。
414デフォルトの名無しさん
2019/01/31(木) 13:10:00.69ID:xxTKFGAk415デフォルトの名無しさん
2019/01/31(木) 13:31:27.74ID:1/qzJ5j1 バカに物事を説明すんの大変なの忘れてたわ。
416デフォルトの名無しさん
2019/01/31(木) 13:43:59.16ID:sy1gbegF 大入するときいちいちBool::Value::Trueとかってやるの?
417デフォルトの名無しさん
2019/01/31(木) 13:57:43.91ID:1/qzJ5j1 ラフスケッチって言葉知ってる?
418デフォルトの名無しさん
2019/01/31(木) 16:17:54.16ID:VRtcylyh ラフスケッチだったのか
下手すぎて知恵遅れの落書きと区別付かんかったわ
下手すぎて知恵遅れの落書きと区別付かんかったわ
419デフォルトの名無しさん
2019/01/31(木) 16:53:45.33ID:Z74WfsQD このスレって、昔デパートの屋上とかでやってた
マングースvsコブラみたいなおもしろさがあるな
マングースvsコブラみたいなおもしろさがあるな
420デフォルトの名無しさん
2019/01/31(木) 17:57:23.79ID:yYR5uNJo こういうつまらんネタに食いついたら負け
421デフォルトの名無しさん
2019/01/31(木) 18:40:23.44ID:EoQh+WIC キャットファイトでしょうに
422デフォルトの名無しさん
2019/01/31(木) 19:14:06.04ID:1/qzJ5j1 落書きレベルのトリックで回避できる問題が10年以上放置されてるのがC++。
423デフォルトの名無しさん
2019/01/31(木) 19:31:16.26ID:kVV1KZIE >>410だと何がスマートになるの?
trueとfalseは逆にするとして。
trueとfalseは逆にするとして。
424デフォルトの名無しさん
2019/01/31(木) 19:48:03.87ID:1/qzJ5j1 暗黙型変換と人が「普通に」書いてしまう演算からbool値の持つ論理的な意味を守れる。
425はちみつ餃子 ◆8X2XSCHEME
2019/01/31(木) 19:53:56.29ID:/EjhL9q2 bool は整数型のカテゴリに入ってるから
整数型同士の演算の中ではうっかり int に昇格されたりするんよ。
整数型同士の演算の中ではうっかり int に昇格されたりするんよ。
426デフォルトの名無しさん
2019/01/31(木) 20:36:17.65ID:/iSEbovL だったらexplicit operator boolも書いとけばいいのに
誰でも落書きできる所までしか書かないから知恵遅れに見える
誰でも落書きできる所までしか書かないから知恵遅れに見える
427デフォルトの名無しさん
2019/01/31(木) 20:48:55.70ID:MHcg0e3g boolの問題なんてさんざん語りつくされてる話題なわけで
そんなにいきり立つのも知恵遅れに見えるんだが
そんなにいきり立つのも知恵遅れに見えるんだが
428デフォルトの名無しさん
2019/01/31(木) 20:52:11.62ID:AG1iGZmY そもそもこのスレに新規性なんかないじゃん
429デフォルトの名無しさん
2019/02/01(金) 18:33:11.64ID:yTOsL8ZZ pimplって具体的に何が凄いのが実感出来ない‥
実感できるコード例ってありませんか?
実感できるコード例ってありませんか?
430デフォルトの名無しさん
2019/02/01(金) 19:20:32.36ID:F7i5oL97 コード例は示せないけど
dllとかlib作るときに使ってみるといいと思う
dllとかlib作るときに使ってみるといいと思う
431デフォルトの名無しさん
2019/02/01(金) 19:48:57.61ID:poPQewMk つまんないもん見せなくて済むじゃないか
432デフォルトの名無しさん
2019/02/01(金) 20:06:34.47ID:fyiIuKBL 実装を隠したいときに必須なんだが
隠す必要を感じてない人に説明するのは難しいんだよな
必要ない人は一生必要ないからね
隠す必要を感じてない人に説明するのは難しいんだよな
必要ない人は一生必要ないからね
433デフォルトの名無しさん
2019/02/01(金) 20:26:30.63ID:cIYuVXTd 必須ではないがな
他にも方法はある
他にも方法はある
434デフォルトの名無しさん
2019/02/01(金) 20:35:32.21ID:cfE6zEWc435デフォルトの名無しさん
2019/02/01(金) 20:44:11.59ID:h+AyUO7a インターフェース準備してスマポ返せばええやんけpimplなんぞいらんしって思いました
436デフォルトの名無しさん
2019/02/01(金) 20:46:34.12ID:cfE6zEWc >>435
設計の本には、実装を隠ぺいすることで変更に強くなると書いてあるけど、Qt見ると、いい部分も悪い部分もあるね。
設計の本には、実装を隠ぺいすることで変更に強くなると書いてあるけど、Qt見ると、いい部分も悪い部分もあるね。
437デフォルトの名無しさん
2019/02/01(金) 20:47:43.65ID:cfE6zEWc 各種OSに対応するには、pimplが良かったのかもしれない。
438デフォルトの名無しさん
2019/02/01(金) 20:50:18.54ID:h+AyUO7a 実装を隠したいならインターフェース使うだけでいい
インターフェースと比べた時にピンプルにはこれといってメリットはない
インターフェースと比べた時にピンプルにはこれといってメリットはない
439デフォルトの名無しさん
2019/02/01(金) 20:55:50.49ID:cfE6zEWc440デフォルトの名無しさん
2019/02/01(金) 20:56:30.95ID:V+NZiA0Z コンパイル時間が短くなるのがpimplの利点で実装を隠蔽出来るのは副次的なものと何処かで見た気がする
441デフォルトの名無しさん
2019/02/01(金) 21:02:05.52ID:F7i5oL97 pimplの利点は依存ヘッダを減らせることだと思ってる
真のprivateとかに感動してる人いるけど、あれはなんか違う・・・
真のprivateとかに感動してる人いるけど、あれはなんか違う・・・
442デフォルトの名無しさん
2019/02/01(金) 21:07:03.72ID:sG4RlIjp 開発の効率化=pimpleの利点。
小さな変更で全ビルド5分待ちはやってられん。
一々ヘッダにこんなもん書くかよ、って思ったり思わせたりしないで済む。
小さな変更で全ビルド5分待ちはやってられん。
一々ヘッダにこんなもん書くかよ、って思ったり思わせたりしないで済む。
443デフォルトの名無しさん
2019/02/01(金) 21:49:44.81ID:cIYuVXTd444デフォルトの名無しさん
2019/02/01(金) 21:51:57.86ID:cIYuVXTd 組み込みやってる身としてはpimplは中でnewかまされるのが困る
インターフェースも同様
インターフェースも同様
445デフォルトの名無しさん
2019/02/01(金) 22:26:16.19ID:F7i5oL97 同じことを思ってplacement newでやる奴を昔作ったけど、std::launderがないと辛かった
446デフォルトの名無しさん
2019/02/01(金) 22:26:54.36ID:q6HbkB1M 別にnewしなても代わりにobj[1000]から&obj[0]、&obj[1]、&obj[2]、…を返すファクトリーにしたら良いんじゃ…
447デフォルトの名無しさん
2019/02/01(金) 22:38:43.24ID:x/1+NmNy 無名namespaceもいいもんだよ
448デフォルトの名無しさん
2019/02/01(金) 22:54:58.73ID:2kCPE8R8 コンパイルエラーで見づらくなるから使わねーわ
449デフォルトの名無しさん
2019/02/01(金) 23:17:25.49ID:q6HbkB1M クラスの定義をファイルスコープ(風)にしたいときは無名namespaceを使うしかない
static class Foo { ... };と書けたら良いのに!
static class Foo { ... };と書けたら良いのに!
450デフォルトの名無しさん
2019/02/01(金) 23:45:38.78ID:j6iAMD6D private namespaceはよ
451デフォルトの名無しさん
2019/02/01(金) 23:56:09.24ID:F7i5oL97 nemaspace templateが欲しいとたまに思う
452デフォルトの名無しさん
2019/02/01(金) 23:58:16.64ID:h+AyUO7a ここまでピンプルのメリットすべてインターフェースでも得られる件
・実装隠蔽
・コンパイル時間短縮
・依存ヘッダ最小化
やはり無駄なイディオムだったか
無意味にテクニカルに見せかけてカッコつけたかっただけだろ
・実装隠蔽
・コンパイル時間短縮
・依存ヘッダ最小化
やはり無駄なイディオムだったか
無意味にテクニカルに見せかけてカッコつけたかっただけだろ
453デフォルトの名無しさん
2019/02/02(土) 00:15:52.64ID:xBrfKG0X インターフェースで依存ヘッダ最小化できるの?
454デフォルトの名無しさん
2019/02/02(土) 00:19:23.04ID:hwq9uAM7 >>452
なんでお前が勝ち誇ってんだよw
なんでお前が勝ち誇ってんだよw
455デフォルトの名無しさん
2019/02/02(土) 00:22:54.25ID:hwq9uAM7 上にもあるけどコンストラクタ使えないのは大きな制約だろ
456デフォルトの名無しさん
2019/02/02(土) 15:28:45.27ID:YXCix+RL わざと変な名前の名前空間使ってるわ。
なんやらかんやら_WorkingNamespace とか。
なんやらかんやら_WorkingNamespace とか。
457デフォルトの名無しさん
2019/02/02(土) 16:20:02.86ID:db88iM+8 変な名前にしなくてdetailかimplでいいぞ
458デフォルトの名無しさん
2019/02/02(土) 18:17:31.28ID:waqQgiJK >>455
factoryはだめなの?
factoryはだめなの?
459デフォルトの名無しさん
2019/02/02(土) 18:28:03.14ID:hwq9uAM7 templateでコンストラクタ呼び出すとこ全滅するじゃん
460はちみつ餃子 ◆8X2XSCHEME
2019/02/02(土) 18:38:05.82ID:KkdP20n5 隠蔽つったってなぁ、
呼んでも良いのとそうでないのを言語の規則で可視化しようってだけのことで、
なんなら名前規約で「これは外から呼ぶなよ!」というのを徹底できるならば
別にそれでもかまわんのよ。
でも、広く使われるライブラリはキッチリ分けて、
変な使い方をエラーにしてくれた方がありがたいし、
どのくらいキッチリと隠蔽するかは場合によるというか、程度問題よね。
呼んでも良いのとそうでないのを言語の規則で可視化しようってだけのことで、
なんなら名前規約で「これは外から呼ぶなよ!」というのを徹底できるならば
別にそれでもかまわんのよ。
でも、広く使われるライブラリはキッチリ分けて、
変な使い方をエラーにしてくれた方がありがたいし、
どのくらいキッチリと隠蔽するかは場合によるというか、程度問題よね。
461デフォルトの名無しさん
2019/02/02(土) 22:25:17.69ID:wSrrYQ7Y >>459
コンストラクタが必要になったらそこでラッパーを書けばいい
コンストラクタが必要になったらそこでラッパーを書けばいい
462デフォルトの名無しさん
2019/02/02(土) 22:41:55.99ID:mZCa7M9L >>459
Factory使えよ
そのテンプレートが現実にどれだけ汎用的に使えたか思い返してみるとわかると思うが、コストラクタを直接呼ぶのは制約が強くなりすぎる
インターフェイスに限った話ではなく一般論として、インスタンスの生成は間に一段Factoryを噛ませたほうがいい
Factory使えよ
そのテンプレートが現実にどれだけ汎用的に使えたか思い返してみるとわかると思うが、コストラクタを直接呼ぶのは制約が強くなりすぎる
インターフェイスに限った話ではなく一般論として、インスタンスの生成は間に一段Factoryを噛ませたほうがいい
463デフォルトの名無しさん
2019/02/02(土) 23:06:34.47ID:7LHz6bLK 左様コンストラクタでFooのファクトリーを呼ぶFooのWrapperクラスでも書いたら一応STL対応はできる気がする
やらないけど
やらないけど
464デフォルトの名無しさん
2019/02/02(土) 23:20:07.82ID:BCOo8pbG Factory が駄目なら Virtualコンストラクタを使えば良いじゃない。by マリー
465デフォルトの名無しさん
2019/02/03(日) 05:14:26.28ID:t4xt++Qj テスト
466デフォルトの名無しさん
2019/02/03(日) 09:30:58.19ID:cLU3XamP ・バカ
std::shared_ptr<Pimpl> p = std::make_shared<Pimpl>(a, b);
・賢者
std::shared_ptr<Interface> p = factory->create_shared(a, b);
std::shared_ptr<Pimpl> p = std::make_shared<Pimpl>(a, b);
・賢者
std::shared_ptr<Interface> p = factory->create_shared(a, b);
467デフォルトの名無しさん
2019/02/03(日) 09:42:10.45ID:DWuTVIRg pimplクラスをポインタで取り回すのは確かにバカだ
468デフォルトの名無しさん
2019/02/03(日) 10:02:23.87ID:z6lglBs4 ポイントがInterfaceにあるのかcreate_sharedにあるのかよくわからんな。
結局どういう主張?
結局どういう主張?
469デフォルトの名無しさん
2019/02/03(日) 10:03:56.22ID:LVMUXp5G470デフォルトの名無しさん
2019/02/03(日) 10:12:34.61ID:cLU3XamP >>469
auto s = factory->create_shared(a, b);
auto u = factory->create_unique(a, b);
auto p = factory->create_raw(a, b);
p->get_deleter()->delete(p);
auto s = factory->create_shared(a, b);
auto u = factory->create_unique(a, b);
auto p = factory->create_raw(a, b);
p->get_deleter()->delete(p);
471デフォルトの名無しさん
2019/02/03(日) 10:17:43.87ID:cLU3XamP pimplで共有、占有、手動のライフサイクルをサポートするにはどうすればいいの?
472デフォルトの名無しさん
2019/02/03(日) 12:13:54.64ID:dVyjbDnx namespaceの名前ってやはり2文字や3文字の短い略称などにするべきだと思いますか?
473デフォルトの名無しさん
2019/02/03(日) 12:40:43.63ID:LVMUXp5G■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 【テレビ】家入レオ 高校時代は親友なし 唯一の仲間が現在は超人気女優 「ずっとお互いに本を読んで」 [湛然★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国父さん、ジャップに事前通知した音声公開😄騒いでたのはジャップだけだった😭 [929293504]
- 【実況】博衣こよりのえちえち朝活🧪
- 寒すぎてハゲたんやが
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- ケツマンコが痒いんだが
- 大谷翔平「ボーナス?5000万でしたが」G集合。全員のボーナス足し合わせてコイツ倒せ
