◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

C++相談室 part143 YouTube動画>1本


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1560574313/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

ID:mX2Zy9Do0のレス一覧:


411デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 01:29:58.72ID:mX2Zy9Do0
こうやって具体例も出さずに古い知識と気分と思い込みでコンテナやスマポを意味なく禁止してナマポや生配列を強要する老害が一番危険
415デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 07:54:35.14ID:mX2Zy9Do0
なんだキチガイか
439デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 12:02:59.10ID:mX2Zy9Do0
#include <iostream>
#include <vector>
using namespace std;
int main() {
 std::vector<int> v(10);
 cout << v.capacity();
 return 0;
}

>>431
どこのコンパイラが20や15表示するの?教えてよ
俺の手元のGCCとclangとVCとiccは当然だけど10だったよ
そんなサイズ伸縮やreserveもする前から手前勝手に1.5倍やら2倍やら確保するコンパイラがあるなんて怖いからさ
お前の妄想や思い込みじゃないなら当然答えられるよね?そんな長文書くほど自信満々なら知らないわけないよね?
教えてよ
446デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 12:13:21.22ID:mX2Zy9Do0
>>440
あっはい追加時の話はどうでもいいです
追加量が読めてるならreserveなり最初に大きめに構築するなりするだけだし、読めてないならそれ必要なコストですよね?
私が聞きたいのはreserveや要素追加も伴わずに勝手に常に2倍で確保するというコンパイラorライブラリの具体的な情報です
質問に答えてください
453デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 12:18:06.65ID:mX2Zy9Do0
>>448
C#??Qiita??C++98からあるvectorが「新しい機能」?????
キチガイのフリしてるんじゃないなら逃げずに>>439>>446に答えろ。知らんなら知らんと正直に言え
答えないならフリじゃないとみなす
455デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 12:20:42.38ID:mX2Zy9Do0
>>454
OK、知らないってことね。もしくはキチガイごっこ続けるわけね
>>431みたいなことドヤ顔でほざいて、根拠求められれば逃げ回って結局示せなくて
お前とコードレビューしてる同僚はさぞ仕事が辛いだろうな
同情するわ
458デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 12:24:17.58ID:mX2Zy9Do0
やめたれよ
vector2倍コンパイラの名前をずばり答える能力すらない人間にその抽象的な質問は難しすぎる
461デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 12:45:35.43ID:mX2Zy9Do0
このボケ老人よそでも暴れてたのか
くわばらくわばら
468デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 15:40:50.78ID:mX2Zy9Do0
なるべくスマポとarrayに変えていくべきだというのも、置き換えきれない所があるのも両方とも正しい
どっちかの極端に走るとさっきの老害みたいになる
470デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 16:59:26.35ID:mX2Zy9Do0
>>469
キチガイさんこんばんは
さっさと>>446に答えるか死ぬかどっちか選んでね
472デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 17:10:10.75ID:mX2Zy9Do0
>>471
有能なアナタなはもちろん自分で披露した知見の裏付けくらい当然に示せますよね?
>>446に答えるか無能を認めるかさっさと選べよ
475デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 17:28:59.92ID:mX2Zy9Do0
>>473
その長文書く暇で>>446答えられたでしょ
早く答えろよ
479デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 17:44:37.37ID:mX2Zy9Do0
>>478
それがどうやらvectorは生配列の2倍の容量を食うから効率悪いんだってさ(>>431)
GCCclangVCiccでは違うけど、そんなコンパイラが本当にあったら大変だからどんな環境だとそうなるのか気になるよね
というわけで>>446に今すぐ答えてねID:Odxsa8jS0さん
さっさとしろよグズ
481デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 17:55:47.12ID:mX2Zy9Do0
>>480
レベルの高い>>446への回答をよろしくお願いします
いつまでも逃げ回ってんじゃねえぞ卑怯者
489デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:01:56.66ID:mX2Zy9Do0
>>485
凡人なのでvector2倍コンパイラの正体がわからないと不安でたまりません
天才の閃きで>>446に答えてください
もしくは自分を天才だと思い込んでる狂人だと認めてください
490デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:03:42.55ID:mX2Zy9Do0
>>489
自分で行ったことへの責任すら取れないアンタが客観的に見てこのスレで一番の雑魚だよ
雑魚扱いが嫌なら>>446に答えろ
答えないなら言いっぱなしの無責任で卑怯なクソ雑魚として永遠に軽蔑する
491デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:04:02.74ID:mX2Zy9Do0
>>490>>488へのレスな
495デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:09:13.98ID:mX2Zy9Do0
そっか
天才様の書いたプログラムは必ず天才様が思ったとおりに動くに決まってるから、動かしてテストもしないんだね
怖すぎるから絶対に本番用コードに近寄らないでね天才様
500デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:15:19.28ID:mX2Zy9Do0
>>496
うん、天才様はそれでいいんだろうけど、凡人の世界では書いたコードは必ずテストして報告書を納品するものなんですよ
天才様は我々凡人のやり方とは合わないでしょうから、どうぞお一人で自分のためだけのコーディングを楽しんでください
未テストのクソコードを凡人世界に持ち込まないでくださいお願いします
503デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:17:15.31ID:mX2Zy9Do0
凡人向け情報
ちょっと古いけど2倍とか1.5倍とか色々あるみたいよ
もちろんcapacity超えるサイズが必要になってから伸ばすけど
http://www.kmonos.net/wlog/111.html#_2334100705
507デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:22:29.45ID:mX2Zy9Do0
つまんね
自分を天才だと思いこむ狂人を演じる雑魚ってどんだけ殻被らないと自分を守れないの?
もうオモチャにする価値もないわNGします
511デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:30:24.41ID:mX2Zy9Do0
>>509
そうだね
キチガイが間違ってるのは末尾追加に備えて常に2*Nを確保するという主張
513デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:33:16.53ID:mX2Zy9Do0
>>512
少なくともGCCとclangとVCとiccは違うよ
525デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 18:54:33.31ID:mX2Zy9Do0
キチガイ見えない状態で書いてるけどなんかほざいてるっぽいので
通りかかった初心者が勘違いしないように正しいこと書いておくね

std::vectorのpush_backが要求する計算量は「償却定数時間」で、これはざっくり言うと
たまに長い時間がかかるけどそれが稀なので、平均的には定数で抑えられるってこと
capacityいっぱいのvectorにpush_backをすると領域再確保してO(n)かかるけど、その頻度がnのオーダーより小さければ償却定数時間になる
2倍2倍で広げるってのはそういうこと(再確保の頻度がO(logn)になる)。2倍に限らず1.5倍とかでもいいしそれは実装次第

で、キチガイの主張は「push_backは定数時間!だからその保証のために追加先として始めから2倍の領域を確保してて効率悪いんだ(ドヤァ…」だけど見ての通り大間違いね
capacityがいっぱいになってから再確保すれば償却定数時間には十分で、要素が追加されるかもわからない最初の段階でそんな事する必要はまったくない
当然ながら実際にGCCとclangとVCとiccは、例えば要素10個で構築されればcapacityを10にする常識的な実装をしている
追加量が読めていて、何度も2倍2倍で再確保するのが無駄な場合はcapacityをあらかじめ広げるreserve()という操作があるので、それを使えば効率的になる

蛇足だけど、キチガイの主張通り常に2倍の領域を確保したとしても、push_backの(償却でない)定数時間は達成できないことも指摘しておく
その2倍が埋まったら結局再配置はしないといけないわけだからね。キチガイ式の実装は再確保のタイミングをずらして、メモリを無駄にしつつ当初の目的も達成できないという
大変悪い見本です。真似しないようにしましょう

以上、長文失礼しました
538デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 19:10:47.63ID:mX2Zy9Do0
std::listはメモリ局所性が低いので現代的なコンピュータだと遅いってのはよく言われてる
サイズが小さいと中間挿入でvectorに負けることさえある
540デフォルトの名無しさん (ワッチョイ)2019/07/03(水) 19:13:32.58ID:mX2Zy9Do0
天才様のクソ実装だとvectorは要素数の2倍のcapacityを抱えてなければならないからlistよりでかくなるんだよ
天才様のクソ実装がいかにダメ実装なのかを示す実例なわけだ

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1560574313/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「C++相談室 part143 YouTube動画>1本 」を見た人も見ています:
C♯相談室 Part20
エイブル相談室
C++相談室 part153
C++相談室 part126
C++相談室 part124
C++相談室 part150
C++相談室 part152
C++相談室 part154
C++相談室 part137
C++相談室 part151
C++相談室 part149
C++相談室 part155
C++相談室 part148
C++相談室 part147
C++相談室 part134
C++相談室 part135
C++相談室 part140
C++相談室 part137
C++相談室 part142
C++相談室 part117
C++相談室 part138
C++相談室 part146
C++相談室 part144
C++相談室 part132
C++相談室 part141
C++相談室 part130
C++相談室 part145
C++相談室 part133
C++相談室 part158
C++相談室 part156
C++相談室 part157
C++相談室 part165
C++相談室 part164
C++相談室 part159
C++相談室 part166
C++相談室 part161
C++相談室 part162
C++相談室 part163
C言語相談室(上級者専用)
C++相談室 part139
C++相談室 part136
C++相談室 part131
MFC相談室 mfc23d.dll
MFC相談室 mfc22d.dll
Mac G5 中古買入相談室
自営業 悩みごと相談室 40
C#, C♯, C#相談室 Part90
C#, C♯, C#相談室 Part79
C#, C♯, C#相談室 Part75
0からの、超初心者C#相談室
C#, C♯, C#相談室 Part91
C++Builder相談室 Part21
C#, C♯, C#相談室 Part94
C#, C♯, C#相談室 Part93
自営業 悩みごと相談室 47
自営業 悩みごと相談室 46
C#, C♯, C#相談室 Part91
C#, C♯, C#相談室 Part94
0からの、超初心者C++相談室
ライダーマンのお悩み相談室
自営業 悩みごと相談室 45
自営業 悩みごと相談室 49
04:17:14 up 110 days, 5:16, 0 users, load average: 38.02, 58.87, 64.57

in 0.02011513710022 sec @0.02011513710022@0b7 on 080517