1 名前:デフォルトの名無しさん [2015/08/31(月) 18:19:04.13 ID:NE3NvROE.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part118 peace.2ch.net/test/read.cgi/tech/1435970316/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.97【環境依存OK】 [転載禁止]©2ch.net 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/
152 名前:NAS6 ◆n3AmnVhjwc [2015/09/04(金) 01:36:42.35 ID:tzKKrHnI.net] 循環参照する必要があるなら アブストラクトファクトリパターンで シングルトンパターンのメッセージクラスで 応答になるんだろ
153 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 01:41:27.56 ID:ye/5uETN.net] >>146-147 そういうことか。ありがとう。 いちおう↓こんなのはできるけど、これが望むものなのかどうかはやっぱりわかんないね。 class B; struct A { B& b; }; struct B { A& a; }; struct Loop { A a; B b; } loop = {{loop.b}, {loop.a}};
154 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 01:46:02.11 ID:ye/5uETN.net] >150 よりこっちのがいいかな。 struct Loop { A a{b}; B b{a}; } loop;
155 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 02:03:19.63 ID:1ELVgZ8Y.net] それならc++03でもいけるね コンストラクタ書く必要はあるけど
156 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 03:33:33.23 ID:CNzc1DB/.net] >>150 AもBも他のクラスのメンバとするならば、初期化で問題なくインスタンス化できるという話ですか? いずれにしろAとBをマネージするクラスを作るのは避けられないですかね? >>152 どちらもgccのc++03でいけましたが、>>151 はc++03だと警告が出ました コンストラクタは書かなくても大丈夫ではないですか?
157 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 04:59:59.47 ID:ukgXeb3f.net] >>153 どっちも参照しかもって無いんだから誰かが実体持つ必要があるだろ。 それは相互に参照してようがしてまいが変わらない
158 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 05:04:41.54 ID:1ELVgZ8Y.net] >>153 C++03でクラス化するにはコンストラクタがいるよ それと試しにg++(gcc)でやってみたけど、 C++11でのみ有効な機能っていう警告が出たよ それじゃなかった?
159 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 06:17:53.16 ID:rG9hvPUX.net] >>101 コンソールに出力すると コンソールの通信速度に引っ張られて プログラムの動作が遅くなる デバッグだからと言って無闇に大量に出力しないように気をつけないといけない
160 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 08:17:29.72 ID:9mN0gzGK.net] 余計なお世話だ
161 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 08:58:14.87 ID:voaTutYw.net] コンソールってバッファリングしてないのか?
162 名前:デフォルトの名無しさん [2015/09/04(金) 11:55:39.86 ID:1AVS2Ktf.net] >>156 言うだけ無駄 どーしてもcoutと手段が目的化してる
163 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:28:24.29 ID:s9W6t8fF.net] やぱログに吐いた方がいいって事ですか
164 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:30:58.91 ID:8nJVYQKk.net] >>154 mainとかの関数内ではAやBのインスタンス作れないですよね? 何かしら方法あるのかな
165 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 12:37:05.16 ID:g9gAlQ8r.net] >>161 普通に作れるでしょ…
166 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 14:48:15.68 ID:yKUUH6cx.net] どうでもいいけどcerrじゃ
167 名前:デフォルトの名無しさん [2015/09/04(金) 17:07:42.09 ID:ynK+SMBx.net] >>156 >>158 リングバッファに貯めて別タスクでワイヤレスのコンソールに吐き出させています >>160 確かにそうかもしれません。 主目的は、標準ライブラリの移植です。 >>163 それでもかまいませんが やらなくてはならないことは同じではないかと思いました。 ちなみにiostreamをヘッダファイルに加えると以下のようなエラーが出ます hoge.cpp:(.text.startup+0x48): undefined reference to `__dso_handle' /path/to/libstdc++.a(system_error.o): In function `_GLOBAL__sub_I__ZNSt14error_categoryC2Ev': system_error.cc:(.text.startup._GLOBAL__sub_I__ZNSt14error_categoryC2Ev+0x4c): undefined reference to `__dso_handle'
168 名前:デフォルトの名無しさん [2015/09/04(金) 20:19:10.44 ID:STCOa/Lw.net] STLをビルドして組み込め。実装はただひとつでなくいくつもある。動作するやつで。
169 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 18:20:35.46 ID:pkvC4koK.net] erosuga1.blog.fc2.com/blog-entry-3174.html 親戚のエロお姉さんとS◯Xwwwwwwwwwww
170 名前:デフォルトの名無しさん [2015/09/06(日) 23:13:13.97 ID:kzoJkPUN.net] CのCHAR_BITに当たるものはC++だとなんですか
171 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 23:59:11.69 ID:TtEkoNQG.net] >>167 CHAR_BIT かな。 [] [ここ壊れてます]
173 名前:デフォルトの名無しさん [2015/09/07(月) 19:34:51.82 ID:XjY9JrjD.net] nextとhasNextはnextを実装するときコピーが必要だが終端がわかっていればnextだけで進める moveNextとcurrentはcurrentを実装するときコピーはいらないが進むのにmoveNextが必要という トレードオフがあると思いませんか?
174 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 20:08:22.86 ID:AAyuiqtl.net] 奇遇だな ちょうど俺もそう思っていたところだ
175 名前:デフォルトの名無しさん [2015/09/07(月) 21:24:45.26 ID:107fD43G.net] え!?俺も昨日同じこと考えたとこだった!
176 名前:デフォルトの名無しさん mailto:sage [2015/09/07(月) 21:26:55.88 ID:xAuYi2fm.net] ちょっと>>169 が何言ってるかわからない
177 名前:デフォルトの名無しさん [2015/09/08(火) 10:01:21.06 ID:LEkrsXyv.net] typelistの代わりにtuple使ってるんだけどなんかダサいから typelistの可変引数版みたいなのを自作しようと思います
178 名前:デフォルトの名無しさん mailto:sage [2015/09/08(火) 12:57:45.86 ID:rdzMyuc+.net] 俺も俺も
179 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 14:29:57.70 ID:vNCRKT6f.net] unique_ptrで配列を使う場合、テンプレート引数はどうするんでしょうか? unique_ptr<int> p(new int[3]); unique_ptr<int[]> p(new int[3]); はどちらもGNU C++11でコンパイルが通りますが、両者は同じですか?
180 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 17:14:13.20 ID:tn/zLcPl.net] >>175 前者は消滅時に変なdeleteが呼ばれるんじゃね
181 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 18:13:22.19 ID:vNCRKT6f.net] >>176 share_ptrの場合<int[]>だとコンパイルエラーになりますが、 unique_ptrは配列の特殊化があるので<int[]>にしないとダメということでしょうか?
182 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 18:33:57.55 ID:jMDA+bxl.net] はい
183 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 19:52:32.49 ID:Ubq2dser.net] shared_ptrってなんで配列の特殊化が用意されてないんだろうね 代わりにshared_arrayがあったと思うけど、要するに生配列なんてクソなものは使うなよってことなのかね
184 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 20:18:56.37 ID:dU3rTPO3.net] >shared_array いえそんなものありません
185 名前:デフォルトの名無しさん [2015/09/10(木) 20:26:28.15 ID:2c1W3PII.net] shared_ptr<array<int,3>>で
186 名前:デフォルトの名無しさん [2015/09/10(木) 20:42:53.70 ID:XPHYFe1B.net] unique_ptr<T[]>は知的興味でしかないだろうな なぜなならアーレイやベクトルやストリングがあるからさ そんな僕でもこれらデータ構造よりもunique_ptr<T[]>が使えると思いつく場面はあるんだ それはヒープ配列の生のポインターをAPIで所有権をうけとるときたった一つさ
187 名前:デフォルトの名無しさん [2015/09/10(木) 23:41:24.04 ID:Lt3YsJ/Z.net] > アーレイ 和服の彼女かとおもた
188 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 10:32:13.74 ID:yGFUVtFx.net] そういえばshare_ptrの参照カウンタって 実際の情報はどこで保持されてるんでしょうか?
189 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 10:33:39.57 ID:H6P2Jlk5.net] ソース見ればいい
190 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 11:22:30.30 ID:Ra3TP7iE.net] ソースみれば分かるが動的に確保しているよ ただし高速化の工夫はしてある
191 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 14:11:15.39 ID:yGFUVtFx.net] share_ptrのソース見ましたが、atomic型を使って うまいことやってるというくらいしか分かりませんでした atomicについて知らなかったので調べたんですが、 これってC++11のメモリモデルに関するもので、 いわば言語のコアの機能なんですね
192 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 14:12:30.08 ID:yGFUVtFx.net] つまりC++11以前やCではこのshare_ptrを直接実装する方法はなく、 たとえば参照カウンタを持つクラスを用意し、これをshare_ptrさせたい クラスに継承させるという間接的な方法しかないということですよね?
193 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 14:20:50.61 ID:ZeO2NzYz.net] んなわけねーだろ
194 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 15:00:10.29 ID:xy/6VGnh.net] C++11で、型推論autoを使って楽をしようと思ったんだが、 2つの変数の型を自動的に整合させる方法が分からないのだ。 void some_job() { const auto loop_times = 10; for (auto cnt = 0; cnt != loop_times; ++cnt) { /* ループ内の処理 */ } } // (インデントはおそらく破壊される) 上の場合、ループ回数 loop_times と、ループカウンタ cnt は どちらのautoもintと判断されるのでとりあえず一致する。 しかし auto loop_times の初期値にintでない値を与えると 当然ながら loop_times と cnt の型が違ってしまう。 「cntの型は、loop_timesの型からconstを外したものだよ」 という変数宣言の書き方はないだろうか? 諸兄らの教えを乞いたい。
195 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 15:18:09.86 ID:yGFUVtFx.net] >>189 どのへんが間違ってるんですか? C++初心者にもわかる説明だとありがたいです
196 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 15:43:03.84 ID:BdWqvAgc.net] >>190 ttp://ideone.com/CTjWaa これでどうよ >>191 boost::shared_ptrのソースでも見てみれば shared_ptrが標準に入ったのは11からだけどそれ以前にもshared_ptrはあったんだから
197 名前:190 mailto:sage [2015/09/11(金) 18:00:12.76 ID:xy/6VGnh.net] >>192 まさに希望した通りの情報です。感謝します。 std::remove_const 云々 と書くのか。 sizeof() と typeid().name() とで並べて見たところ loop_times と cnt の型は一致した。 loop_times = 10U; や loop_times = '3'; でも 試したら自動的に型が合った。 テンプレート構造体に閉じ込めたtypedefか。 こんな仕掛けを思いつくとは尊敬すべき変態さん達だな。
198 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 19:32:57.26 ID:eMWeHauN.net] これって const auto && loop_times = 10; でも動くんか? そこはdecayじゃないのかって思ったんだけど
199 名前:デフォルトの名無しさん mailto:sage [2015/09/11(金) 21:03:06.98 ID:yGFUVtFx.net] >>192 よく見てみたら、参照カウンタ自体の仕組みはごく単純で、自分のイメージ通りでした というか、そもそも自分がshare_ptrの使い方をちゃんと理解していませんでした share_ptrに生ポインタ渡せるのは初回だけなんですね・・・ ideone.com/mysMec スレ汚し失礼しました
200 名前:デフォルトの名無しさん [2015/09/11(金) 23:54:45.84 ID:b8iFLD3f.net] コーディング言語は「オープンソース」が制す:Github人気調査結果 ≪ WIRED.jp wired.jp/2015/09/11/github-coding-languages-open-source/ wired.jp/wp-content/uploads/2015/09/wiredus09101024x541.jpg
201 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 01:27:55.77 ID:JUZlHW5G.net] Rubyがそんなに上位だと思えないけどなぁ
202 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 02:10:12.94 ID:xJrAsa7q.net] ま、どうせcssとか入ってくる調査だし でも混ぜこぜでもcssに負けてんのはちょっと面白い
203 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 04:58:03.64 ID:oXtx5tH/.net] HTMLとJavaScriptとCSSのみっつが順位を競う プログラミング言語ランキングとは サイトの名前をwiredからweirdに変えた方がいい
204 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 13:10:32.88 ID:JUZlHW5G.net] だよねぇ。おかしいよねぇ。 なんだかんだCは上位にいると思う。
205 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 13:17:01.58 ID:VGFicEEt.net] 9位は十分上位だろう githubはもともとスクリプト書いてる人が多く使ってたから ああいう順位なんだと思うよ
206 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 14:01:59.69 ID:kwHtj/5N.net] マルチスレッドとグローバル変数の寿命に関する質問なのですが detachしたスレッドが,メインスレッド終了後も生き続けてもグローバル変数にアクセスしても問題はありませんか? StackOverflowなどには大丈夫だという回答があり、簡単なテストコードでも問題は無かったのですが クラス内static変数にアクセスしたときに時々異常終了したことがあったので少し不安です
207 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 14:06:47.33 ID:JUZlHW5G.net] 便乗質問 メインスレッドを終了してもコスレッドは生きてるんでしたけ? まずそこから・・・
208 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 14:06:59.24 ID:5QpLz49+.net] 問題あるだろ
209 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 14:37:23.35 ID:kwHtj/5N.net] >>203 生きてないですね(核爆
210 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 15:31:31.26 ID:Jf5oAWRg.net] コンストラクタ() = delete; これってなんですか
211 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 15:52:40.95 ID:uQU/vJQH.net] cppreference.comでは以下のように説明されている >Inhibiting the automatic generation of a default constructor by the compiler.
212 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 16:38:30.48 ID:Jf5oAWRg.net] コンストラクタを書かないのとどう違うのですか?
213 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 16:40:31.69 ID:pEVoCQGH.net] 書かないと自動生成されるだろ
214 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 16:41:18.68 ID:9veCOfSe.net] コンストラクタ書かなきゃいけなくなる
215 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 16:41:52.46 ID:9veCOfSe.net] デフォルト以外の
216 名前:デフォルトの名無しさん [2015/09/12(土) 16:43:08.92 ID:Hpj3Z5wB.net] ビッグ4の法則はコンストラクターには成り立たないからな
217 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 18:04:37.15 ID:fhFqy1Q7.net] 見たとおりコンストラクターが定義される ただし使うとコンパイルエラーになる特別な本体で 定義されるので書かなかったときの自動生成は行われないし privateで書いて生成禁止にしてもfriendからアクセス出来てしまうという誤りを防げる
218 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 21:36:31.32 ID:XAqQ9sMD.net] 素直に単純に コンパイラのコンストラクタの自動生成を阻止する とせずに 使えない特殊なコンストラクタを定義 ↓ コンストラクタがあるので自動生成されない という回りくどいプロセスを踏んでいるのは何故ですか?
219 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 21:46:02.85 ID:mqPDPmPF.net] >>214 どっちが回りくどいかもう一度考えてみたら?
220 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 21:48:41.33 ID:urgaTojg.net] >>213 の二段落目二行目のためでは
221 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 22:39:51.40 ID:fhFqy1Q7.net] >>214 そりゃ>>207 のサイトが嘘つきなだけで 自動生成を抑止するためじゃなく 使えない関数を定義することが目的だからね ideone.com/LKN3q1
222 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 01:24:33.20 ID:T9Cd4+Hx.net] 目的は書く人次第だが
223 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 01:28:55.66 ID:Auzbsz6v.net] つまり>>207 も>>217 も目的を決めつけた嘘つきってことですね
224 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 02:17:23.86 ID:T9Cd4+Hx.net] どうでもいい
225 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 03:41:04.36 ID:6aqKmbgS.net] 使えない関数を定義しているのではなく、そのシグネチャの関数がdeletedであることを宣言しているのだろう。 適用されるのは同じ翻訳単位だけなのでは?
226 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 04:33:23.08 ID:fzKWBIn4.net] >>221 そのレスする意味ある?
227 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 05:08:08.47 ID:6aqKmbgS.net] >>213 みたいな無駄にややこしい上に誤った説明をそのままにしておくのは無責任なのでは?
228 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 05:42:13.47 ID:fzKWBIn4.net] そうじゃなくて、そのレス何も説明してないでしょ 他人を批判する前に自分を省みろって
229 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 06:21:11.66 ID:oxWskyTT.net] >>221 deleteが同じ翻訳しか適用されなくても delete関数はインライン関数だから 違う翻訳単位でdeleteじゃかったらODR違反 問題ない
230 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 08:36:35.77 ID:GRWOhyHT.net] std::queue<T>についてなんですが clear()メソッドが無いのは何か理由有り? 一応pop()がデータを返さなくてfront()で先頭要素にアクセスしてからpop()すべき仕様なのは 極力先頭要素のコピーをしたくなくて、参照で済ませたいからだと推測できるのですが clear()が無い理由はちょっと…
231 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 08:40:43.87 ID:1aU/2qC8.net] >>226 データ構造上、コンテナを使い回すメリットがないから 新たにインスタンス作ればよろしいということ
232 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 08:43:14.92 ID:m2o7J/Xt.net] >>226 まーたその話かよ コンテナアダプタだからって結論が出ただろ
233 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 13:19:52.29 ID:BGQqu8BA.net] clearが欲しいなら黙ってstd::dequeを使えばいいだけ FIFOを使う場合にclearが必要になるのがおかしい
234 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 13:59:21.40 ID:21SWVEBe.net] >FIFOを使う場合にclearが必要になるのがおかしい へー、どうして? FIFOを乱す順序の操作ではないよね?
235 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 15:45:14.55 ID:zCQU/fdL.net] >>226 clearしたければclearする派生クラスを作ればいい そういう設計だ
236 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 17:42:34.20 ID:aPjNmwB2.net] >>226 >極力先頭要素のコピーをしたくなくて pop()が要素を返す場合コピーコンストラクタが例外を投げる可能性があるので 例外安全を満たすことができなくなる。
237 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 17:59:22.43 ID:dMwVjMJU.net] >例外安全を満たすことができなくなる へー、どうして?
238 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 18:45:49.56 ID:ABWGqgkn.net] popでデータを返さないのはコピー時に例外発生したときにコンテナの中身から取り除かれるわpopした中身受け取れないわになるのを防ぐためってのもある あとtopで参照返すことによりswapなどを使う事により例外発生させることなく受け取ることが可能になる C++11からmove出来るようになったからほぼいらなくなったけど
239 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 20:20:56.97 ID:M0wiS1Aa.net] 平面を二次元配列で表す時 array[width][height] array[height][width] どっちがいいですか?
240 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 20:22:35.56 ID:G58MCBrj.net] >>236 そんなことはお前のやろうとしていること次第。 ここできくことじゃない。
241 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/09/13(日) 20:25:57.90 ID:io0Trfl5.net] >>235 横向きに連続してアクセスするなら array[height][width] がいい。まあ、その辺はインライン関数で抽象化して、実測すればわかる。
242 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 21:21:42.16 ID:M3GBYhkY.net] 速度の差異を知りたいって事か。 変わるんすかねぇ
243 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 22:47:56.80 ID:q3JnkdTU.net] 何故かわらないと思うんですか?
244 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 23:01:44.40 ID:JxlRVXLx.net] 無礼な奴だな まず変わると考える根拠を述べよ
245 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 23:26:04.26 ID:q3JnkdTU.net] 変わらないと思う理由が知りたかっただけです ここ、C++スレですよね
246 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/09/13(日) 23:55:37.85 ID:io0Trfl5.net] array[height]は、width個の横に連続したデータになるから、 横方向に連続したアクセスなら、早くなるはず。 先読みとかキャッシュも関係するかも。
247 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 23:57:05.44 ID:ABWGqgkn.net] アクセス方法次第でCPUのキャッシュミスの発生率も変わるから速度も変わる
248 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 01:17:12.52 ID:h9CenDqd.net] >>235 プログラムが完成したら入れ替えてテストしろよ
249 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 02:27:47.71 ID:WQ7njzDq.net] なぜcolumn majorにしなかったのか
250 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 19:17:30.03 ID:nW8KHDe7.net] 質問です template templateという機能がありますが、これをクラステンプレートではなくて 関数テンプレートを渡す機能はありますか? codepad.org/pYejO9Fn 意図としては、ライブラリを作るにあたって、ユーザーからコールバックとして 関数テンプレートを受け取りたいです。 コードの最初のFooクラスのように、クラスで包んでoperator()を定義すれば 実現できます。しかし不格好なので、 bar のように普通に定義された関数テンプレートを 渡すことはできないでしょうか?
251 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 19:24:44.32 ID:cuv2HbJp.net] >>246 関数テンプレートを渡す機能はありません
252 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 19:29:09.13 ID:nW8KHDe7.net] >>247 そうか。あざす。残念。