次スレを立てる時は本文の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
268デフォルトの名無しさん
2019/01/28(月) 16:34:44.00ID:yOibm1qy そもそも boost や STL って、C++をC++でなくしてしまうことがある
奇妙で変なライブラリだ。
奇妙で変なライブラリだ。
269デフォルトの名無しさん
2019/01/28(月) 16:36:58.41ID:jKaiFfBH なんか、C++をスクリプト言語化したい人の集まりみたいになってる。
JS や Python みたいな書き方のまま、C++ の速度だけが得られることが
彼らの希望のように思える。
JS や Python みたいな書き方のまま、C++ の速度だけが得られることが
彼らの希望のように思える。
270デフォルトの名無しさん
2019/01/28(月) 17:00:48.06ID:6rt4c1kU 何言ってるんっだこいつ
271デフォルトの名無しさん
2019/01/28(月) 17:10:28.91ID:eIQ8PC4T そういう言語じゃないの?
The Real Stroustrup Interviewで
> I designed C++ so programmers could write code that is both elegant and efficient.
って言ってるけど
The Real Stroustrup Interviewで
> I designed C++ so programmers could write code that is both elegant and efficient.
って言ってるけど
272デフォルトの名無しさん
2019/01/28(月) 17:37:02.66ID:ehhV00bD273デフォルトの名無しさん
2019/01/28(月) 17:57:23.32ID:yOibm1qy >>271
Stroustrup の定義した C++ は結構美しかったんだよ。
boost と stl によってはものすごく汚くなった。
C++ 98 位でが本当の C++ で、それより後は C++ ではないと思う。
Stroustrup の定義した C++ は結構美しかったんだよ。
boost と stl によってはものすごく汚くなった。
C++ 98 位でが本当の C++ で、それより後は C++ ではないと思う。
274デフォルトの名無しさん
2019/01/28(月) 18:01:22.30ID:6rt4c1kU ぼくが考える最強のC++
275デフォルトの名無しさん
2019/01/28(月) 18:13:41.58ID:yOibm1qy 口だけ達者だからな。スクリプター達は。。。
276デフォルトの名無しさん
2019/01/28(月) 18:30:57.19ID:6rt4c1kU >>275
お前のことだぞ
お前のことだぞ
277デフォルトの名無しさん
2019/01/28(月) 18:32:51.86ID:sZicpJ+d278デフォルトの名無しさん
2019/01/28(月) 18:39:44.25ID:jKaiFfBH というか、スクリプターの方がバイナリ・プログラマより圧倒的に多いので
(スクリプト言語の方が習得が簡単なためだと考えられている)、
どうしたってこうなっちゃうな。
でもC++の厳格な書き方は、大きなプログラムを書くときには便利なんだけどね。
(スクリプト言語の方が習得が簡単なためだと考えられている)、
どうしたってこうなっちゃうな。
でもC++の厳格な書き方は、大きなプログラムを書くときには便利なんだけどね。
279デフォルトの名無しさん
2019/01/28(月) 18:40:38.89ID:6rt4c1kU ????
何を言ってるのか分からんのだが
何を言ってるのか分からんのだが
280デフォルトの名無しさん
2019/01/28(月) 18:42:34.38ID:ehhV00bD281デフォルトの名無しさん
2019/01/28(月) 18:45:57.76ID:tKT6HQoa 美しいとかそんなのどうでもいいんだよ!
C++ってのはなぁ、戦略爆撃機に例えるとB52なんだよ
基本設計は大昔すぎて今となっては古くさい
後付けでゴチャゴチャと魔改造やりすぎたせいで
今時の若造が見ると「なんでもっとスマートにできないのか」って言う
だがな、こいつは戦争の道具なんだ
たかがちんけな美学のために性能や機能は犠牲にしない
必要とあれば何でも貪欲に付けたしていくがそれは時代に迎合したいからではなく
仕事に必要だからやるだけだ
そんなプロフェッショナルのための戦争の道具、それがC++だ!
C++ってのはなぁ、戦略爆撃機に例えるとB52なんだよ
基本設計は大昔すぎて今となっては古くさい
後付けでゴチャゴチャと魔改造やりすぎたせいで
今時の若造が見ると「なんでもっとスマートにできないのか」って言う
だがな、こいつは戦争の道具なんだ
たかがちんけな美学のために性能や機能は犠牲にしない
必要とあれば何でも貪欲に付けたしていくがそれは時代に迎合したいからではなく
仕事に必要だからやるだけだ
そんなプロフェッショナルのための戦争の道具、それがC++だ!
282デフォルトの名無しさん
2019/01/28(月) 18:48:22.51ID:m1mrBSmH283デフォルトの名無しさん
2019/01/28(月) 19:15:51.56ID:E4+rgmE7284デフォルトの名無しさん
2019/01/28(月) 19:20:45.82ID:8pg5nSAS イミュータボォなヴァリューオブジェクトを実装するときにコピコン使うかスマポ使うか悩む
285デフォルトの名無しさん
2019/01/28(月) 19:46:05.45ID:zheEgWgK 例外安全性考えたらスマポ使わないでやるのは地獄
生ポとかいってるやつはどうせリークしまくりコード書いてるだろ
たとえ例外オフにしてたとしてもな
生ポとかいってるやつはどうせリークしまくりコード書いてるだろ
たとえ例外オフにしてたとしてもな
286デフォルトの名無しさん
2019/01/28(月) 19:56:32.74ID:ehhV00bD 何言ってんだこいつ
287デフォルトの名無しさん
2019/01/28(月) 20:02:46.72ID:s951gwaK スマポがなかった頃、僕はリークしまくりでしたっていう自己紹介文では?
288デフォルトの名無しさん
2019/01/28(月) 20:22:57.30ID:UJKy5wM0 aho ?
289デフォルトの名無しさん
2019/01/28(月) 20:28:40.03ID:zE5Bvtvg >>247
出来ましたーありがとうm(_ _)m
出来ましたーありがとうm(_ _)m
290デフォルトの名無しさん
2019/01/28(月) 21:27:20.71ID:jKaiFfBH291デフォルトの名無しさん
2019/01/28(月) 21:35:34.93ID:3CrwaDYk 流れを切って悪いが、コンセプトを使ってクラスを抽象化するのってありだと思う? 仮想関数のコストを払いたくないのが主な理由です。
これに関する指針とか本とかあったら教えてつかわさい。
これに関する指針とか本とかあったら教えてつかわさい。
292はちみつ餃子 ◆8X2XSCHEME
2019/01/28(月) 22:06:31.16ID:UMu6PPgN294デフォルトの名無しさん
2019/01/28(月) 22:23:20.84ID:ehhV00bD295デフォルトの名無しさん
2019/01/28(月) 22:27:46.35ID:zheEgWgK 例外安全性の困難さを知らないやつほど大口を叩く
296デフォルトの名無しさん
2019/01/28(月) 22:35:01.85ID:ehhV00bD お前の業界の話なんか知らんわ
例外使わない&リソース管理は一元化してる業種だってあるんだよボケ
自分が他人をけなしてるから自分もけなされてるってわかってるか?
例外使わない&リソース管理は一元化してる業種だってあるんだよボケ
自分が他人をけなしてるから自分もけなされてるってわかってるか?
297デフォルトの名無しさん
2019/01/28(月) 22:36:25.09ID:m1mrBSmH >>293
メモリー買い足してもダメ?
メモリー買い足してもダメ?
298デフォルトの名無しさん
2019/01/28(月) 22:39:50.87ID:6rt4c1kU >スマポが無いとリソース管理全く出来ないやつとかお断りだわ
ガチで障害者で草
ガチで障害者で草
299デフォルトの名無しさん
2019/01/28(月) 22:47:52.82ID:zheEgWgK リソース管理一元化の意味わかる人、解説頼む
スマポ使わない理由なのかそれ
スマポ使わない理由なのかそれ
300はちみつ餃子 ◆8X2XSCHEME
2019/01/28(月) 22:49:39.89ID:UMu6PPgN std::shared_ptr は、まあ速度的に不利になる場合もあるだろうけど、
std::unique_ptr を避ける理由って C++11 すら使えない環境の場合以外にはないと思うんだが、何かある?
std::unique_ptr を避ける理由って C++11 すら使えない環境の場合以外にはないと思うんだが、何かある?
301デフォルトの名無しさん
2019/01/28(月) 22:51:28.96ID:MUYIApjm302デフォルトの名無しさん
2019/01/28(月) 22:57:22.66ID:ehhV00bD >>300
そら管理責任を背負ってる部分では使えばいいけど、その一元管理されたリソースを使う側には
普通生ポか参照で渡すだろ
そういう場合にunique使う必要は無いし(unique_ptrの参照でも渡すのか?)
sharedにすると逆に管理責任が曖昧になる
特定のタイミングで一括でリソース確保、解放したいようなシステムを想像したらわかるかと
そら管理責任を背負ってる部分では使えばいいけど、その一元管理されたリソースを使う側には
普通生ポか参照で渡すだろ
そういう場合にunique使う必要は無いし(unique_ptrの参照でも渡すのか?)
sharedにすると逆に管理責任が曖昧になる
特定のタイミングで一括でリソース確保、解放したいようなシステムを想像したらわかるかと
303デフォルトの名無しさん
2019/01/28(月) 23:03:29.70ID:IwEPom0E どうせシーケンス図的なもん書かずに大きいプログラムは作らないと思うんだよね。
そうすると解放する場所も一目瞭然なのであまり必要性を感じない。
それに縛られないプログラムもあると思うけど、その場合得てしてC++は向いとらん。
そうすると解放する場所も一目瞭然なのであまり必要性を感じない。
それに縛られないプログラムもあると思うけど、その場合得てしてC++は向いとらん。
304デフォルトの名無しさん
2019/01/28(月) 23:04:18.01ID:6rt4c1kU そして人は神クラスを作る
305デフォルトの名無しさん
2019/01/28(月) 23:06:28.09ID:zheEgWgK 黙ってればよかったものをw
306デフォルトの名無しさん
2019/01/28(月) 23:08:56.84ID:EdRO7DHl >>300
使ってもいいけど、積極的に使いたくなる状況は意外と少ない
上の人も言ってるように親玉クラスとかスタックの上の方とか管理責任を持ってるところでは使いたければ使ってもいいけど、
そういうときはunique_ptr使わなくてもRAIIで勝手に解放されるでしょ
unique_ptrが本当に有効なのは所有権を他所に完全に引き渡してしまうケースだけど、
値を好んで多用する文化を持ちmoveも使えるC++において、そういうケースってわりとレアだと思う
使ってもいいけど、積極的に使いたくなる状況は意外と少ない
上の人も言ってるように親玉クラスとかスタックの上の方とか管理責任を持ってるところでは使いたければ使ってもいいけど、
そういうときはunique_ptr使わなくてもRAIIで勝手に解放されるでしょ
unique_ptrが本当に有効なのは所有権を他所に完全に引き渡してしまうケースだけど、
値を好んで多用する文化を持ちmoveも使えるC++において、そういうケースってわりとレアだと思う
307デフォルトの名無しさん
2019/01/28(月) 23:09:08.50ID:6rt4c1kU 歴史を再現してて尊い
308デフォルトの名無しさん
2019/01/28(月) 23:13:08.96ID:ehhV00bD309デフォルトの名無しさん
2019/01/28(月) 23:28:08.44ID:E4+rgmE7 所有権というのがいまいちわからんのだけどclassAがunique_pというデータを所有していたとして、他の関数からunique_pを参照して内容を書き換えるのは何も問題ないんだよな?
生成と破棄をまかせるだけという理解でok?
生成と破棄をまかせるだけという理解でok?
310デフォルトの名無しさん
2019/01/29(火) 00:00:27.39ID:2bsH4V/V >>308
unique_ptrについてぐくった?
unique_ptrについてぐくった?
311デフォルトの名無しさん
2019/01/29(火) 00:03:11.11ID:TJ0JKGHp312デフォルトの名無しさん
2019/01/29(火) 00:04:05.29ID:2bsH4V/V313デフォルトの名無しさん
2019/01/29(火) 00:05:28.12ID:2bsH4V/V 何やってもださいやつw
314デフォルトの名無しさん
2019/01/29(火) 00:19:10.99ID:TJ0JKGHp >>309
この場合所有権といえばそう。
この場合所有権といえばそう。
315デフォルトの名無しさん
2019/01/29(火) 00:21:22.57ID:ONcJDm6u >>312
RAIIしたいだけならunique_ptrがなぜ必要?
RAIIしたいだけならunique_ptrがなぜ必要?
316デフォルトの名無しさん
2019/01/29(火) 00:52:07.42ID:QzmnZttP 自動変数として宣言するには危険なぐらい巨大であるとか
他の構造体なりクラスなりにメンバとして埋め込むのが憚られるような
ばかでかい構造体やクラスを保持するのに使うと便利
この使い方に徹するなら所有権みたいな中途半端なブツで悩まずに済む
メンバをunique_ptrで保持するクラスはコンストラクタで例外が生じてもリークせずに済むおまけ付き
コンストラクタで例外など起こすなよというのは置くとして…
他の構造体なりクラスなりにメンバとして埋め込むのが憚られるような
ばかでかい構造体やクラスを保持するのに使うと便利
この使い方に徹するなら所有権みたいな中途半端なブツで悩まずに済む
メンバをunique_ptrで保持するクラスはコンストラクタで例外が生じてもリークせずに済むおまけ付き
コンストラクタで例外など起こすなよというのは置くとして…
317はちみつ餃子 ◆8X2XSCHEME
2019/01/29(火) 03:58:18.59ID:UoxCxtnm >>302 >>306
何も全部のポインタを置き換えるべしというわけじゃない。 所有権の管理に使う話。
下流には「アクセスを許す」のであって、「所有権を渡す」必要はないだろ。
(渡したい設計のときは渡せばいいが。)
可能なら一環してスマートポインタで扱うに越したことは無いとは思うが、
下流に渡すのは生ポインタにするという方針もそれはそれで悪くないと思う。
>>260 みたいなケースであっても、下流には生ポインタで渡すのであっても
スマートポインタは有用にはかわりないって話。
所有権の観点から見ると生ポインタってのは所有権を持っているか持っていないか
わからない状態ってことで、でも、その中に std::unique_ptr がひとつあれば、
それが後始末をするのだというサインになる。
所有権をどこで持っているのか見た目にわかるので、単純に、読みやすい。
もちろん、一旦生ポインタとして取り出したものをまたスマートポインタに入れたりすると
おかしなことになるのでそうしないように気を付ける必要はあるけど。
例外に対して気をつかうのはポインタを適切に扱うより冗長でつらいのでやりたくないってのもある。
何も全部のポインタを置き換えるべしというわけじゃない。 所有権の管理に使う話。
下流には「アクセスを許す」のであって、「所有権を渡す」必要はないだろ。
(渡したい設計のときは渡せばいいが。)
可能なら一環してスマートポインタで扱うに越したことは無いとは思うが、
下流に渡すのは生ポインタにするという方針もそれはそれで悪くないと思う。
>>260 みたいなケースであっても、下流には生ポインタで渡すのであっても
スマートポインタは有用にはかわりないって話。
所有権の観点から見ると生ポインタってのは所有権を持っているか持っていないか
わからない状態ってことで、でも、その中に std::unique_ptr がひとつあれば、
それが後始末をするのだというサインになる。
所有権をどこで持っているのか見た目にわかるので、単純に、読みやすい。
もちろん、一旦生ポインタとして取り出したものをまたスマートポインタに入れたりすると
おかしなことになるのでそうしないように気を付ける必要はあるけど。
例外に対して気をつかうのはポインタを適切に扱うより冗長でつらいのでやりたくないってのもある。
318デフォルトの名無しさん
2019/01/29(火) 04:01:02.14ID:NRuJsE/9 class A
{
Foo* pFoo;
public:
A(): pFoo(new Foo(42)) {}
A(A& other): pFoo(other.pFoo) { other.pFoo = nullptr; }
A& operator=(A& other) { std::swap(this->pFoo, other.pFoo); }
~A() { delete pFoo; }
};
class A
{
std::unique_ptr<Foo> pFoo;
public:
A(): pFoo(std::make_unique<Foo>(42)) {}
};
どっちが間違えにくいかなんて明白だろ
「俺は間違えない」「間違える低能が悪い」とか抜かす奴はソフト品質の勉強してくれ
{
Foo* pFoo;
public:
A(): pFoo(new Foo(42)) {}
A(A& other): pFoo(other.pFoo) { other.pFoo = nullptr; }
A& operator=(A& other) { std::swap(this->pFoo, other.pFoo); }
~A() { delete pFoo; }
};
class A
{
std::unique_ptr<Foo> pFoo;
public:
A(): pFoo(std::make_unique<Foo>(42)) {}
};
どっちが間違えにくいかなんて明白だろ
「俺は間違えない」「間違える低能が悪い」とか抜かす奴はソフト品質の勉強してくれ
319デフォルトの名無しさん
2019/01/29(火) 04:04:45.84ID:NRuJsE/9 あと自分の管理下のデータメンバーを参照するポインタをホイホイ外に渡したいだなんて
それカプセル化出来てない証拠だから
それカプセル化出来てない証拠だから
320デフォルトの名無しさん
2019/01/29(火) 08:17:54.67ID:ONcJDm6u321デフォルトの名無しさん
2019/01/29(火) 08:26:37.92ID:W2YyhY1O スマートポインタがそのRAIIの代表格なのだが
まさか自分で書けばいいから使わなくていいとか言いたいん?
まさか自分で書けばいいから使わなくていいとか言いたいん?
322デフォルトの名無しさん
2019/01/29(火) 08:33:39.21ID:6edJr3Gn ライブラリを使うのは甘え
323デフォルトの名無しさん
2019/01/29(火) 08:33:59.57ID:ONcJDm6u >>321
普通に直接値を持てばいいでしょ
それでカバーしにくい代表的なケースといえば
俺なら遅延初期化したいケースとか多態性を使いたいケースとかが真っ先に思いつくけど、
スマポ派からはそういう指摘が全然出てこなかったってことは実際それほど困らないことの何よりの証拠だなw
普通に直接値を持てばいいでしょ
それでカバーしにくい代表的なケースといえば
俺なら遅延初期化したいケースとか多態性を使いたいケースとかが真っ先に思いつくけど、
スマポ派からはそういう指摘が全然出てこなかったってことは実際それほど困らないことの何よりの証拠だなw
324デフォルトの名無しさん
2019/01/29(火) 09:02:42.51ID:a5ZxXHh2325デフォルトの名無しさん
2019/01/29(火) 09:22:48.30ID:C0E16yKU 初期化の遅延はoptionalがいるから用途として挙げるのは微妙なところ
17使えない場面自体は山ほどあるだろうけどさ
17使えない場面自体は山ほどあるだろうけどさ
326デフォルトの名無しさん
2019/01/29(火) 09:29:51.94ID:8dDk6Bea deleteの手間を惜しむならコメント書くのもやめればと思う
327デフォルトの名無しさん
2019/01/29(火) 09:31:27.97ID:KR1Oxil+ なんなのこの根性論w
便利なものは使えよ
ゼロコストじゃん
便利なものは使えよ
ゼロコストじゃん
328デフォルトの名無しさん
2019/01/29(火) 09:32:04.90ID:C0E16yKU deleteは手間じゃなくてリスクって認識なんですよね
自分を含めて人間を信用してないからdeleteを書かせない(スマポに任せる)
この文脈で人間を信用してないからコメントは書かせる
自分を含めて人間を信用してないからdeleteを書かせない(スマポに任せる)
この文脈で人間を信用してないからコメントは書かせる
329デフォルトの名無しさん
2019/01/29(火) 09:32:41.81ID:6edJr3Gn 30年前の議論してるな
330デフォルトの名無しさん
2019/01/29(火) 09:36:00.95ID:30IAnyu6 new/delete するかどうかの話と、 new/delete する場合にスマートポインタを使うかどうかの話とが
ごっちゃになってる人が居るように見えました。
ごっちゃになってる人が居るように見えました。
331デフォルトの名無しさん
2019/01/29(火) 09:39:36.81ID:8dDk6Bea deleteはもちろん人間が読むためのもんよ。
リソースの解放なんて副次的なもの。
リソースの解放なんて副次的なもの。
332デフォルトの名無しさん
2019/01/29(火) 09:58:45.15ID:KR1Oxil+ またえらいのがやって来たなw
333デフォルトの名無しさん
2019/01/29(火) 10:20:07.20ID:pTVW5tot メモリ解放程度ならお仕着せのスマポで簡単かもしれんけどさ
その他のリソース開放も重なると慎重になったほうがいいわ
どうせ別途開放処理書くなら一緒にポインターも解放したほうがコードの対称性もよくなってわかりやすい
しかしリソース開放漏れがOSレベルでしょっちゅう発生してるのなんとかせい
その他のリソース開放も重なると慎重になったほうがいいわ
どうせ別途開放処理書くなら一緒にポインターも解放したほうがコードの対称性もよくなってわかりやすい
しかしリソース開放漏れがOSレベルでしょっちゅう発生してるのなんとかせい
334デフォルトの名無しさん
2019/01/29(火) 13:13:48.58ID:JkAV6Qsd リソース開放漏れって、ロックされているの?それは悲しいな
335デフォルトの名無しさん
2019/01/29(火) 13:54:12.84ID:TJ0JKGHp336デフォルトの名無しさん
2019/01/29(火) 15:30:43.36ID:oEOJ8htr >>319
const-ness理解してないのはC++理解してない証拠だから。
const-ness理解してないのはC++理解してない証拠だから。
337デフォルトの名無しさん
2019/01/29(火) 17:41:11.83ID:xfxzRb5k338デフォルトの名無しさん
2019/01/29(火) 17:50:18.96ID:TJ0JKGHp339デフォルトの名無しさん
2019/01/29(火) 17:53:37.09ID:TJ0JKGHp ていうかスマポ派は
「スマポ使って楽できる(設計上も問題なく、またそうすべき)場面でもスマポ使わない(または使えない)馬鹿」
を勝手に想定してモノを言ってるから毎回言い争いになるんだと思うが
スマポごときでマウンティングとかおめでてーな
「スマポ使って楽できる(設計上も問題なく、またそうすべき)場面でもスマポ使わない(または使えない)馬鹿」
を勝手に想定してモノを言ってるから毎回言い争いになるんだと思うが
スマポごときでマウンティングとかおめでてーな
340デフォルトの名無しさん
2019/01/29(火) 18:15:41.64ID:8rAEnTT8 そもそもスマポ自体が推奨されるものかどうか。
stl も boost も本当は C++ じゃない。
stl も boost も本当は C++ じゃない。
341デフォルトの名無しさん
2019/01/29(火) 18:22:39.90ID:8rAEnTT8 「どうして、人々は、『私は本当は boost を使いたくない』と遠まわしにほのめか
すのでしょう?」
Why do people seem to insinuate I would rather not use Boost?
Very often here on SO I see notes about boost such as
If you are fine with using Boost...
or
If you can use Boost...
https://stackoverflow.com/questions/33452925/why-do-people-seem-to-insinuate-i-would-rather-not-use-boost
すのでしょう?」
Why do people seem to insinuate I would rather not use Boost?
Very often here on SO I see notes about boost such as
If you are fine with using Boost...
or
If you can use Boost...
https://stackoverflow.com/questions/33452925/why-do-people-seem-to-insinuate-i-would-rather-not-use-boost
342デフォルトの名無しさん
2019/01/29(火) 18:25:38.40ID:xfxzRb5k >>338
「ユーザー」の意味がわからんが、自分が作ったファクトリーは自分だけが使うから危なかろうとなんだろうと構わないっていう意味で抜かしてるならあんたはマトモな開発者じゃないね
「ユーザー」の意味がわからんが、自分が作ったファクトリーは自分だけが使うから危なかろうとなんだろうと構わないっていう意味で抜かしてるならあんたはマトモな開発者じゃないね
343デフォルトの名無しさん
2019/01/29(火) 18:25:40.64ID:8rAEnTT8 Why do people seem to insinuate I would rather not use Boost?
↓
多くの人が、「Boostを使わないほうがいい」、と主張しているように見えるのは
なぜですか?
↓
多くの人が、「Boostを使わないほうがいい」、と主張しているように見えるのは
なぜですか?
344デフォルトの名無しさん
2019/01/29(火) 18:36:19.92ID:TJ0JKGHp >>342
そこまで自分とこのライブラリ開発者も自分すらも信用出来ないのなら
C++使うべきじゃないよ
だいたいその途中経路全てCopyConstructible, CopyAssignableを要求される文脈が
一度たりとも発生しないという保証が無ければunique使えないよな
ていうか趣味グラマだろお前w
そこまで自分とこのライブラリ開発者も自分すらも信用出来ないのなら
C++使うべきじゃないよ
だいたいその途中経路全てCopyConstructible, CopyAssignableを要求される文脈が
一度たりとも発生しないという保証が無ければunique使えないよな
ていうか趣味グラマだろお前w
345デフォルトの名無しさん
2019/01/29(火) 18:43:45.94ID:TJ0JKGHp なんでユーザーがやる前提なんだ、って聞いて「自分だけが使うから」
なんて発想になる時点でお察しなんだが・・まぁ言ってもわからんだろうな
なんて発想になる時点でお察しなんだが・・まぁ言ってもわからんだろうな
346デフォルトの名無しさん
2019/01/29(火) 18:53:34.87ID:xfxzRb5k なんだキチガイか
ムーブするっつってんのになんでコピー可能性要求してんだこのキチガイ
ファクトリーが作ったものを管理屋に渡す前になんでヨソにコピーしてんだこのキチガイ
ムーブするっつってんのになんでコピー可能性要求してんだこのキチガイ
ファクトリーが作ったものを管理屋に渡す前になんでヨソにコピーしてんだこのキチガイ
347デフォルトの名無しさん
2019/01/29(火) 19:09:09.99ID:yGUoU/E+ RAIIを徹底しましょう。
348デフォルトの名無しさん
2019/01/29(火) 19:13:58.69ID:+ftC4go9 これくらいユーザーの関わるレイヤーがバラバラなのがc++なんだわ。
349デフォルトの名無しさん
2019/01/29(火) 19:26:19.11ID:6edJr3Gn レイヤーではなく勉強量
350デフォルトの名無しさん
2019/01/29(火) 19:58:54.89ID:y6MyodWj stlもboostもc++でないという人は他の人が作ったライブラリもc++じゃないというんだろ?
351デフォルトの名無しさん
2019/01/29(火) 20:01:21.40ID:6edJr3Gn Python3はPythonじゃないとか言ってPython2使い続けてるゴミみたいだな
352デフォルトの名無しさん
2019/01/29(火) 20:04:29.67ID:+ftC4go9 ビルド速度、コンパイラの安定性もまともに計らずに
ただ新しいものだけ使えばいいってのはただのバカにしか見えないがな。
ただ新しいものだけ使えばいいってのはただのバカにしか見えないがな。
353デフォルトの名無しさん
2019/01/29(火) 20:12:27.09ID:6edJr3Gn ワロタ
354デフォルトの名無しさん
2019/01/29(火) 20:42:46.37ID:NRuJsE/9 たった8年前に標準化されたばかりの超絶最新機能を使いたがるバカにID:+ftC4go9様がお怒りだぞ
355デフォルトの名無しさん
2019/01/29(火) 20:47:18.60ID:W2YyhY1O 10年は寝かさないと成熟したとは言えないでしょ
なんならもう少し見て20年
なんならもう少し見て20年
356デフォルトの名無しさん
2019/01/29(火) 20:54:35.03ID:jLuFDhog たかが新機能に10年も20年も寝かすとかアホか!
・・と言う人はC++の歴史をよく眺めましょう
・・と言う人はC++の歴史をよく眺めましょう
357デフォルトの名無しさん
2019/01/29(火) 20:55:22.18ID:y6MyodWj 新しい言語が使えなくなっちゃう
358デフォルトの名無しさん
2019/01/29(火) 22:35:06.17ID:QzmnZttP 20年あったらメモリは2^20倍になってCPUの速度も2^20倍ぐらいになる!
359デフォルトの名無しさん
2019/01/29(火) 22:49:33.84ID:eMwTQyJK しかして人間の知能はあまり変わらない
10年で1.01倍くらい
10年で1.01倍くらい
360デフォルトの名無しさん
2019/01/29(火) 23:26:25.60ID:8rAEnTT8 年数の問題でなく、単に boost や C++ の設計者が馬鹿なだけだよ。
はっきり言って。
はっきり言って。
361デフォルトの名無しさん
2019/01/29(火) 23:57:13.83ID:+ftC4go9 で、その新機能とやらで生産性が上がると本気で思ってんのかね?
おめでてーな。
おめでてーな。
362デフォルトの名無しさん
2019/01/30(水) 00:01:24.97ID:vB8508VG >>358
特にCPUの速度に関して本気で言ってんのだったら物を知らないね、あなた。
特にCPUの速度に関して本気で言ってんのだったら物を知らないね、あなた。
363デフォルトの名無しさん
2019/01/30(水) 00:04:00.89ID:UNHNo1ul 企業戦士マジレス
364デフォルトの名無しさん
2019/01/30(水) 00:19:59.89ID:vB8508VG 「template を使うと、エラーが長くなって判読しにくい」
「template は、不注意に使うと、code の肥大化を招く」
「template のインスタンス化すると、コンパイル時間とメモリー使用量が増大する」
これ以外に、「Other issues」の欄に、無数の問題点が挙がっている。
https://en.wikipedia.org/wiki/Standard_Template_Library
Error messages involving templates tend to be very long and difficult to decipher.
This problem has been considered so severe that a number of tools have been
written that simplify and prettyprint STL-related error messages to make them
more comprehensible.
Careless use of templates can lead to code bloat.[7] This has been countered with
special techniques within STL implementations (e.g. using void* containers internally
and other "diet template" techniques) and improving compilers' optimization techniques.
However, this symptom is similar to naively manually copying a set of functions to work
with a different type, in that both can be avoided with care and good technique.
Template instantiation can increase compilation time and memory usage,
in exchange for typically reducing runtime decision-making (e.g. via virtual functions).
Until the compiler technology improves enough, this problem can be only partially
eliminated by careful coding, avoiding certain idioms, and simply not using templates
where they are not appropriate or where compile-time performance is prioritized.
「template は、不注意に使うと、code の肥大化を招く」
「template のインスタンス化すると、コンパイル時間とメモリー使用量が増大する」
これ以外に、「Other issues」の欄に、無数の問題点が挙がっている。
https://en.wikipedia.org/wiki/Standard_Template_Library
Error messages involving templates tend to be very long and difficult to decipher.
This problem has been considered so severe that a number of tools have been
written that simplify and prettyprint STL-related error messages to make them
more comprehensible.
Careless use of templates can lead to code bloat.[7] This has been countered with
special techniques within STL implementations (e.g. using void* containers internally
and other "diet template" techniques) and improving compilers' optimization techniques.
However, this symptom is similar to naively manually copying a set of functions to work
with a different type, in that both can be avoided with care and good technique.
Template instantiation can increase compilation time and memory usage,
in exchange for typically reducing runtime decision-making (e.g. via virtual functions).
Until the compiler technology improves enough, this problem can be only partially
eliminated by careful coding, avoiding certain idioms, and simply not using templates
where they are not appropriate or where compile-time performance is prioritized.
365デフォルトの名無しさん
2019/01/30(水) 00:32:35.94ID:O9mspDJQ コンパイル時間が伸びないテンプレートやらジェネリクスやらなんてのはあるの?
366デフォルトの名無しさん
2019/01/30(水) 00:36:46.36ID:vB8508VG 「STL で実装されているイテレーターの概念は、最初は理解しにくい」
The concept of iterators as implemented by STL can be difficult to understand
at first: for example, if a value pointed to by the iterator is deleted, the iterator
itself is then no longer valid.
↓実は、英語が良く分からない部分があるが、
「メモリ管理に関して、異なるメモリ・アロケーターが使う異なるメモリープール
を同時に使うようなことは出来ないので、状態依存で振舞ってしまうような
メモリ・アロケーターがちゃんと働く事は、コンパイラが動作を保障できない」
みたいな事かな(何かよく分からない):
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
For example, a portable library can't define an allocator type that will pull
memory from different pools using different allocator objects of that type.
(Meyers, p. 50) (addressed in C++11).
The concept of iterators as implemented by STL can be difficult to understand
at first: for example, if a value pointed to by the iterator is deleted, the iterator
itself is then no longer valid.
↓実は、英語が良く分からない部分があるが、
「メモリ管理に関して、異なるメモリ・アロケーターが使う異なるメモリープール
を同時に使うようなことは出来ないので、状態依存で振舞ってしまうような
メモリ・アロケーターがちゃんと働く事は、コンパイラが動作を保障できない」
みたいな事かな(何かよく分からない):
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
For example, a portable library can't define an allocator type that will pull
memory from different pools using different allocator objects of that type.
(Meyers, p. 50) (addressed in C++11).
367デフォルトの名無しさん
2019/01/30(水) 00:48:10.51ID:vB8508VG 直訳すれば、
「コンテナのメモリ管理のために使われている Allocator オブジェクトが、
状態依存の振る舞いを伴って働くことを、コンパイラ準拠は保障しない。」
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
多分、異なったメモリ管理法を使う色々な Memory Allocator があって、
同時に使うことが難しい、というようなことを言っている気がする。
確保されたメモリの先頭アドレスだけを使いたい、というような事でも、
色々な不具合が起きてしまうんだろうか。よく知らないので言ってることも
よく分からない。
「コンテナのメモリ管理のために使われている Allocator オブジェクトが、
状態依存の振る舞いを伴って働くことを、コンパイラ準拠は保障しない。」
Compiler compliance does not guarantee that Allocator objects, used for
memory management for containers, will work with state-dependent behavior.
多分、異なったメモリ管理法を使う色々な Memory Allocator があって、
同時に使うことが難しい、というようなことを言っている気がする。
確保されたメモリの先頭アドレスだけを使いたい、というような事でも、
色々な不具合が起きてしまうんだろうか。よく知らないので言ってることも
よく分からない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 【米国】「トランプ・ゴールドカード」の受付開始 1億5600万円でアメリカの永住権を獲得 ウェブサイトで申し込み [ぐれ★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 【東京】テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント 通行人の男性巻き込まれ軽傷 六本木 [ぐれ★]
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず [七波羅探題★]
- エナジードリンク、危険だった。飲酒喫煙もせずランニングが趣味の54歳の若者が毎日たった8本飲むだけで脳卒中に [742348415]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
- はるととかいうスマブラやってる不登校のガキしね
- ホロライブvtuberさん、ソシャゲに登場するも演技力で界隈に衝撃が走る [329329848]
- NISAって優れた制度だけど、やってない人多いよな
