[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/24 03:29 / Filesize : 284 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part122



1 名前:デフォルトの名無しさん mailto:sage [2016/01/23(土) 23:06:15.32 ID:HdItgJjm.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part121
peace.2ch.net/test/read.cgi/tech/1449240881/


このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.97【環境依存OK】
peace.2ch.net/test/read.cgi/tech/1439849418/

次期規格C++1zはこちら
C++14/C++1z 20
peace.2ch.net/test/read.cgi/tech/1410382924/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

357 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 20:55:35.17 ID:Da4oU4sD.net]
arrayはconstexpr対応になるんだっけ?

358 名前:デフォルトの名無しさん [2016/02/05(金) 23:59:20.96 ID:h93Uutag.net]
uBlasってどんな人が使うの?

359 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 00:13:51.81 ID:UqtC6Emj.net]
行列とかだっけ?解析関係?

360 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 00:15:16.29 ID:cWTD7JVS.net]
早くはないんでしょ
あくまで実装例って位置付けで

361 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 00:23:29.24 ID:EywJMRGG.net]
じゃあblasに興味ある奴が使うんだろ

362 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 11:43:48.82 ID:M1Vkc4iO.net]
>>357
お前まだconstexpr対応してないの?
はよ専用ブラウザ入れろ

363 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 17:55:48.52 ID:DtUiRvEm.net]
C++は見限ったな。 おれはCに移住したが楽園だわ。 

364 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 18:07:24.47 ID:gyUZgEHU.net]
>>363
さようなら、楽園の住人

365 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 18:31:40.60 ID:OQzrG2km.net]
Cにメンバ関数や簡易的なオブジェクト指向が取り入れられるようになったら
C++の存在意義ってなくなるよな。

ここ数年のCはC++の成果を貪欲に取り入れる傾向もあるし、
そのうちC++からCへの回帰が始まるんじゃないかって気がしてる。



366 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 18:36:09.47 ID:DtUiRvEm.net]
いや、もうなってる。 構造体に関数のポインターを持たせてマクロ作ればメンバー関数だし。 構造体の中に構造体を持たせてユニオンすれば継承だしな。 パブリックとかはパイソンみたいにすればいいし。

367 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 18:47:01.63 ID:s3egBiWX.net]
そしてまたc++が生まれ…

368 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 18:52:28.27 ID:ewLa/pEP.net]
C++ が理解できなかったんだな
爺にはよくあることだから悲観しなくていい
楽園で楽しんでくれ

369 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 19:01:46.31 ID:0Vjd8v8v.net]
>>366
> 構造体に関数のポインターを持たせてマクロ作ればメンバー関数だし。
それ継承の仕組みだし
> 構造体の中に構造体を持たせてユニオンすれば継承だしな。
意味不明だし
まあCの楽園で成仏しとけ

370 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 19:06:52.10 ID:1ZsFckKc.net]
わざわざここに書き込みに来た理由を考えるに、たぶん触れないでおいたほうがいいと思う。

371 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 19:09:17.71 ID:/1/YZwYl.net]
>>354
ありがとう
vector先輩についていくわ

372 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 19:23:16.72 ID:lxi6Zpfn.net]
簡単なドライバの本でも読めばいいのに

373 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:05:33.75 ID:ijtrMwoE.net]
>>369
>> 構造体に関数のポインターを持たせてマクロ作ればメンバー関数だし。
>それ継承の仕組みだし
仮想関数の素朴な実装だろ;
(正しくはvtblを作るべきだが、

>> 構造体の中に構造体を持たせてユニオンすれば継承だしな。
>意味不明だし
「ユニオン」の誤用があるようだが
入れ子の構造体は継承の素朴な実装に他ならないだろ;

374 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:10:44.00 ID:ijtrMwoE.net]
つまり、
struct Foo {
 int m_a, m_b;
};
struct Bar {
 struct Foo m_base;
 int m_x, m_y;
};
としとけば、
 void print_foo(struct Foo* p) { printf("a=%d, b=%d\n", p->m_a, p->m_b); }
に対して、
 struct Bar b;
 print_foo((struct Foo*)&b);
