次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
このスレもよろしくね。
【初心者歓迎】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++相談室 part139
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f65b-zn+7)
2018/10/06(土) 00:59:48.54ID:CdYUXXMG0388デフォルトの名無しさん (ワッチョイ 3bcd-uH1J)
2018/10/29(月) 22:40:37.61ID:YGs2BWq10 パフォーマンスを求めるシーンでダブルリンクリストって
389デフォルトの名無しさん (スップ Sd37-VFcb)
2018/10/30(火) 00:35:43.38ID:0KkuIlNzd ダブルかどうかは知らんが深さが不定の木構造なら仕方ない
んでメモリ確保はn個まとめればアロケーションコストはほぼ1/nになるんで
10とか100で十分で別にそんなに増やす必要はない
が、大量にアロケートするときしか使わない手法なので1000とか大きな数にするのが人の情
んでメモリ確保はn個まとめればアロケーションコストはほぼ1/nになるんで
10とか100で十分で別にそんなに増やす必要はない
が、大量にアロケートするときしか使わない手法なので1000とか大きな数にするのが人の情
390デフォルトの名無しさん (ワッチョイ 4f8a-cZbQ)
2018/10/30(火) 09:09:19.02ID:/5i0cROz0 何百万回もnewする想定なのに1メガでいいの?
391デフォルトの名無しさん (ワッチョイ f323-JHIh)
2018/10/30(火) 10:54:57.24ID:aDKxpfal0 まあnewするクラスのサイズによるだろ
サイズが100バイトのクラスなら1メガでもnewの回数が一万分の1になるので効果はありそう
サイズが100バイトのクラスなら1メガでもnewの回数が一万分の1になるので効果はありそう
392はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3b6f-7TBo)
2018/10/30(火) 11:32:05.07ID:/tj4m1Wy0 データ構造全体でどれくらいの大きさになるのか事前に見積もれればいいんだけどね。
ガチでチューニングしようと思ったら
各アプリケーションでのメモリの使い方の特性を考慮しなきゃならんし、
パラメータの微調整は実際にやって試してみるしかしょうがない。
ガチでチューニングしようと思ったら
各アプリケーションでのメモリの使い方の特性を考慮しなきゃならんし、
パラメータの微調整は実際にやって試してみるしかしょうがない。
393デフォルトの名無しさん (ワッチョイ f323-JHIh)
2018/10/30(火) 12:17:01.56ID:aDKxpfal0 >>392
>データ構造全体でどれくらいの大きさになるのか事前に見積もれればいいんだけどね。
そうだな
実行開始して何時間も待たされた挙句、メモリ不足でエラー終了とかマジ勘弁して欲しいわ
最初に使用メモリ量を予測してエラーにしてくれよ
>データ構造全体でどれくらいの大きさになるのか事前に見積もれればいいんだけどね。
そうだな
実行開始して何時間も待たされた挙句、メモリ不足でエラー終了とかマジ勘弁して欲しいわ
最初に使用メモリ量を予測してエラーにしてくれよ
394デフォルトの名無しさん (ワンミングク MM1b-uH1J)
2018/10/30(火) 14:48:22.73ID:bp+Jjz8rM 今時はメモリエラーなんて出さずに延々確保しにいってスラッシングしまくるだけ
395デフォルトの名無しさん (ワイーワ2 FF33-gZJR)
2018/10/30(火) 15:06:52.69ID:p4LrBCE7F396デフォルトの名無しさん (ワッチョイ c7eb-nLkq)
2018/10/30(火) 16:22:00.39ID:YIrhnuea0 2^N+αの方がいいぞ
397デフォルトの名無しさん (ワッチョイ a3ef-7TBo)
2018/10/30(火) 21:01:00.62ID:Z4vjmLqM0 >>395
テキトーの用語の使い方を間違っているな
テキトーの用語の使い方を間違っているな
398デフォルトの名無しさん (オイコラミネオ MM4b-x1Ry)
2018/10/31(水) 00:35:59.17ID:7q2lQPFCM 適当には適切という意味もあるんやで
399デフォルトの名無しさん (ワッチョイ 7fb3-7TBo)
2018/10/31(水) 00:55:16.82ID:n3cdWN/k0 jemallocのデフォルトチャンクサイズは1MiBらしいな
経験的に悪くない数字なんだろう
経験的に悪くない数字なんだろう
400デフォルトの名無しさん (ワッチョイ bbbd-x3RP)
2018/10/31(水) 00:55:23.06ID:2bLA79Ru0 一気解放テクというのはN億個のオブジェクトをフルスピードで作って10秒かかったとして、
破棄するときもバカ正直に10秒かけるつもりなのかとかそういう話だが
オブジェクトがリソースを所有しておりデストラクトを要するブツだったりすると
オブジェクトの占有メモリだけ一気に解放することはできないから成立しない
というわけでコンパイラの中で構文解析結果であるところの木構造を破棄するのにお目にかかるぐらい
なキモス
破棄するときもバカ正直に10秒かけるつもりなのかとかそういう話だが
オブジェクトがリソースを所有しておりデストラクトを要するブツだったりすると
オブジェクトの占有メモリだけ一気に解放することはできないから成立しない
というわけでコンパイラの中で構文解析結果であるところの木構造を破棄するのにお目にかかるぐらい
なキモス
401はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3b6f-7TBo)
2018/10/31(水) 01:44:07.13ID:y5TVZzW10 ソースコードを読んだわけじゃないが、
ウェブサーバの H2O はドカンと大きいメモリを確保して頭から順番に使っていくという戦略を取ってるのでクソ速いというのを
どこかで見た覚えがあるな。
ウェブサーバならセッションが基本単位と考えれば、
セッション開始時に大きいメモリを確保してセッション終了でまるっと捨てるというのは確かに理にかなった方針だと思う。
ウェブサーバの H2O はドカンと大きいメモリを確保して頭から順番に使っていくという戦略を取ってるのでクソ速いというのを
どこかで見た覚えがあるな。
ウェブサーバならセッションが基本単位と考えれば、
セッション開始時に大きいメモリを確保してセッション終了でまるっと捨てるというのは確かに理にかなった方針だと思う。
402デフォルトの名無しさん (ワッチョイ 2723-VFcb)
2018/10/31(水) 03:43:29.87ID:dHrKLKTO0 >>400
いやnewもdeleteもインプレイスでやるからメモリの確保と解放はまとめてできるんだ
んでコンストラクタとデストラクタはどっちにせよ必要なので、メモリの確保と解放が問題なんだよ
で、指摘の通り
メンバ変数がまたメモリを確保/解放してるとご利益がぐっと薄れるので
まとめて確保を使い始めるとベクターだなんだもショートストリング最適化みたいな
小サイズなら静的に確保したメモリを使うようなテクニックを使い始める。
LLVM の SmallVector やそれを基にした boost の smallvector なんかがそれか
いやnewもdeleteもインプレイスでやるからメモリの確保と解放はまとめてできるんだ
んでコンストラクタとデストラクタはどっちにせよ必要なので、メモリの確保と解放が問題なんだよ
で、指摘の通り
メンバ変数がまたメモリを確保/解放してるとご利益がぐっと薄れるので
まとめて確保を使い始めるとベクターだなんだもショートストリング最適化みたいな
小サイズなら静的に確保したメモリを使うようなテクニックを使い始める。
LLVM の SmallVector やそれを基にした boost の smallvector なんかがそれか
403デフォルトの名無しさん (ワッチョイ 2723-VFcb)
2018/10/31(水) 03:44:09.76ID:dHrKLKTO0 boost のは small_vector の typo
404デフォルトの名無しさん (ワッチョイ 2723-VFcb)
2018/10/31(水) 05:48:21.49ID:dHrKLKTO0 まとめてアロケートするコードのテストコードを書いてみた
簡単なリストのアロケーションと解放
100個ずつと1000個ずつではだいぶ違った
1000を10000にしても大差ない
https://ideone.com/oyIM5p
簡単なリストのアロケーションと解放
100個ずつと1000個ずつではだいぶ違った
1000を10000にしても大差ない
https://ideone.com/oyIM5p
405デフォルトの名無しさん (ワッチョイ 2723-VFcb)
2018/10/31(水) 07:57:39.93ID:dHrKLKTO0 上の例はリストのノードにstring を持たせているが、
これをvectorにするだけで高速化の倍率はひどく悪化する。
https://ideone.com/k6XiHK
string は SSO(ショートストリング最適化)で小サイズならメモリのアロケートを行わないが、
vector はサイズ1でも必ずアロケートするため。
これをvectorにするだけで高速化の倍率はひどく悪化する。
https://ideone.com/k6XiHK
string は SSO(ショートストリング最適化)で小サイズならメモリのアロケートを行わないが、
vector はサイズ1でも必ずアロケートするため。
406デフォルトの名無しさん (アウウィフ FFb3-gZJR)
2018/10/31(水) 13:42:46.70ID:XAA9QXm2F vector禁止
407デフォルトの名無しさん (ワンミングク MM1b-uH1J)
2018/10/31(水) 15:36:31.08ID:wG8+54SGM よーしパパbitset使っちゃうぞ
408デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 17:52:51.32ID:HGEk6qvJ0 opencv(c++)で適当な画像をDCTしてDCT係数をテキストファイルにプログラムを教えていただけませんでしょうか。
画像をDCTするとこまでは分かったんですがそのあとが分からないです。
画像をDCTするとこまでは分かったんですがそのあとが分からないです。
409デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 17:53:54.59ID:HGEk6qvJ0 >>408
テキストファイルに表示するです
テキストファイルに表示するです
410デフォルトの名無しさん (ワッチョイ 1f8a-3mJb)
2018/10/31(水) 18:14:35.77ID:N9TdgOC+0 日本語でOK
411デフォルトの名無しさん (アウウィフ FFb3-gZJR)
2018/10/31(水) 18:23:30.41ID:XAA9QXm2F >適当な画像をDCTしてDCT係数をテキストファイルにプログラム
日本語で
日本語で
412デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 18:28:26.25ID:HGEk6qvJ0 >>408
もう1回書きますがテキストファイルに書き出すです
もう1回書きますがテキストファイルに書き出すです
413デフォルトの名無しさん (アウウィフ FFb3-gZJR)
2018/10/31(水) 18:30:01.31ID:XAA9QXm2F ファイルに表示
414デフォルトの名無しさん (バッミングク MM1f-DBFP)
2018/10/31(水) 18:44:17.50ID:YG0rnI8eM OSが分からんが、一番楽チンであれこれ考えなくて良いのは普通にprintfしてファイルにリダイレクト。
415デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 21:27:56.35ID:HGEk6qvJ0 windowsです
416デフォルトの名無しさん (ワンミングク MM1b-uH1J)
2018/10/31(水) 22:31:25.44ID:wG8+54SGM dctは出来るのにストリームへの出力は出来ないのか
417デフォルトの名無しさん (ワッチョイ 0beb-JHIh)
2018/10/31(水) 22:34:24.39ID:Cti468/q0 ofstreamでファイル開いて<<で出力
ascii文字だけなら文字コード気にしなくてもいい
ascii文字だけなら文字コード気にしなくてもいい
418デフォルトの名無しさん (ワッチョイ 971b-cEKd)
2018/11/01(木) 01:13:06.51ID:PigZrB5P0 DCT係数が配列に格納されているんですがそのすべてを書き出すのができないです
419デフォルトの名無しさん (ワッチョイ a323-WkUi)
2018/11/01(木) 10:51:44.25ID:z733lC2q0 >>416
https://twitter.com/Campaign_Otaku/status/1057156200981135361/photo/1
空で字描ける人が着陸の仕方を「どうやるの」なんて疑問は出てくるはずがない。
「どういう風に降りようかな」って意味なら判る。
完全に誤訳
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/Campaign_Otaku/status/1057156200981135361/photo/1
空で字描ける人が着陸の仕方を「どうやるの」なんて疑問は出てくるはずがない。
「どういう風に降りようかな」って意味なら判る。
完全に誤訳
https://twitter.com/5chan_nel (5ch newer account)
420デフォルトの名無しさん (スッップ Sdba-7j1p)
2018/11/01(木) 20:17:49.41ID:Pz4tYpgEd421デフォルトの名無しさん (ワッチョイ 63b3-MyS3)
2018/11/01(木) 20:42:34.69ID:yQbjy7jF0 C言語は高校・大学の頃やったので大体わかります
今更ですがC++勉強するのに良い教材は何でしょうか?
本が良いですがもっと良い方法がありましたらそれでも良いです
今更ですがC++勉強するのに良い教材は何でしょうか?
本が良いですがもっと良い方法がありましたらそれでも良いです
422デフォルトの名無しさん (スッップ Sdba-7j1p)
2018/11/01(木) 20:56:14.21ID:Pz4tYpgEd423デフォルトの名無しさん (ワッチョイ 769f-zz8P)
2018/11/02(金) 00:38:53.71ID:YtkatxxE0 effective c++とか
424デフォルトの名無しさん (ワッチョイ 3685-DqXg)
2018/11/02(金) 00:55:59.17ID:bpaiY9An0 C++ってnumpyみたいに2次元配列から範囲を指定して抜き出しとか出来ないですかね?
10, 20, 30, 40, 50
60, 70, 80, 90, 100
110, 120, 130, 140, 150
160, 170, 180, 190, 200
このようなvectorがあった際に
70, 80, 90
120, 130, 140
170, 180, 190
を抜き出したいです
10, 20, 30, 40, 50
60, 70, 80, 90, 100
110, 120, 130, 140, 150
160, 170, 180, 190, 200
このようなvectorがあった際に
70, 80, 90
120, 130, 140
170, 180, 190
を抜き出したいです
425デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
2018/11/02(金) 01:08:54.86ID:KoqyjIsr0 equal_rangeを使う
426デフォルトの名無しさん (ワッチョイ 0723-7j1p)
2018/11/02(金) 01:34:41.33ID:T61e9sN/0 >>424
自分で書きたくないならあり物のライブラリ使えばいいのでは
よく知らんけど opencv の Mat とか BLAS とか
https://minus9d.hatenablog.com/entry/2014/03/21/114514
自分で書きたくないならあり物のライブラリ使えばいいのでは
よく知らんけど opencv の Mat とか BLAS とか
https://minus9d.hatenablog.com/entry/2014/03/21/114514
427デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/02(金) 01:58:52.59ID:CMIkY+8nr boost の multi_array でできる
かなり調べた結果これに行き着いたから、他のを見つけるのは至難の業だと思う
かなり調べた結果これに行き着いたから、他のを見つけるのは至難の業だと思う
428デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/02(金) 02:00:44.27ID:CMIkY+8nr まぁ2次元配列に限るなら正直 vectorのvector でそういう動作するもの簡単に作れるよね
429デフォルトの名無しさん (ワッチョイ 0723-7j1p)
2018/11/02(金) 04:22:50.02ID:T61e9sN/0 普通こういうものの部分行列はデータをコピーしないで動作するんだよ。用途によるけどだいたいは。
430デフォルトの名無しさん (ワッチョイ 63b3-URqd)
2018/11/02(金) 09:58:57.11ID:UBXHQBH/0 >>423
質問者に合ってると思うか?
質問者に合ってると思うか?
431デフォルトの名無しさん (ワッチョイ 9723-VEUj)
2018/11/02(金) 16:44:40.29ID:ggr9EF3w0 >>424
C++ から python も numpy も使える
C++ から python も numpy も使える
432デフォルトの名無しさん (ワッチョイ 9a76-MyS3)
2018/11/02(金) 21:55:06.47ID:yMnDBJfs0 >>424
vectorではなくvalarrayの使いどころだ
vectorではなくvalarrayの使いどころだ
433デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/02(金) 22:55:21.07ID:lVpg8bJur valarrayじゃなきゃ駄目な場面なんて知らんがな
434デフォルトの名無しさん (ワッチョイ 9a34-avGO)
2018/11/03(土) 00:31:38.77ID:ogvvzewS0 slice使える
435デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
2018/11/04(日) 13:10:56.85ID:MKH8Qowh0 そもそも2次元の配列使う必要がない
1次元で十分
池沼はいちいちみため2次元にしたがる
1次元で十分
池沼はいちいちみため2次元にしたがる
436デフォルトの名無しさん (アウアウカー Sac3-XPOZ)
2018/11/04(日) 15:35:15.29ID:NU/4ChKLa 20年前の本読んでも問題ないか?
437デフォルトの名無しさん (ワッチョイ 0ef0-MyS3)
2018/11/04(日) 16:00:02.15ID:T2TFtaIb0 みため二次元ねえ
int vec[][5] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
これで済むことを、
int& elm(int row, int col)
{
static int vec[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
return vec[row * 5][col];
}
いちいちこう書くやつも充分に池沼なんだが
そういうやつをちょっとプロファイリングしてみると
配列へのポインタに腹を立て、ポインタの配列にmallocして
強引に**で二次元を扱えることにするテクニックを某所で自慢したら
タコ殴りにされて、すっかり心を病んでしまい
以後、二次元配列というワードで凶暴化するようになった、とかね
int vec[][5] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
これで済むことを、
int& elm(int row, int col)
{
static int vec[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
return vec[row * 5][col];
}
いちいちこう書くやつも充分に池沼なんだが
そういうやつをちょっとプロファイリングしてみると
配列へのポインタに腹を立て、ポインタの配列にmallocして
強引に**で二次元を扱えることにするテクニックを某所で自慢したら
タコ殴りにされて、すっかり心を病んでしまい
以後、二次元配列というワードで凶暴化するようになった、とかね
438デフォルトの名無しさん (ワイーワ2 FF12-VEUj)
2018/11/04(日) 17:10:10.81ID:dwIn1XjHF >>436
tcl/tk なら枯れてるから大腿同じ
tcl/tk なら枯れてるから大腿同じ
439デフォルトの名無しさん (ワッチョイ 9abd-yxtD)
2018/11/04(日) 17:55:13.85ID:ntvnp4Zh0 ていうか(アドレスp)[x]は*(p+x)の別表記に過ぎないというのは規格上の話にすぎなくて、
実際問題としては一次元配列アクセスと二次元配列アクセスには最適化のかかり方次第でかなり速度差が生じるお
一次元配列にすると、概念上の次の行の要素への移動が加算1発で済むというのが喜ばしい
これとループ最適化が組み合わさると、配列スキャンが主な仕事の処理は爆速になり得る
といいつつ次の例はideoneでこそ一次元配列アクセスの方が遅いが(爆
Visual C++ 2010だと一次元配列は10倍超速いお
https://ideone.com/K7uLo9
(VC++での結果)
******* Array 1D opt:
ntimes=100000^2, sum=2372578304
Consumed time=0 sec
******* Array 2D:
ntimes=100000^2, sum=2372578304
Consumed time=10 sec
実際問題としては一次元配列アクセスと二次元配列アクセスには最適化のかかり方次第でかなり速度差が生じるお
一次元配列にすると、概念上の次の行の要素への移動が加算1発で済むというのが喜ばしい
これとループ最適化が組み合わさると、配列スキャンが主な仕事の処理は爆速になり得る
といいつつ次の例はideoneでこそ一次元配列アクセスの方が遅いが(爆
Visual C++ 2010だと一次元配列は10倍超速いお
https://ideone.com/K7uLo9
(VC++での結果)
******* Array 1D opt:
ntimes=100000^2, sum=2372578304
Consumed time=0 sec
******* Array 2D:
ntimes=100000^2, sum=2372578304
Consumed time=10 sec
440デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:13:58.07ID:rLQVzKFuF441デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:16:57.25ID:rLQVzKFuF C/C++で「二次元配列」と言った場合
char *hoge[N]; の方を指すのであって
char **fuga; の方は決して「二次元配列」ではない
Javaなら後者を指してるので
これらが初心者には混乱の元
char *hoge[N]; の方を指すのであって
char **fuga; の方は決して「二次元配列」ではない
Javaなら後者を指してるので
これらが初心者には混乱の元
442デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:17:36.23ID:rLQVzKFuF ごみん
いきなり間違えた
char *hoge[N]; じゃなくて
char (*hoge)[N]; こうです
いきなり間違えた
char *hoge[N]; じゃなくて
char (*hoge)[N]; こうです
443デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:19:01.87ID:rLQVzKFuF 439 の言うばふぉーマンスは
char **fuga; だから落ちるのであって
char (*hoge)[N]; では落ちない
char **fuga; だから落ちるのであって
char (*hoge)[N]; では落ちない
444デフォルトの名無しさん (ワッチョイ 9abd-yxtD)
2018/11/04(日) 18:28:12.23ID:ntvnp4Zh0 ていうか>>439のやつもよく調べたら1000倍近い速度差で一次元配列の方が早いお
今日日のCPUアーキテクチャーでよく見られるいつもの光景だお…
(VC++でntimes = 百万の2乗にした結果)
******* Array 1D opt:
ntimes=1000000^2, sum=2273652736
Consumed time=0 sec
******* Array 2D:
ntimes=1000000^2, sum=2273652736
Consumed time=928 sec
今日日のCPUアーキテクチャーでよく見られるいつもの光景だお…
(VC++でntimes = 百万の2乗にした結果)
******* Array 1D opt:
ntimes=1000000^2, sum=2273652736
Consumed time=0 sec
******* Array 2D:
ntimes=1000000^2, sum=2273652736
Consumed time=928 sec
445デフォルトの名無しさん (ワッチョイ 9abd-yxtD)
2018/11/04(日) 18:30:20.30ID:ntvnp4Zh0 >>443はジャグ配列と通常の二次元配列の区別も付いていないおむつも取れていない赤ん坊だお;;
446デフォルトの名無しさん (ワッチョイ a323-cvuZ)
2018/11/04(日) 18:41:14.77ID:egw3UDrd0 >>444
VC++は2次元配列が苦手ってだけじゃない?
手元のgccとclangは最適化なし(-O0)だと1次元の方が少し遅くて最適化あり(-Ofast)だと1次元と2次元で計算部分は全く同じアセンブリになった
VC++は2次元配列が苦手ってだけじゃない?
手元のgccとclangは最適化なし(-O0)だと1次元の方が少し遅くて最適化あり(-Ofast)だと1次元と2次元で計算部分は全く同じアセンブリになった
447デフォルトの名無しさん (アウアウカー Sac3-U2lQ)
2018/11/04(日) 18:58:49.68ID:pidkuN2Fa >>436
文法古くて生産性低いってだけで、コードは動くよ。
文法古くて生産性低いってだけで、コードは動くよ。
448デフォルトの名無しさん (ワッチョイ df8a-6RPj)
2018/11/07(水) 14:24:50.89ID:ldKnJvNa0 黙って行列ライブラリ使えよ
449デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/07(水) 15:48:05.24ID:fYDz1ZKKr いい質問があったら鬼のように加速するけど、そうじゃないときはかなり穏やかなんだな
450デフォルトの名無しさん (ワッチョイ a323-VEUj)
2018/11/07(水) 15:52:57.02ID:IyZ6SaMg0 話題毎にスレ移動してる遊牧流民族
451デフォルトの名無しさん (ワンミングク MMd3-BVTb)
2018/11/08(木) 19:45:44.59ID:Zz75hCICM おいEffectiveC++がいつの間にかオライリーになって高価くなってるじゃねぇか
誕生日におばあちゃんにもらった図書カードでも買えないぜ
誕生日におばあちゃんにもらった図書カードでも買えないぜ
452デフォルトの名無しさん (ブーイモ MMab-OD9P)
2018/11/08(木) 22:34:24.42ID:6GweSoQWM 毎日少しずつスマホで撮影
453デフォルトの名無しさん (ワッチョイ b3eb-CaRP)
2018/11/09(金) 00:41:56.16ID:mEWiZt760 中古で2版かった
454デフォルトの名無しさん (ワッチョイ 5b6f-ki2E)
2018/11/09(金) 00:45:44.84ID:yH/J6wNO0 オライリーが不要な人
「オラ、要りません」
「オラ、要りません」
455デフォルトの名無しさん (ワッチョイ 9334-z2Fd)
2018/11/09(金) 03:59:09.39ID:NPFxlpZr0 Arduinoの教本は安くなってた気がする
456デフォルトの名無しさん (ブーイモ MMb9-NrKH)
2018/11/15(木) 19:31:27.51ID:u78hdNWAM >>454
おまいはNGな(´・ω・`)
おまいはNGな(´・ω・`)
457デフォルトの名無しさん (ワッチョイ 7ae9-pq0H)
2018/11/21(水) 14:25:07.64ID:2bTou3MI0 Javaが来年頭から死亡展開になるの今日知った
C++はやっぱ平和だな
ところでみんなはC++で何を作ってるの?
C++はやっぱ平和だな
ところでみんなはC++で何を作ってるの?
458デフォルトの名無しさん (ワッチョイ 1aeb-HiLI)
2018/11/21(水) 14:26:25.56ID:eXoP5Hir0 ゲーム
459デフォルトの名無しさん (ワッチョイ 7ae9-pq0H)
2018/11/21(水) 14:38:58.30ID:2bTou3MI0 了解ありがとう
460はちみつ餃子 ◆8X2XSCHEME (ワッチョイ fe6f-maOp)
2018/11/21(水) 15:00:42.00ID:5XDVWHjZ0461デフォルトの名無しさん (ワッチョイ 7ae9-pq0H)
2018/11/21(水) 16:15:38.69ID:2bTou3MI0 使うだけならね
Androidの商業開発は痛いよ
googleがdart言語を着々と開発をしてるのはこれを避ける為だったと
Androidの商業開発は痛いよ
googleがdart言語を着々と開発をしてるのはこれを避ける為だったと
462デフォルトの名無しさん (ワントンキン MM5a-c6U1)
2018/11/21(水) 21:52:05.40ID:hmzhTBXoM 何を自演してるの?
463デフォルトの名無しさん (ワッチョイ ca34-YK5h)
2018/11/21(水) 22:09:59.66ID:0eUwt8A90 C++を長年使ってきた身としてはようやくJAVAとかいうゴミが一掃されてまさしく自らガーベッジコレクト自爆してくれて清々する
464デフォルトの名無しさん (ワッチョイ 86eb-4fLB)
2018/11/21(水) 22:29:03.89ID:rlO03g2l0 聳え立てた糞の山を保守するために生き残り続けるよ・・・
465デフォルトの名無しさん (ワッチョイ f3c3-9Nj+)
2018/11/22(木) 07:07:56.56ID:ykkp0iR40 Javaが出てきた頃はまさかこんなCOBOL並の糞山生産言語に成り果てるとは思わなかったな
悲しいなあ
悲しいなあ
466デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/22(木) 12:42:34.39ID:blyr971hF >>463
ほんそれ
ほんそれ
467デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/22(木) 12:42:56.61ID:blyr971hF >>465
当初から言われてたぞ
当初から言われてたぞ
468デフォルトの名無しさん (ワッチョイ cfa5-L5v9)
2018/11/22(木) 17:56:25.68ID:RROqQEmy0 test
469デフォルトの名無しさん (ワッチョイ cf30-zhOP)
2018/11/22(木) 19:19:12.39ID:FdxQ3S5p0 スマートポインタってガベージコレクションではないの?
470デフォルトの名無しさん (ワンミングク MM9f-Ymbk)
2018/11/22(木) 19:30:02.59ID:3Ij8+ioXM 違います
471デフォルトの名無しさん (ワッチョイ ff23-Th1j)
2018/11/22(木) 19:37:13.80ID:3NeFI3xN0 ガベージが発生しないもんな
472デフォルトの名無しさん (ワッチョイ ff12-1YVs)
2018/11/23(金) 09:57:38.38ID:xUgPEkHQ0 ガベージか非ガベージか、どうやって見分けるの?
見分けられないなら逆説的にガベージはない
全部データと言える
すると言う通りにガベージは発生しない
見分けられないなら逆説的にガベージはない
全部データと言える
すると言う通りにガベージは発生しない
473デフォルトの名無しさん (ワッチョイ 537b-/G1A)
2018/11/23(金) 11:48:27.57ID:nZV4GP9h0 どっちも参照カウンタが0になった瞬間はガベージと言えないこともないが、スマートポインタだとその場で即削除される。
ガベージコレクションは参照カウンタが0になったメモリをメモリアロケータが適当なタイミングで削除する。
ガベージコレクションは参照カウンタが0になったメモリをメモリアロケータが適当なタイミングで削除する。
474デフォルトの名無しさん (スッップ Sd1f-Th1j)
2018/11/23(金) 11:53:50.43ID:/6hb/Gdud 自分の中で結論出してるみたいだから説明したくないなあ
スマートポインタはリファレンス(参照)がなくなったときにメモリやオブジェクトを解放する。
ガベージ(参照不能なオブジェクトやメモリ)がどこかに溜まって、
いつかのタイミングでそれらをコレクトするような動作はしない。
スコープを抜けるときにスタックフレーム上のオブジェクトが破棄されるのと同様。
異論はいくらでもどうぞ
スマートポインタはリファレンス(参照)がなくなったときにメモリやオブジェクトを解放する。
ガベージ(参照不能なオブジェクトやメモリ)がどこかに溜まって、
いつかのタイミングでそれらをコレクトするような動作はしない。
スコープを抜けるときにスタックフレーム上のオブジェクトが破棄されるのと同様。
異論はいくらでもどうぞ
475デフォルトの名無しさん (ワッチョイ 7323-Th1j)
2018/11/23(金) 11:57:18.90ID:D5DlZHs/0 書いてて思ったけどスタックという仕組みは素晴らしいハックだよね
476デフォルトの名無しさん (ワッチョイ f3c3-9Nj+)
2018/11/23(金) 13:11:50.55ID:QYpEy3WT0 「部屋を最後に出る奴は電灯消せよ」がスマポ(std::shared_ptr)
電灯付けっぱで誰もいない部屋を探して消し回るおばちゃんがGC
C++にはそういうおばちゃんはいない
電灯付けっぱで誰もいない部屋を探して消し回るおばちゃんがGC
C++にはそういうおばちゃんはいない
477デフォルトの名無しさん (ワッチョイ 83b3-4vBw)
2018/11/23(金) 13:17:17.72ID:l4mTlUt60478デフォルトの名無しさん (ワッチョイ cf30-zhOP)
2018/11/23(金) 13:21:17.14ID:00BNAcCe0 うむ。わかりやすいw
479デフォルトの名無しさん (オイコラミネオ MM87-orwD)
2018/11/23(金) 13:35:53.07ID:WmoXs2+nM スマポって何に使うん?
趣味グラマーだけど使ったことない
cv::Matとかに使われてるだけで個人では使わないようなものなの?
趣味グラマーだけど使ったことない
cv::Matとかに使われてるだけで個人では使わないようなものなの?
480デフォルトの名無しさん (アウウィフ FF27-OXRW)
2018/11/23(金) 13:44:09.05ID:e4GZHgy/F 生ポを上手に使えない人が使えばいい
自信があれば無くてもOK
自信があれば無くてもOK
481はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/23(金) 13:53:48.42ID:o3+kYr4A0 可能なら生ポインタは避けるのが良い作法。
単純に、 delete を書くのめんどいから勝手にやってくれた方がよくね?
そりゃあ場合によっては生ポインタが必要な箇所もあるだろうけど、
スマートポインタは高度なライブラリ内だけでしか使われないってほど特殊なもんではない。
ポインタ型のデータメンバを持つクラスのコンストラクタで
発生した例外を function try block で捕捉して後始末をするよりは
スマートポインタを使った方が勝手に解放してくれて楽というのもある。
例外が絡むと本当にめんどいし、思考停止したい。
単純に、 delete を書くのめんどいから勝手にやってくれた方がよくね?
そりゃあ場合によっては生ポインタが必要な箇所もあるだろうけど、
スマートポインタは高度なライブラリ内だけでしか使われないってほど特殊なもんではない。
ポインタ型のデータメンバを持つクラスのコンストラクタで
発生した例外を function try block で捕捉して後始末をするよりは
スマートポインタを使った方が勝手に解放してくれて楽というのもある。
例外が絡むと本当にめんどいし、思考停止したい。
482デフォルトの名無しさん (ワッチョイ 7f60-4xdr)
2018/11/23(金) 14:17:24.18ID:e/BZMkzC0 >>476
参照カウントはガページコレクタの一つでは?
https://ja.wikipedia.org/wiki/%E5%8F%82%E7%85%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88
参照カウントはガページコレクタの一つでは?
https://ja.wikipedia.org/wiki/%E5%8F%82%E7%85%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88
483デフォルトの名無しさん (ブーイモ MMe7-XNyg)
2018/11/23(金) 14:36:29.45ID:D8he5SEKM >>482
参照カウントがGCの実装アルゴリズムとして使われることがあるというだけで、スマポがGCと言ってるわけではないよ。
だいたいガイジンにとってガベージコレクションといえば↓コレなんだから、広範に収集しないスマポをGCと呼ぶのはすごい違和感。
https://money.usnews.com/careers/best-jobs/garbage-collector
参照カウントがGCの実装アルゴリズムとして使われることがあるというだけで、スマポがGCと言ってるわけではないよ。
だいたいガイジンにとってガベージコレクションといえば↓コレなんだから、広範に収集しないスマポをGCと呼ぶのはすごい違和感。
https://money.usnews.com/careers/best-jobs/garbage-collector
484はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/23(金) 14:46:07.98ID:o3+kYr4A0 スマポが GC かっていうのはちょくちょく話題になるね。
私自身は std::shared_ptr はガベジコレクタの一種だと考える派って話は前スレにも書いた。
https://mevius.5ch.net/test/read.cgi/tech/1535353320/303
考え方によるので定義を定める必要はないとも思ってるけどね。
>>473-474
C++ でデストラクタで不要なメモリにマークだけしておいて
実際の解放処理は後回し (とか別スレッドでやる) だとかいう手法もあるけれど、
あなたがたの基準ではこれは GC と言える?
私自身は std::shared_ptr はガベジコレクタの一種だと考える派って話は前スレにも書いた。
https://mevius.5ch.net/test/read.cgi/tech/1535353320/303
考え方によるので定義を定める必要はないとも思ってるけどね。
>>473-474
C++ でデストラクタで不要なメモリにマークだけしておいて
実際の解放処理は後回し (とか別スレッドでやる) だとかいう手法もあるけれど、
あなたがたの基準ではこれは GC と言える?
485デフォルトの名無しさん (オッペケ Sr47-4X35)
2018/11/23(金) 14:46:51.54ID:i3QERm52r >>476
すげー分かりやすいw
すげー分かりやすいw
486デフォルトの名無しさん (オッペケ Sr47-4X35)
2018/11/23(金) 14:52:59.28ID:i3QERm52r はちみつさんは女の人だったんだ
487デフォルトの名無しさん (ワッチョイ cf30-zhOP)
2018/11/23(金) 19:35:02.76ID:00BNAcCe0 C++で電気を消して回るおばちゃん作れないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 【27歳会社員】「自慰行為に使うために」コインランドリーの乾燥機から24歳女性の下着など計11点(時価8万2080円相当)盗んだ疑い [nita★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【速報】安倍昭恵、山上徹也裁判に再襲来決定【12月18日】 [947332727]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 麻生太郎が石破政権の1年を酷評「どよーんとして何も動かない感じだったな。それに引き換え高市政権は物事が動いている」 [597533159]
- 僕がみんなから許される方法
- 【速報】室井佑月、米山隆一との離婚を決意wwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
