C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part142
https://mevius.5ch.net/test/read.cgi/tech/1554124625/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvv:1000:512:----: EXT was configured
C++相談室 part143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ)
2019/06/15(土) 13:51:53.57ID:DKQ0QQLH0428デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 10:15:25.67ID:4T2xKCYX0 基礎をすっとばすのが良くないというのは同意だわ
C++はスクリプト言語の代わりにはなれない
C++はスクリプト言語の代わりにはなれない
429デフォルトの名無しさん (スフッ)
2019/07/03(水) 10:41:14.59ID:N/cOPmK/d430デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 11:06:00.23ID:PfdnSFjeM そんな細けーこと気にするならデフォのnewやmalloc使ってたら笑うぞ
431デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 11:28:18.95ID:Odxsa8jS0 >>429
vectorは構造上はリンクリストではなく、Cの生配列と全く同じ形式で
要素を単純な配列として持っているが、最初に最大要素数を指定しなくても
後から動的に要素数を増やす機能も持っている。この機能の実現の際、もし、
今入っている要素数とぴったり同じだけの個数が入る配列でデータを持っているだけだと、
1個ずつ末尾追加したときに、毎回、今までと同じ大きさの新しい配列を new し、
古い配列のN個の要素を全て新しい配列にコピーする動作をしなくてはならず
とても時間がかかってしまう。それを防ぐために、原則的には 今入っている
要素の2倍の配列を内部的に持つことにされている。そうすることによって、
要素数が2倍に到達するまでは、末尾追加しても今言った「new してから全てコピーする動作」
をしなくて済むようになる。そのために、必要メモリが生配列の二倍必要になっているらしい。
vectorは構造上はリンクリストではなく、Cの生配列と全く同じ形式で
要素を単純な配列として持っているが、最初に最大要素数を指定しなくても
後から動的に要素数を増やす機能も持っている。この機能の実現の際、もし、
今入っている要素数とぴったり同じだけの個数が入る配列でデータを持っているだけだと、
1個ずつ末尾追加したときに、毎回、今までと同じ大きさの新しい配列を new し、
古い配列のN個の要素を全て新しい配列にコピーする動作をしなくてはならず
とても時間がかかってしまう。それを防ぐために、原則的には 今入っている
要素の2倍の配列を内部的に持つことにされている。そうすることによって、
要素数が2倍に到達するまでは、末尾追加しても今言った「new してから全てコピーする動作」
をしなくて済むようになる。そのために、必要メモリが生配列の二倍必要になっているらしい。
432デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 11:36:58.84ID:uVFkIemlM 最悪の場合を言ってるのだろう
平均で見なきゃ意味ない
そんなこと言ったらクイックソートだって
平均で見なきゃ意味ない
そんなこと言ったらクイックソートだって
433デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 11:40:32.67ID:uVFkIemlM そもそも好きに使って経験を積みゃいいんだし手法を統一する必要もない
434デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 11:48:52.78ID:Odxsa8jS0 >>432
最悪で2倍、平均だと 1.5倍。
最悪で2倍、平均だと 1.5倍。
435デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 11:51:28.69ID:uVFkIemlM なら許容範囲だね!!よかったよかった
436デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 11:51:35.55ID:oDCSMM9SM shrink_to_fitでも使えや
437デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 11:53:21.22ID:Odxsa8jS0438デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 11:58:54.95ID:uVFkIemlM 用途要求仕様要件目的予算を特定せずに何を判断せよと
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倍やら確保するコンパイラがあるなんて怖いからさ
お前の妄想や思い込みじゃないなら当然答えられるよね?そんな長文書くほど自信満々なら知らないわけないよね?
教えてよ
#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倍やら確保するコンパイラがあるなんて怖いからさ
お前の妄想や思い込みじゃないなら当然答えられるよね?そんな長文書くほど自信満々なら知らないわけないよね?
教えてよ
440デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:08:29.19ID:Odxsa8jS0441デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:10:06.32ID:oDCSMM9SM 末尾追加したいのかCのように固定長で使いたいのかはっきりせぇや
どう転んでも文句言いやがってw
どう転んでも文句言いやがってw
442デフォルトの名無しさん (スフッ)
2019/07/03(水) 12:10:28.85ID:N/cOPmK/d 生配列と比較するならサイズ既知なのだから、サイズ指定して初期化、もしくはreserveするのは当然だろ
push_back使うなら、生配列の側も現在の実サイズを別変数で管理しないと公平でない
push_back使うなら、生配列の側も現在の実サイズを別変数で管理しないと公平でない
443デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:12:09.83ID:Odxsa8jS0 >>442
区別することが大切だといってるんだよ。
区別することが大切だといってるんだよ。
444デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:12:52.89ID:oDCSMM9SM キャッシュなんてキャッシュラインサイズごとに読み込むのだから
使いもしないvectorで確保した領域全部読むわけちゃうぞwwww
vectorか生ポかなんて低次元な話ではなくメモリアライメントまで気にしとけと。
だからごちゃごちゃ言うやつはデフォのmallocなんか使ってないよなと確認したのにwww
使いもしないvectorで確保した領域全部読むわけちゃうぞwwww
vectorか生ポかなんて低次元な話ではなくメモリアライメントまで気にしとけと。
だからごちゃごちゃ言うやつはデフォのmallocなんか使ってないよなと確認したのにwww
445デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:13:13.85ID:uVFkIemlM 「トレードオフを理解はするが、許せない」
こういうことか?
こういうことか?
446デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:13:21.22ID:mX2Zy9Do0 >>440
あっはい追加時の話はどうでもいいです
追加量が読めてるならreserveなり最初に大きめに構築するなりするだけだし、読めてないならそれ必要なコストですよね?
私が聞きたいのはreserveや要素追加も伴わずに勝手に常に2倍で確保するというコンパイラorライブラリの具体的な情報です
質問に答えてください
あっはい追加時の話はどうでもいいです
追加量が読めてるならreserveなり最初に大きめに構築するなりするだけだし、読めてないならそれ必要なコストですよね?
私が聞きたいのはreserveや要素追加も伴わずに勝手に常に2倍で確保するというコンパイラorライブラリの具体的な情報です
質問に答えてください
447デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:14:08.32ID:oDCSMM9SM448デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:14:30.07ID:Odxsa8jS0 >>441
そういうことじゃなくて、新しく追加された機能を何も考えずにそのまま使って
C#との速度比較に用いてC++がC#に負けたと主張するQiitaの記事が「C# 速度」と
いうGoogle検索で上位に来るから困るんだよ。
そういうことじゃなくて、新しく追加された機能を何も考えずにそのまま使って
C#との速度比較に用いてC++がC#に負けたと主張するQiitaの記事が「C# 速度」と
いうGoogle検索で上位に来るから困るんだよ。
449デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:15:34.63ID:Odxsa8jS0 ここはアホが多すぎ。
450デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:16:03.22ID:oDCSMM9SM451デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:16:29.07ID:oDCSMM9SM >>449
敗北宣言なら素直になれよwww
敗北宣言なら素直になれよwww
452デフォルトの名無しさん (スフッ)
2019/07/03(水) 12:17:18.98ID:N/cOPmK/d この展開だと、知識もスキルも足りていない奴が、誤解でvector使えないといっているだけにしか見えないな
453デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:18:06.65ID:mX2Zy9Do0454デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:18:33.35ID:Odxsa8jS0 日本のITが駄目な理由がここに全て現れている。
その上、自分達がレベルが高いと思っているのがまた痛い。
日本はもう二度と浮上しないな。
その上、自分達がレベルが高いと思っているのがまた痛い。
日本はもう二度と浮上しないな。
455デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:20:42.38ID:mX2Zy9Do0456デフォルトの名無しさん (スフッ)
2019/07/03(水) 12:21:17.25ID:N/cOPmK/d 自ら体現してくれているんかな
457デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:22:21.83ID:oDCSMM9SM >>454
逃げる前にお願い
効率悪いとかそういう話ではなく
一番最初に主張していた
スマポとコンテナの方が生ポより危険
をちゃんと言ってからにしてよ。
危険性の話から効率の話になってc#とか言い出して
ひたすらトーンダウンなんだけどwww
逃げる前にお願い
効率悪いとかそういう話ではなく
一番最初に主張していた
スマポとコンテナの方が生ポより危険
をちゃんと言ってからにしてよ。
危険性の話から効率の話になってc#とか言い出して
ひたすらトーンダウンなんだけどwww
458デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:24:17.58ID:mX2Zy9Do0 やめたれよ
vector2倍コンパイラの名前をずばり答える能力すらない人間にその抽象的な質問は難しすぎる
vector2倍コンパイラの名前をずばり答える能力すらない人間にその抽象的な質問は難しすぎる
459デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:26:05.69ID:+Us18YV60 駄目なところは用途によって変えるべきなのに包括的に物事を判断することしかしないから
vectorが確保するcapacity程度でも気にすべき環境なら当然気にするし、そうじゃないなら気にしなきゃいい
気にしなくて良いケースでもとにかく重箱の隅をつついて難癖つけるような輩が居る
サービス利用者からみて大差無けりゃどうでもいいのに変なところにこだわり持つからサービスが生まれない
vectorが確保するcapacity程度でも気にすべき環境なら当然気にするし、そうじゃないなら気にしなきゃいい
気にしなくて良いケースでもとにかく重箱の隅をつついて難癖つけるような輩が居る
サービス利用者からみて大差無けりゃどうでもいいのに変なところにこだわり持つからサービスが生まれない
460デフォルトの名無しさん (ササクッテロル)
2019/07/03(水) 12:44:03.73ID:gUarAEEJp なんや今日はいろんなスレでキチガイ多いなと思ってID見たら
VS2019スレで妄言垂れてたのと同じキチガイじゃねえかw
VS2019スレで妄言垂れてたのと同じキチガイじゃねえかw
461デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:45:35.43ID:mX2Zy9Do0 このボケ老人よそでも暴れてたのか
くわばらくわばら
くわばらくわばら
462デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 12:51:50.17ID:oDCSMM9SM そもそもmallocでも管理領域あるしな。
さもなくばfreeするときサイズわからんようなるからwww
さもなくばfreeするときサイズわからんようなるからwww
463デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 12:56:09.64ID:XRQdtmsk0 2018年度の流行語大賞をとった彼じゃないの
C言語なら俺に聞け 148
https://mevius.5ch.net/test/read.cgi/tech/1537347410/37
37 名前:デフォルトの名無しさん (ワッチョイ f94f-yqSl)[sage] 投稿日:2018/09/22(土) 01:42:06.64 ID:16ZpsTnK0
>>36
(略)
> void show_all(void)
なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
(略)
C言語なら俺に聞け 148
https://mevius.5ch.net/test/read.cgi/tech/1537347410/37
37 名前:デフォルトの名無しさん (ワッチョイ f94f-yqSl)[sage] 投稿日:2018/09/22(土) 01:42:06.64 ID:16ZpsTnK0
>>36
(略)
> void show_all(void)
なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
(略)
464デフォルトの名無しさん (アウアウカー)
2019/07/03(水) 14:05:50.55ID:zZwRICR4a まあ今のC++で生配列と生ポインタ使う理由はゼロだわな
465デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 14:52:53.74ID:4T2xKCYX0466デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 14:53:02.50ID:eEnZmm5I0 C互換APIは生配列と生ポインタで受け渡しなので完全排除は不可能。
467デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 15:25:33.02ID:uVFkIemlM 狭いローカルスコープ内にある
int arr[3] をわざわざ std::array<int, 3> にしようとも思わないけどな
int arr[3] をわざわざ std::array<int, 3> にしようとも思わないけどな
468デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 15:40:50.78ID:mX2Zy9Do0 なるべくスマポとarrayに変えていくべきだというのも、置き換えきれない所があるのも両方とも正しい
どっちかの極端に走るとさっきの老害みたいになる
どっちかの極端に走るとさっきの老害みたいになる
469デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 16:44:21.55ID:Odxsa8jS0470デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 16:59:26.35ID:mX2Zy9Do0471デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:05:49.68ID:Odxsa8jS0 無能の意見 ---> 「自転車は危険なので全員三輪車に乗るべき」
472デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:10:10.75ID:mX2Zy9Do0473デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:24:49.04ID:Odxsa8jS0 昔、「BASIC言語は誰でも使える」と言われていたが、STLのコンテナや
スマポを使ったプログラムは、絶対にそれだけを使って、かつ、効率を
考えなければそれに匹敵するくらい簡単。
でもそれでは駄目な領域が有る。
スマポを使ったプログラムは、絶対にそれだけを使って、かつ、効率を
考えなければそれに匹敵するくらい簡単。
でもそれでは駄目な領域が有る。
474デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:28:06.79ID:+Us18YV60 何の主張で議論してんのかさっぱりわからん
マウント取りたいだけ大会みたい
マウント取りたいだけ大会みたい
475デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:28:59.92ID:mX2Zy9Do0476デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 17:31:39.19ID:oDCSMM9SM477デフォルトの名無しさん (スプッッ)
2019/07/03(水) 17:33:01.94ID:Kb9ohuF+d 効率も大部分の応用分野では悪くないんだな
478デフォルトの名無しさん (オイコラミネオ)
2019/07/03(水) 17:34:35.23ID:giz72OluM 用途にあったコンテナなら効率いいだろ
479デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:44:37.37ID:mX2Zy9Do0480デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:54:58.55ID:Odxsa8jS0 この板のような匿名性の過疎スレはレベルの低い連中の意見が多数派になりやすい。
つまり少数精鋭の完全な逆。
つまり少数精鋭の完全な逆。
481デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:55:47.12ID:mX2Zy9Do0482デフォルトの名無しさん (スプッッ)
2019/07/03(水) 17:55:50.16ID:Kb9ohuF+d お願いだからレベルの高さを見せてくれよ
483デフォルトの名無しさん (オイコラミネオ)
2019/07/03(水) 17:57:20.12ID:giz72OluM アホだから要素追加時のとごっちゃになってんだろう
要素0でpush_backしたらキャパ2以上になるのはそれなりにあるんかな
要素0でpush_backしたらキャパ2以上になるのはそれなりにあるんかな
484デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:58:11.80ID:Odxsa8jS0 馬鹿にはいくら言っても本質が理解できない。ちゃんと答えても的外れな
観点で何か言って来る。質問自体が馬鹿だから答えてもしょうがない。
観点で何か言って来る。質問自体が馬鹿だから答えてもしょうがない。
485デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 17:58:59.95ID:Odxsa8jS0 いっとくが、むしろ俺は天才といわれてる。天才の言うことが理解できない
凡人たちだ。ここの人は。
凡人たちだ。ここの人は。
486デフォルトの名無しさん (スプッッ)
2019/07/03(水) 17:59:33.93ID:Kb9ohuF+d 確かにこの流れを見た感想そのものだがw
487デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:00:04.76ID:uMmlAeoj0 変なの住み着いちゃったな
488デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:01:34.34ID:Odxsa8jS0 雑魚は黙っとけ。馬鹿どもめが。
489デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:01:56.66ID:mX2Zy9Do0490デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:03:42.55ID:mX2Zy9Do0491デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:04:02.74ID:mX2Zy9Do0492デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:04:04.67ID:lDDJeJVH0 >>483
一般的には、capacity()サイズを倍々にしていく実装が多いんじゃないかな?
一般的には、capacity()サイズを倍々にしていく実装が多いんじゃないかな?
493デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:04:18.16ID:Odxsa8jS0494デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:06:23.80ID:Odxsa8jS0 凡人は本質を理解できないからソースを見たり実験しないと分からないんだろう。
天才はソースも実験もしないでも結論が分かる。数学と同じだ。
実験して結果が違っていたとしてもそれは例外だと断定できる。
なぜなら、絶対にそういう実装で無ければ成らないことが天才には分かるからだ。
凡人の反論は受け付けない。これは絶対だ。実験とか関係ない。
天才はソースも実験もしないでも結論が分かる。数学と同じだ。
実験して結果が違っていたとしてもそれは例外だと断定できる。
なぜなら、絶対にそういう実装で無ければ成らないことが天才には分かるからだ。
凡人の反論は受け付けない。これは絶対だ。実験とか関係ない。
495デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:09:13.98ID:mX2Zy9Do0 そっか
天才様の書いたプログラムは必ず天才様が思ったとおりに動くに決まってるから、動かしてテストもしないんだね
怖すぎるから絶対に本番用コードに近寄らないでね天才様
天才様の書いたプログラムは必ず天才様が思ったとおりに動くに決まってるから、動かしてテストもしないんだね
怖すぎるから絶対に本番用コードに近寄らないでね天才様
496デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:11:21.64ID:Odxsa8jS0497デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:11:41.02ID:uMmlAeoj0 適当に書いたことに予想外に食いつかれて、
答えられなくなったからネタに走ってごまかそうとしてるだけだろ
答えられなくなったからネタに走ってごまかそうとしてるだけだろ
498蟻人間 ◆T6xkBnTXz7B0 (スフッ)
2019/07/03(水) 18:13:16.43ID:qqPAz+Nsd 「便所の落書きに天才現る (2)」
(c) 蟻人間 2019年7月発行.
無断転載を禁ず.
(c) 蟻人間 2019年7月発行.
無断転載を禁ず.
499デフォルトの名無しさん (オイコラミネオ)
2019/07/03(水) 18:13:49.02ID:giz72OluM500デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:15:19.28ID:mX2Zy9Do0 >>496
うん、天才様はそれでいいんだろうけど、凡人の世界では書いたコードは必ずテストして報告書を納品するものなんですよ
天才様は我々凡人のやり方とは合わないでしょうから、どうぞお一人で自分のためだけのコーディングを楽しんでください
未テストのクソコードを凡人世界に持ち込まないでくださいお願いします
うん、天才様はそれでいいんだろうけど、凡人の世界では書いたコードは必ずテストして報告書を納品するものなんですよ
天才様は我々凡人のやり方とは合わないでしょうから、どうぞお一人で自分のためだけのコーディングを楽しんでください
未テストのクソコードを凡人世界に持ち込まないでくださいお願いします
501デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:16:15.13ID:Odxsa8jS0 プログラミングでテストが必要なのは、たとえば、過去に書いた何万行ものコード
を全部は思い出せないので、grep検索などで調査した結果にもと髄手後から機能追加
する時にミスが入り込んだり、ケアレスミスがあるからだ。
ところが、アルゴリズムのようなものは数学のようなもので、完全に正しいことが
天才には分かる。ところがここの人たちは凡才なので分からないから、いつまで
たっても証拠を見せろ、説明せよ、を連呼し続けてるだけだ。しかしそれは、
天才の結論が間違っていることにはならない。
を全部は思い出せないので、grep検索などで調査した結果にもと髄手後から機能追加
する時にミスが入り込んだり、ケアレスミスがあるからだ。
ところが、アルゴリズムのようなものは数学のようなもので、完全に正しいことが
天才には分かる。ところがここの人たちは凡才なので分からないから、いつまで
たっても証拠を見せろ、説明せよ、を連呼し続けてるだけだ。しかしそれは、
天才の結論が間違っていることにはならない。
502デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:16:39.18ID:NC+hYvon0 あれということは追加したときに足らんときって一時的に約3倍メモリくうのか
503デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:17:15.31ID:mX2Zy9Do0 凡人向け情報
ちょっと古いけど2倍とか1.5倍とか色々あるみたいよ
もちろんcapacity超えるサイズが必要になってから伸ばすけど
http://www.kmonos.net/wlog/111.html#_2334100705
ちょっと古いけど2倍とか1.5倍とか色々あるみたいよ
もちろんcapacity超えるサイズが必要になってから伸ばすけど
http://www.kmonos.net/wlog/111.html#_2334100705
504デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:18:05.72ID:Odxsa8jS0 >>499
勘違いなどしてない。勘違いだと思い込むのは、ここの人たちが凡人だからだよ。
勘違いなどしてない。勘違いだと思い込むのは、ここの人たちが凡人だからだよ。
505蟻人間 ◆T6xkBnTXz7B0 (スフッ)
2019/07/03(水) 18:20:25.23ID:qqPAz+Nsd 天才って普段どんなもの作ってるの?
506デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:20:28.94ID:Odxsa8jS0507デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:22:29.45ID:mX2Zy9Do0 つまんね
自分を天才だと思いこむ狂人を演じる雑魚ってどんだけ殻被らないと自分を守れないの?
もうオモチャにする価値もないわNGします
自分を天才だと思いこむ狂人を演じる雑魚ってどんだけ殻被らないと自分を守れないの?
もうオモチャにする価値もないわNGします
508デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:23:43.51ID:Odxsa8jS0 >>507
思い込みではない。
思い込みではない。
509デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:26:07.57ID:NC+hYvon0 まずvectorはN個の要素を確保するときはN個分でふつうの配列と同じ分だけ確保する
要素追加時にキャパ足りない場合は配列の1.5とか2倍に増加する
この時ID:Odxsa8jS0のいうとおり2*Nとかになるときがあるという話ですね
要素追加時にキャパ足りない場合は配列の1.5とか2倍に増加する
この時ID:Odxsa8jS0のいうとおり2*Nとかになるときがあるという話ですね
510デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:29:57.28ID:Odxsa8jS0 >>509
最初に確保したまま、絶対に後から追加しないなら、固定長配列で十分だから、
2倍などになっていることの方が通常。ただし、2倍、2倍で増えていく場合でも、
平均のテーブルサイズは、要素数の1.5倍+(固定サイズの制御情報)となる。
最初に確保したまま、絶対に後から追加しないなら、固定長配列で十分だから、
2倍などになっていることの方が通常。ただし、2倍、2倍で増えていく場合でも、
平均のテーブルサイズは、要素数の1.5倍+(固定サイズの制御情報)となる。
511デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:30:24.41ID:mX2Zy9Do0512デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:31:44.49ID:NC+hYvon0 >>510
指定の2倍とかになる開発環境あげてよ
指定の2倍とかになる開発環境あげてよ
513デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:33:16.53ID:mX2Zy9Do0 >>512
少なくともGCCとclangとVCとiccは違うよ
少なくともGCCとclangとVCとiccは違うよ
514デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:33:29.09ID:Odxsa8jS0 >>511
アホはだまっとれ。誰も2倍固定などとは思ってない。4倍でもなんでもいい。
とにかく、そのような「感じ」で増加していくということだけだ。「感じで」
といったのは数学的感覚に優れた秀才以上の人でなければ理解できなくて、
凡才には誤解を招くだろうが。
アホはだまっとれ。誰も2倍固定などとは思ってない。4倍でもなんでもいい。
とにかく、そのような「感じ」で増加していくということだけだ。「感じで」
といったのは数学的感覚に優れた秀才以上の人でなければ理解できなくて、
凡才には誤解を招くだろうが。
515デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:34:26.35ID:Odxsa8jS0 >>513
何度も行ってるが、それはテストの時にたまたまそうなっただけ。
何度も行ってるが、それはテストの時にたまたまそうなっただけ。
516デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:36:00.16ID:NC+hYvon0 >>515
君のいうとおりになった環境とコードあげたら君の勝ちよ
君のいうとおりになった環境とコードあげたら君の勝ちよ
517デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:37:25.69ID:Odxsa8jS0518デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 18:38:04.09ID:oDCSMM9SM 引くに引けないバカ
何が危険なのー
何が危険なのー
519蟻人間 ◆T6xkBnTXz7B0 (スフッ)
2019/07/03(水) 18:38:42.10ID:qqPAz+Nsd 天才様、ReactOSの開発を手伝って下さい。お願いします
520デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:39:36.54ID:Odxsa8jS0521デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:42:33.07ID:NC+hYvon0 >>517
テストしなくても分かるなら探すまでもなく名前挙げれるでしょ
テストしなくても分かるなら探すまでもなく名前挙げれるでしょ
522デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:46:22.64ID:Odxsa8jS0523蟻人間 ◆T6xkBnTXz7B0 (スフッ)
2019/07/03(水) 18:46:23.12ID:qqPAz+Nsd 天才さーん!
524デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:48:44.79ID:Odxsa8jS0525デフォルトの名無しさん (ワッチョイ)
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倍が埋まったら結局再配置はしないといけないわけだからね。キチガイ式の実装は再確保のタイミングをずらして、メモリを無駄にしつつ当初の目的も達成できないという
大変悪い見本です。真似しないようにしましょう
以上、長文失礼しました
通りかかった初心者が勘違いしないように正しいこと書いておくね
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倍が埋まったら結局再配置はしないといけないわけだからね。キチガイ式の実装は再確保のタイミングをずらして、メモリを無駄にしつつ当初の目的も達成できないという
大変悪い見本です。真似しないようにしましょう
以上、長文失礼しました
526デフォルトの名無しさん (ブーイモ)
2019/07/03(水) 18:55:40.74ID:oDCSMM9SM527デフォルトの名無しさん (ワッチョイ)
2019/07/03(水) 18:56:24.16ID:Odxsa8jS0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 ★2 [煮卵★]
- 「だからデビューできないんだよ」やす子、ジュニアへの“不適切発言”が炎上《何がわかる》ファンの逆鱗 [Anonymous★]
- 30年前豊臣秀吉だった竹中直人、こんどは松永久秀に [389326466]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨 [931948549]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- もう疲れたよパトラッシュ......をVIPで発言して役6年
- 最強のカップ麺👈🏿( ・᷇ὢ・᷆ )何のカプ麺さ????????????????