とできる、
これが(virtualでない)継承の真実の姿、

375 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:12:28.12 ID:bscwrwNU.net]
C至高信者はどっかほかのところで好きなだけC++をディスってろ
まずはスレ違いだってことを認識できるまでには成長することだな



376 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:16:37.46 ID:zK6xYjd8.net]
Cの思想に反する「デストラクター」が使えない以上
あまり意味があるとは思えない

377 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:22:56.44 ID:kD783RuO.net]
>>365
XVIewのAPIって知っている?

378 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:32:27.60 ID:K1T12T5X.net]
C至高信者は一生構造体をmemsetし続けるに100ペソ

379 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:36:18.00 ID:DtUiRvEm.net]
>>374
structをm$独自の拡張を使っていることはいいとして基底クラスの中身をユニオンしておくんだよ。そうすると.で中身をとりだせるようになる。

{}で0になることもしらないのか?

380 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:49:45.09 ID:ijtrMwoE.net]
>>379
>>374のstructのどこにMS拡張が…?

>>379
>>{}で0になることもしらないのか?
C言語でおk

381 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 20:57:45.31 ID:ijtrMwoE.net]
>>379
あらかじめ逝っておくが、>>374は無名構造体メンバなど使っていないCのソースコードのつもりであって、
メンバアクセス表記を厳密にC++と一致させることを目的にはしていない
(struct BarのベースクラスFooのメンバへのアクセスをstruct Barのインスタンスからやる場合はb.m_a、ではなくてb.m_base.m_aと書かねばならない
メンバの初期化も主たる論点ではないから配慮していない(追加コードでどうとでもできるので

>>379のユニオンの使い方はおそらくメンバアクセス表記をC++と一致させることを意図しているのだろうが
unionでは多分意図通りの継承動作にならない希ガス
想像が付かなさ過ぎるからコードを示してホスイ、

382 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 21:13:08.69 ID:OQzrG2km.net]
ideone.com/USd3cx
「3 == 3」になるっていう話をしているんじゃないのか?

383 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 21:27:52.21 ID:ewLa/pEP.net]
何を言い争ってるのかさっぱりわからんが、こいつらに C++ は無理なんだろうな
って思う

384 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 21:29:53.37 ID:DtUiRvEm.net]
今回だけは特別に教えることにするよ。 あとはもう何も教えない。
struct Foo {
 int m_a, m_b;
};
struct Bar {
union{
  struct Foo;
Foo m_base;
}
 int m_x, m_y;
};

385 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 21:31:27.25 ID:K1T12T5X.net]
C至高信者は自らの人生をもmemsetし続けるに1兆ジンバブエドル



386 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 21:56:39.15 ID:kD783RuO.net]
普通 bzeroだろうな

387 名前:デフォルトの名無しさん [2016/02/06(土) 21:56:59.40 ID:64Pydz+a.net]
->でアクセスするメリットがぜんぜんわからん
楽園の住人にはカプセル化という発想はないのか

388 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 22:36:08.60 ID:ijtrMwoE.net]
>>384
いちおう継承動作はするが、unionでなんも解決しとらん…
>>381の「b.m_base.m_aと書かねばならない 」問題が変わらずそのまんま

struct Barがunion Barなら「b.m_base.m_aと書かねばならない 」方は解決し得るが
それではBarによるFooの継承にならぬ(∵Barの基底クラスFooと、Bar固有のメンバが同じ領域を共有する

389 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 23:05:23.36 ID:sv0+Wms0.net]
涙目敗走宣言してるんだからほっといてあげなよ

390 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 23:23:57.22 ID:zK6xYjd8.net]
どうしてこの馬鹿はコンパイルが通るかすら確認してこないのか

391 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 23:39:17.52 ID:K1T12T5X.net]
> Foo m_base ;
この時点でC++
Cオワタw

392 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 23:43:08.90 ID:K1T12T5X.net]
> struct Foo;
Forward でしょコレ?
なにもunionしていない件w

393 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 23:43:47.41 ID:g5TnjOqx.net]
>>384
struct Bar {
union{
  struct Foo;
Foo m_base;
}
 int m_x, m_y;
};
謎の構造体。M$拡張が謎過ぎる。

intをconstみたいなtype qualifierとして使う拡張なんだろうか?
struct Foo;と前方参照っぽい宣言が共用体の宣言中に出てくるのも謎。
しかもすぐ前で完全な宣言があるのに不完全な宣言してどういう意味があるんだろう。

謎過ぎる。M$の謎と命名しておこう。

394 名前:デフォルトの名無しさん mailto:sage [2016/02/06(土) 23:48:37.39 ID:zK6xYjd8.net]
今回だけは特別に教えることにするよ。
今回だけは特別に教えることにするよ。
今回だけは特別に教えることにするよ。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


395 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:03:47.31 ID:itHaFKCT.net]
良い老害の反面教師であった(-人-)ナムナム



396 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:18:09.92 ID:2T9Cjz04.net]
>>393
type qualifierとは何なのか

397 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:20:08.19 ID:itHaFKCT.net]
FooというかFool

398 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:36:30.49 ID:umEWBWiF.net]
>>396
https://en.wikipedia.org/wiki/Type_qualifier

謎のM$拡張だろ。union {} の後に直接intが続いてる。
予約語なので変数名ではあり得ない(intの後にカンマもないし)から、intをtype qualifierとして拡張しているに違いない。

399 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:50:27.56 ID:2T9Cjz04.net]
よくわからんがVisual C++の独自仕様とCにはtype qualifierなるものが存在すると見た
勉強になった

400 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:50:42.57 ID:O4F8gqhm.net]
Cの話なんか誰も聞いてないし聞く気もない
わかったらさっさと帰れ

401 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 00:52:59.97 ID:umEWBWiF.net]
MSにはそんな拡張ないから、ぱちもんのM$(多分中国)だろ

402 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 01:24:34.33 ID:itHaFKCT.net]
学習しないまま老害になった結果(( ;゚Д゚))

403 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 07:42:43.72 ID:ywTW8z18.net]
Cすら怪しいC使いって…

404 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 08:19:23.63 ID:H1plH6un.net]
ideone.com/eM34eU
普通にできるのだが。 M$の拡張のスイッチはいってなくてちょっと変だが。

405 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 08:30:57.45 ID:2T9Cjz04.net]
このウンコード、もはや11行目にFoo m_baseを書く意味がわからない



406 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 08:58:16.66 ID:2T9Cjz04.net]
>>404
struct base {int x,y; };
struct derived {int x,y; int a,b;};

この方が良くないか?
まあセミコロンが抜けたのを揚げ足とってtype qualifierがどうとか意味不明なことを連呼する低能といい勝負だな

407 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 09:20:54.21 ID:ihWrHU4l.net]
いま

Javaとc言語 勉強してますが c++は
かなり違いますか??

408 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 09:24:14.26 ID:H1plH6un.net]
JavaとC++は同じ

409 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 09:48:45.37 ID:YehISXuU.net]
>>404
何をしたいコードなのかさっぱり理解できないのは俺だけか…

410 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 09:57:59.57 ID:HPtrUBPy.net]
継承の話なんだから、もともとこれがしたかったんだろ。

Foo foo = {.m_a=1, .m_b=2};
Bar bar = {.m_base = foo, .m_x=3, .m_y=4};

411 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 10:11:54.69 ID:2T9Cjz04.net]
>>409
話の発端を辿れば>>366,379にはすぐたどり着くだろう
この2つのレスを読んだ上でわからないなら病院に行くというのも良いだろう

412 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 10:44:18.18 ID:umEWBWiF.net]
>>404
>今回だけは特別に教えることにするよ。 あとはもう何も教えない。

見苦しいぞ、チンカス
前言ひるがえして教えるなら、intの前にセミコロン不要なM$拡張とやらを解説しろよ。

413 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 11:17:57.53 ID:YehISXuU.net]
>>410
それならまだ理解できるんだが
>>404 は全く意味不明 w

414 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 11:21:51.54 ID:wnPOo6ul.net]
>>404
良かったなお前、なんかもう少しで新しい伝説になれそうだよ(´・ω・`)

415 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 12:41:33.79 ID:jZhj8x29.net]
C++を使うんならクラスのインスタンスがどういう風にメモリ上にマップされるのか意識した方が良いのでは…
さもないと
他人様が書いた多重継承を使ったコードに遭遇して死ぬか、
多重継承の危険性を認識できないまま使って死か、
しかし抽象クラスの多重継承は安全で便利なんだ、ということを知らないまま死ぬ
とかいろいろ…



416 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 12:48:25.44 ID:ywTW8z18.net]
>>404のような小学生の屁理屈みたいなコードを
平気で表に出せるその神経はすごいと思う

417 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 12:51:22.52 ID:ywTW8z18.net]
>>408
ヒエッ…

418 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 13:01:53.78 ID:lDWgMel+.net]
>>416
凄いというより、俺はもっと率直に怖いわw
こいつに関わったら糞まみれになる!っていう危険を感じるわ

419 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 13:11:08.84 ID:ywTW8z18.net]
>>418
てっきり顔真っ赤にして書いたのかと思って油断してたんだ
こりゃー本物ですわ…

420 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 14:58:13.14 ID:GW5WZ8T2.net]
どちらかというと痛い自演が続いている>>419が哀れ

421 名前:デフォルトの名無しさん [2016/02/07(日) 15:21:06.58 ID:ywTW8z18.net]
…えっ?

422 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 15:36:34.21 ID:K4RZyWmM.net]
>>407
C++を進化させたのがJavaだよ
基本的な考えはいっしょ

423 名前:デフォルトの名無しさん [2016/02/07(日) 15:44:07.75 ID:ywTW8z18.net]
メモリの管理方法からクラスローダの有無からテンプレートまで
仕組みも定石も書き方もかなり違うっしょ
駄目だよ嘘教えちゃ…

424 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 15:46:01.35 ID:K4RZyWmM.net]
>>423
クラスローダとか枝葉だし
テンプレートはJavaも取り入れてるし
メモリ管理はそれこそ正統進化でしょ

425 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:03:53.98 ID:ywTW8z18.net]
>>424
本気で言うてんの?
クラスローダはリフレクションの動作の要
ジェネリクスとテンプレートは別物だし
C++のメモリ管理なんて根本的な考え方が違う



426 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:13:48.60 ID:K4RZyWmM.net]
考え方が一緒だなんて言ってないよ
進化すれば一緒にはならないのは当然

427 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:15:31.53 ID:YehISXuU.net]
アホでも使える様にしたのを進化と言う人もいるから別に進化でもいいけど、細いことやろうとすると面倒過ぎ ⇒ Java
必須の要件でないなら C++ か C# 辺りを使う

428 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:18:49.64 ID:ywTW8z18.net]
>>426
あんさん「基本的な考えはいっしょ」って思いっきり言うとりますがな…

429 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:20:12.15 ID:1Xy48Qqn.net]
テンプレートとJavaとか.Netのジェネリクスが同じという人は、だいたいテンプレートの理解をしてない人が多いね
テンプレートでジェネリクスの機能を実現できるとは言えるけど、全くもって同じではない

430 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:20:56.37 ID:TXHOUVTA.net]
JavaがC++の進化?笑わせるなよw
C++のインタプリタ作ろうとして出来損ないになったのがJavaだろ

431 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:21:03.56 ID:9JmoCpHp.net]
テンプレートとジェネリクスをいっしょにしちゃう時点で
>>424はJavaもC++も両方ニワカなんだなってわかる

432 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 16:31:34.60 ID:CZPnBtq1.net]
C++は文字扱いやすいから好き

433 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 17:35:59.24 ID:2T9Cjz04.net]
テンプレートとジェネリクスは別と強く主張している人は
目的と手段が入れ替わっているのではないかと危惧してしまう

434 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 17:41:03.74 ID:vcfxOeKG.net]
少なくともc++のtemplate側から見たjavaのジェネリクスは出来損ないの玩具未満

435 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 17:44:02.11 ID:H1plH6un.net]
マクロがあればジェネリックスもテンプレートもいらないだろ。 あとvoid*もあれば何もいらない最高。



436 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 17:49:08.88 ID:fu54F6yL.net]
マクロも void * も型を無視するからね‥せっかくの型情報を無駄にしたくないよね

437 名前:デフォルトの名無しさん [2016/02/07(日) 17:51:01.99 ID:jvYVRZ1r.net]
マクロアセンブラ最高

438 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 17:53:35.11 ID:1Xy48Qqn.net]
>>435
型安全という言葉くらい勉強してくれ

439 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 17:58:01.45 ID:itHaFKCT.net]
>>408
おいやめろ、newしたままホウチミンが沸くだろ

440 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 20:33:27.60 ID:ywTW8z18.net]
>>433
型消去しまくりで、ユルユルのジェネリクスと
インスタンス化しまくりで、カチカチのテンプレートが同じだと思ってるのは
C++をまともに使ったことが無いのにイメージで語る人間ぐらいだろ

441 名前:デフォルトの名無しさん [2016/02/07(日) 20:38:31.87 ID:oOsMibJK.net]
newしたままホーチミンってunique_ptr使わんの?

442 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 20:40:02.81 ID:DCLFR8bK.net]
java 使いだけど謝っとく。ジェネリクスとテンプレートは全く違う
実際こんな意識のやつしかいない

443 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 20:40:32.15 ID:ywTW8z18.net]
>>433
よく読んだらダークサイドに落ちるテンプレート使いを憂う紳士だったか…
すまない早とちりだった

444 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 20:42:36.82 ID:9JmoCpHp.net]
学生のころハゲの本読んだらやたらとテンプレートを自慢してて
当時は何言ってんだこのオッサンと思ってたが
今となってはC++の本質はむしろテンプレートにこそあるとすら思うわ

445 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 20:46:00.38 ID:jZhj8x29.net]
(ここまでテンプレ)



446 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 22:16:11.87 ID:2T9Cjz04.net]
『newしたままホウチミン』
そこはかとなく昭和臭の漂う言語センスだな

447 名前:デフォルトの名無しさん [2016/02/07(日) 23:45:46.38 ID:BRQ6zdFU.net]
>>446
「昭和的センスの光る秀逸な言語センス」と書き込むのが優秀な工作員。

448 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 08:10:58.75 ID:FLpG0nuf.net]
v.reserve(v.size() + 1);
ってModern C++ Designでも使われてるな。4.5章。
アレクサンドレスクさん大丈夫か?

449 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 08:26:46.05 ID:1arqmFZS.net]
std::vector::reserveはあらかじめ最大サイズが分かってる場合のみ使うべきで
push_backの前にその都度やってはいけない
std::vectorの実装によっては見過ごせない速度低下を招くおそれがある

450 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 08:57:30.60 ID:M0j0fnEJ.net]
>>448
この人のことかい?
https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-of-C-between-D-Go-and-Rust-And-Why/answer/Andrei-Alexandrescu

451 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 14:33:59.40 ID:sy4WOp1q.net]
だからってdequeがそんなに速いわけでもない

452 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 18:36:26.79 ID:hQVN/n6H.net]
性能は処理系依存・実測が基本だよ。
実装によっちゃ遅いから一律ダメなんて馬鹿げてる。
問題は例外安全の保証が無いのに使っちゃうようなコード。

453 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 20:59:27.12 ID:91HGMZTw.net]
>>452
そうは言っても1億件のデータにリニアサーチとかするのはバカって言われてもしょうがない

454 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 21:07:15.68 ID:0e7wp70j.net]
んだな。
細かい性能の差は実装依存が当然だが
線形時間か対数時間かぐらいは仕様にしてくれないと困るべ。

455 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 21:13:26.69 ID:e87P5enc.net]
そこで承太郎!
処理に何秒かかろうと関係ない実装を思いついた・・・・・・



456 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 21:17:06.11 ID:1arqmFZS.net]
>>452
v.push_backの前にその都度v.reserve(v.size()+1)するのは完全に馬鹿げてると思うが?

457 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 21:31:38.79 ID:jK3N5mCN.net]
メモリーアローケーターを作ってるのに必要以上にメモリーを割り当てる馬鹿はいないでしょ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef