1 名前:デフォルトの名無しさん (ワッチョイ dfcf-HvS5) mailto:sage [2017/01/09(月) 14:49:27.56 ID:p96WJVyd0.net] 次スレを立てる時は本文の1行目に以下を追加して下さい !extend:on:vvvvv:1000:512 C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part128 echo.2ch.net/test/read.cgi/tech/1480172629/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 echo.2ch.net/test/read.cgi/tech/1478440682/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
411 名前:デフォルトの名無しさん (ワッチョイ 367b-F1sY) mailto:sage [2017/02/14(火) 17:04:24.30 ID:NG72BBfs0.net] clangだとどう? Wandbox等でも試せる
412 名前:デフォルトの名無しさん (スプッッ Sdc7-a31+) mailto:sage [2017/02/14(火) 18:47:20.33 ID:KObDNYqgd.net] テストについて考えてるんだけど難しい ソフトウェア開発難しくないか 一番ダメなのは俺が方向性を定めぬまま決めてしまっていることだろうが
413 名前:デフォルトの名無しさん (ワッチョイ df98-3CwI) mailto:sage [2017/02/14(火) 20:35:30.08 ID:lntB2yLX0.net] 仕事でやってるなら (まさか会社で物事を決める立場にある人がこんな質問しているとは思えないので) 先輩に聞くか、会社の方針に合わせるしかないよ 今までどのようにやってきているかを見て、同じようにやるしかない 趣味でやっていて、オープンソースか何か、チームの一員として参加しているのなら やはりチームの方針に合わせるしかないよ 今までどのようにやってきているかを見て、同じようにやるしかない 趣味でやっていて、個人で何か作っているっていうんなら、テストはする必要ないよ 個人開発はいつでも時間が圧倒的に足りてないから、テストなんか真面目にやってたら いつまでたってもソフトが完成しない 一般的にメインのコードよりもテストコードのほうが量が多い 1万行のコードに対して10万行のテストコード・・・とかなったらもうソフトが完成しない いろいろいう人もいるだろうけど、ここは現実問題を見たほうが良い ・・・お金取るなら別だけど
414 名前:デフォルトの名無しさん (ワッチョイ 93c9-3u4T) mailto:sage [2017/02/14(火) 20:38:17.32 ID:aNlWux3V0.net] ふむふむ、つまり長文=低能
415 名前:デフォルトの名無しさん (ワッチョイ e292-CIv3) [2017/02/14(火) 20:47:51.47 ID:kM+db1DC0.net] >>404 VC2017だと必ずthread_localが先にデストラクトされます gcc5.4.0だとコンストラクタと逆順になります clang3.8.1だとコンパイルできません
416 名前:デフォルトの名無しさん (スプッッ Sdc7-a31+) mailto:sage [2017/02/14(火) 21:15:15.99 ID:KObDNYqgd.net] >>406 まさに大当たりなんだな ソフトウェア開発こんな難しいとは思ってなかった 何が難しいって意見が違うところが多くて困る 結合テストどうすりゃええんやってマジ困ってるわ 単体やシステムはなんとなくわかるんだが
417 名前:デフォルトの名無しさん (オッペケ Srf7-3u4T) mailto:sage [2017/02/14(火) 21:26:41.34 ID:5RYrxuibr.net] VC2017って来月9日に出るやつか
418 名前:デフォルトの名無しさん (JP 0Hf7-7zST) mailto:sage [2017/02/14(火) 21:43:47.89 ID:w8MjV4wUH.net] 大前提として、100%不具合が存在しないことを保証することは現実的には不可能 その前提の上で、如何に効率良く目的に合った不具合を検出して修正できるかがテストの肝 何か拠り所が欲しいならJSTQBの用語集でも読んでみたら良いんじゃね
419 名前:デフォルトの名無しさん (ワッチョイ e7a6-cGUq) mailto:sage [2017/02/14(火) 22:01:03.71 ID:fgjpd/Zj0.net] バグを見つけるためのテスト
420 名前:デフォルトの名無しさん (JP 0H4b-EsWW) mailto:sage [2017/02/15(水) 00:15:28.29 ID:urFAvqLFH.net] バグを追い出すためのテスト 隠れ家を重点的に叩く
421 名前:デフォルトの名無しさん (ドコグロ MMa3-VkM2) mailto:sage [2017/02/15(水) 06:47:06.21 ID:zgJtAmDRM.net] 追い出されたバグは違うモジュールに... デスマーチあるある
422 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/15(水) 07:31:50.49 ID:PfwOrtkrd.net] >>411 以下に効率よくってのポイントっぽいね 結合テストシステムテストの差がいつも怪しい
423 名前:デフォルトの名無しさん (ワッチョイ d236-a31+) mailto:sage [2017/02/15(水) 07:41:57.48 ID:XaX5xvK80.net] >>415 システムテストはシステムレベルの仕様に基づいてテストすればいいんじゃないかな。その際、中身がどのようにモジュールに分割されてるかは意識しない。 結合テストでは、システムレベルの仕様では見えないモジュール同士のインターフェースを中心に行う。
424 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/15(水) 07:48:01.33 ID:PfwOrtkrd.net] >>416 dllを差し換える作業を今してるんだけどその結合テストとなると diiを呼び出す口を呼び出したときにどうなるか それだけ見ればよいってことで良いかな?
425 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/15(水) 10:29:03.40 ID:PfwOrtkrd.net] strcpy_sってなんかMSDNの記載と挙動違うくない? 第三引数ぬるのときにエラーになる
426 名前:デフォルトの名無しさん (ワッチョイ 9b22-lHUq) mailto:sage [2017/02/15(水) 11:05:06.67 ID:t9yAVOgj0.net] strSourceがNULLだとEINVALを返すって書いてあるけど
427 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/15(水) 11:10:10.21 ID:PfwOrtkrd.net] >>419 リリースビルド実行してもそんなことなく落ちてしまう
428 名前:デフォルトの名無しさん (ワッチョイ df7b-3cRu) mailto:sage [2017/02/15(水) 11:53:58.00 ID:LTs78uDW0.net] If strDestination or strSource is a null pointer, or if the destination string is too small, the invalid parameter handler is invoked, as described in Parameter Validation.
429 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/15(水) 12:06:28.33 ID:PfwOrtkrd.net] >>421 それ読んでるけど表ではコピー先には0で返り値でエラーコードが返ってくると記載がある その文章の後半の実行の継続が〜って箇所がこれなんだと読んだんだが
430 名前:デフォルトの名無しさん (ワッチョイ df7b-3cRu) mailto:sage [2017/02/15(水) 12:14:45.33 ID:LTs78uDW0.net] パラメータバリデーションも読めばわかる その中で実行継続が選択された場合はエラーコードが返る
431 名前:デフォルトの名無しさん (ワッチョイ 0fd2-3yR0) mailto:sage [2017/02/15(水) 12:16:06.93 ID:tDlcUFQu0.net] >>422 記載内容
432 名前:確認したいのでURL張って [] [ここ壊れてます]
433 名前:デフォルトの名無しさん (ワッチョイ df7b-3cRu) mailto:sage [2017/02/15(水) 12:18:53.94 ID:LTs78uDW0.net] ググればトップに出てくるページも探せない奴は参加しなくて良い
434 名前:デフォルトの名無しさん (スップ Sd72-a31+) mailto:sage [2017/02/15(水) 12:25:15.30 ID:7fF4cQx4d.net] >>423 実行継続ってどうやってするんだ... リリースビルドのやつだとそのまま落ちちゃうけどもそれとは違うの?
435 名前:デフォルトの名無しさん (ワッチョイ df7b-3cRu) mailto:sage [2017/02/15(水) 12:29:16.41 ID:LTs78uDW0.net] Invalid Parameter Handler Routineを差し替える
436 名前:デフォルトの名無しさん (スップ Sd72-a31+) mailto:sage [2017/02/15(水) 12:34:47.36 ID:7fF4cQx4d.net] なんか手のつけたことのないやつに深入りしそうだ ぐぐりちゅう これ普通にだと落ちるのが正常ってことなんかね...? >>424 https://msdn.microsoft.com/ja-jp/library/td1esda9.aspx
437 名前:デフォルトの名無しさん (ワッチョイ df7b-3cRu) mailto:sage [2017/02/15(水) 12:35:51.87 ID:LTs78uDW0.net] レジストリ弄ってワトソン出さない方法もあるらしいけどやった事ない
438 名前:デフォルトの名無しさん (スップ Sd72-a31+) mailto:sage [2017/02/15(水) 12:45:49.37 ID:7fF4cQx4d.net] >>429 これって初期設定だと実行継続みたいなのをぽちっとしないといけない それがデフォルトってことなんね なんか思っていた動作と異なる くそやろう...
439 名前:デフォルトの名無しさん (スップ Sd72-a31+) mailto:sage [2017/02/15(水) 14:54:33.30 ID:7fF4cQx4d.net] で....できない srz-zumix.blogspot.jp/2012/08/strcpys.html?m=1 これ参考にしてるんだけどそのままコピペだとできない 助けてクレメンス
440 名前:デフォルトの名無しさん (ワッチョイ df7b-Ry7I) mailto:sage [2017/02/15(水) 15:37:40.84 ID:LTs78uDW0.net] #include <string.h> #include <errno.h> void handler( const wchar_t * expression, const wchar_t * function, const wchar_t * file, unsigned int line, uintptr_t pReserved) { } int main() { char a[20]; _set_invalid_parameter_handler(handler); strcpy_s(a, 20, NULL); printf("%d\n", EINVAL == errno); }
441 名前:デフォルトの名無しさん (オッペケ Srf7-3u4T) mailto:sage [2017/02/15(水) 18:51:08.84 ID:rJwzLFnhr.net] >>418 スレ違いは去れよ
442 名前:デフォルトの名無しさん (ワッチョイ 0fd2-3yR0) mailto:sage [2017/02/15(水) 20:32:24.80 ID:tDlcUFQu0.net] >>431 何が起きてるのかわからないから助けようがない ブレークポイント張って動作は追った?
443 名前:デフォルトの名無しさん (ワッチョイ fb5f-YBZc) mailto:sage [2017/02/17(金) 16:55:38.65 ID:oBsnwbhT0.net] >>430 _s関数の設計思想がプログラマが想定してない状況で動作を継続しないだもの NULLが来るのが想定内だってんならデバッグ用の_set_invalid_parameter_handler()なんか使わず最初からstrcpy_s()を呼ぶな
444 名前:デフォルトの名無しさん (ワッチョイ 5f17-P9CU) [2017/02/18(土) 02:10:37.30 ID:BjwZuIbZ0.net] Electronic Artsの標準ライブラリEASTL https://github.com/electronicarts/EASTL 3.05.02 release ようやくunordered_set, unordered_map が追加された。
445 名前:デフォルトの名無しさん (オッペケ Sr9f-xmLK) mailto:sage [2017/02/18(土) 09:00:37.40 ID:GNecI7Ewr.net] 『Electronic Artsの標準ライブラリEASTL』 俺ライブラリのくせに「標準」付けるところが馬鹿っぽい 標準って日本語の意味も理解しない低能
446 名前:デフォルトの名無しさん (ワッチョイ 0f7b-LjcY) mailto:sage [2017/02/18(土) 09:10:35.91 ID:IbdRLC160.net] 「標準ライブラリ実装」なら満足?
447 名前:デフォルトの名無しさん (オッペケ Sr9f-xmLK) mailto:sage [2017/02/18(土) 11:10:10.00 ID:GNecI7Ewr.net] Electronic Artsによる標準ライブラリの一部分の実装 EASTL
448 名前:デフォルトの名無しさん (ワッチョイ 5fcc-UoBp) mailto:sage [2017/02/18(土) 14:17:54.25 ID:cCamoDUt0.net] STLのSはStandardだからな 英語出来ない馬鹿なのか
449 名前:デフォルトの名無しさん (アウアウカー Sa9f-LRhM) mailto:sage [2017/02/18(土) 17:51:18.18 ID:DE0SU//Ra.net] Sugoi Tsuyoi Library
450 名前:デフォルトの名無しさん (ワッチョイ 5b02-Z7AI) mailto:sage [2017/02/18(土) 18:20:17.46 ID:oLH7rESg0.net] サブセットのなにがいけないのか
451 名前:デフォルトの名無しさん (ワッチョイ fba6-eq+O) mailto:sage [2017/02/18(土) 19:49:22.55 ID:fWF8oK3d0.net] 処理系を作っているなら「STL実装」を名乗ってもいいの?
452 名前:デフォルトの名無しさん (ワッチョイ 0f7b-qzUy) [2017/02/18(土) 20:29:26.5
] [ここ壊れてます]
453 名前:8 ID:bU7vWvgF0.net mailto: 「Electronic Artsの標準」って言ってるだけで何の問題もないと思うが? Standardという言葉を必要以上に狭く解釈するほうがバカみたい [] [ここ壊れてます]
454 名前:デフォルトの名無しさん (ワッチョイ 0f5b-6x/Q) mailto:sage [2017/02/19(日) 09:55:36.66 ID:2DCCXMeS0.net] strstreamでwstringを使う方法はありますか?
455 名前:デフォルトの名無しさん (ワッチョイ 8bc9-xmLK) mailto:sage [2017/02/19(日) 09:59:54.67 ID:sJkQ60Iy0.net] はい。有ります
456 名前:デフォルトの名無しさん (ワッチョイ 8bc9-xmLK) mailto:sage [2017/02/19(日) 10:17:39.90 ID:sJkQ60Iy0.net] ちなみにこんな感じだろうたぶん https://ideone.com/JpKEZ7
457 名前:デフォルトの名無しさん (ワッチョイ 0f5b-6x/Q) mailto:sage [2017/02/19(日) 11:16:43.37 ID:2DCCXMeS0.net] それは(w)stringstreamではないですか? strstreamのヘッダもいらない気がします。 strstreamでwstringを利用したいのですが 独習C++のサンプルでもchar配列しか扱って ません。
458 名前:デフォルトの名無しさん (ワッチョイ 0f7b-LjcY) mailto:sage [2017/02/19(日) 11:50:16.48 ID:kiv7S6GK0.net] strstreamってdeprecatedでは
459 名前:デフォルトの名無しさん (ワッチョイ 0f5b-6x/Q) mailto:sage [2017/02/19(日) 12:02:45.47 ID:2DCCXMeS0.net] >>449 visual studioのヘルプ見たらそんな気がしました。 おとなしくwstringstream使っとくべきですかね。
460 名前:デフォルトの名無しさん (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/19(日) 21:37:05.31 ID:XrGtgUCH0.net] Singletonでのthread終了時にjoinで固まる suzukit14.hateblo.jp/entry/2015/06/24/111000 これとまったく同じ問題に突き当たりました。 最後に書かれているように、detach()で確かに無事終了できますが、 なんかマズかったりしますか?
461 名前:デフォルトの名無しさん (オッペケ Sr9f-xmLK) mailto:sage [2017/02/19(日) 22:04:43.50 ID:s/Z6tyYFr.net] 良く読んでないけと 破棄されたm_endを参照してなんかうれしいの?
462 名前:デフォルトの名無しさん (ワッチョイ eb9a-XQTV) [2017/02/19(日) 22:07:24.99 ID:qRKd/jmw0.net] スレッドの終了を待たずにプロセスが終了しても問題ないならOK
463 名前:デフォルトの名無しさん (ワッチョイ fb7b-Mjmn) [2017/02/19(日) 22:15:23.67 ID:Av0JmT9x0.net] >>451 そのインスタンスのメンバーを使用するコードがdetachしたスレッド内にある場合はデストラクタが呼ばれた後にそのメンバーを参照して未定義動作になる可能性がある
464 名前:451 (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/19(日) 22:22:05.77 ID:XrGtgUCH0.net] 皆さん、ご回答、ありがとうございます。 >>454 まさにそれと思しきクラッシュが終了時にランダムで発生することに気付きました(汗) detach()もjoin()もせずに終わろうとしたときに百発百中で出るのと同じ「R6010 -abort() has been called」というエラーです。 Sleep()でも呼んで十分に待てば、実用上は問題ないんでしょうけど、 こういう曖昧なコードは嫌いなので、なんとかキレイにスパッと終わりたいです・・・。 Singletonが適したクラスではあるのですが、 この問題をうまく裁けないようであれば、諦めて通常のクラスにすることを検討します。
465 名前:デフォルトの名無しさん (ワッチョイ fb7b-Mjmn) [2017/02/19(日) 22:32:17.29 ID:Av0JmT9x0.net] >>455 コンパイラは?MSVC2015使っててそんな問題に当たったことないんだけど どうしても回避できないなら(MSVC2012には無かったかもしれないけど)std::quick_exit使う事も検討してみたら?
466 名前:デフォルトの名無しさん (ワッチョイ eb9a-XQTV) [2017/02/19(日) 22:45:35.14 ID:qRKd/jmw0.net] 俺なら、pthread なり直接使って クリーンアップハンドラ登録する
467 名前:451 (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/19(日) 23:08:15.96 ID:XrGtgUCH0.net] >>456 Visual Studio Express 2013 for Windows Desktop Update5 です。 stackoverflow.com/questions/10915233/stdthreadjoin-hangs-if-called-after-main-exits-when-using-vs2012-rc ここを見てると、どうも2015では直ってそうですね。 quick_exitのこと教えてくださってありがとうございます。 知りませんでした。 でも、VS2015に移行するのが一番キレイに解決するので、そうします。 これまで、特にVS2015に移行する理由がなかったので2013のままでしたが、 おかげさまで理由ができました。 ありがとうございました。
468 名前:451 (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/20(月) 01:50:05.39 ID:1uwDjjWZ0.net] ところで、>>451 のサイトのコードですが、 m_end変数の型がstd::atomic<bool>となっています。 わざわざatomicクラスを使わなくても、 m_end = true; は通常のboolでもアトミック操作だからかまわないですよね? 何か意図があるのでしょうか?
469 名前:デフォルトの名無しさん (ワッチョイ dfc0-fRM8) mailto:sage [2017/02/20(月) 02:43:42.07 ID:kFvPCPcM0.net] コンパイラが省略するかもしれないから
470 名前:デフォルトの名無しさん (ワッチョイ 5f17-P9CU) mailto:sage [2017/02/20(月) 03:08:55.41 ID:n+W7/EeT0.net] volatile ではダメなん?
471 名前:デフォルトの名無しさん (ワッチョイ fb7b-Mjmn) [2017/02/20(月) 04:17:03.74 ID:8FjaGYLq0.net] >>461 わざわざ保証されてないものを使用したあなら好きにしたらいいんじゃない? タイミングが重要なものに使用したらすぐ破綻するけど。
472 名前:デフォルトの名無しさん (ワッチョイ cbdc-92cl) mailto:sage [2017/02/20(月) 06:33:50.28 ID:8HBU9+MH0.net] 大きな整数だと読み書き操作のアトミック性が保証されないから std::atomic を使わなきゃならん。 必要ないかも知れないけど、同じ書き方でboolでもlong longでも 正しく動くようにテンプレートを使った標準的な書式にしておく、 ってのがC++流と言えるのかな。 あと、std::atomic<bool>と書いてもboolを直に代入しても 実行時には同じ速度で動く(ようにatomicを実装する)から損はない、 というのもね。
473 名前:451 (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/20(月) 19:43:56.16 ID:1uwDjjWZ0.net] ご回答、ありがとうございます。 >>463 >大きな整数だと読み書き操作のアトミック性が保証されない そうだったんですか! それはatomicが要りますね。 >実行時には同じ速度で動く(ようにatomicを実装する)から損はない オーバーヘッドがないのは素晴らしいですね。 気を付けます。 ありがとうございました。
474 名前:デフォルトの名無しさん (ワッチョイ 0f2b-eq+O) mailto:sage [2017/02/21(火) 07:47:04.43 ID:t35fjyuz0.net] >459 >何か意図があるのでしょうか? サイト書いた人間死んでるの? それとも生きてるの? 生きてるならなんでわざわざ赤の他人に他人の意図を聞くんだろうこの人 本人に直接聞けば一番早いんじゃないの そいつの意図なんてのは書かない限りそいつしか知らないし分からないじゃん
475 名前:デフォルトの名無しさん (ドコグロ MM7f-My/j) mailto:sage [2017/02/21(火) 08:17:30.11 ID:y0kzTLQNM.net] 終わった話になに頓珍漢な言いがかりつけてるんだよ w
476 名前:デフォルトの名無しさん (ササクッテロラ Sp9f-Aztl) mailto:sage [2017/02/21(火) 09:41:12.86 ID:yRuALuONp.net] お受験の季節だし、国語の時間が辛かったんだと思います 許してあげてください
477 名前:デフォルトの名無しさん (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/22(水) 19:13:31.66 ID:M+n+vM/b0.net] 以下のようなマルチスレッドプログラムを書いたのですが、もっとエレガントに書くことはできないでしょうか? std::atomic<T>を使ったら可能でしょうか? ■メンバ変数 std::mutex m_Mtx; std::string m_str; ■生産者スレッド while( true ) { lock_guard<std::mutex> Lock( m_Mtx ); m_str += "何らかの文字列"; } ■消費者スレッド std::string str; { lock_guard<std::mutex> Lock( m_Mtx ); str = m_str; m_str.clear(); }
478 名前:デフォルトの名無しさん (ササクッテロラ Sp9f-Aztl) mailto:sage [2017/02/22(水) 20:12:00.06 ID:OuXxGo6Bp.net] それで必要十分だと思うよ stdがついたり付いてなかったり、変数が大文字始まりだったり小文字始まりだったりするのが気持ち悪いけど
479 名前:デフォルトの名無しさん (ワッチョイ fb34-wIi3) [2017/02/22(水) 20:31:27.26 ID:3B67WX1e0.net] >>468 強いて言うなら str.swap(m_str); かな。
480 名前:デフォルトの名無しさん (ワントンキン MM7f-Mjmn) [2017/02/22(水) 20:40:10.22 ID:W153DobNM.net]
481 名前:そんな動作が必要なプログラムを書いたことがないし、どんなケースで必用になるのか想像もつかないけど、その動作が正なのであるばそれでいいんじゃない? m_ って付いてるってことはメンバー関数なんだろうけどデストラクタどうするんだろうとか、色々気になる所はあるけど。 [] [ここ壊れてます]
482 名前:デフォルトの名無しさん (ワッチョイ 5b02-Z7AI) mailto:sage [2017/02/22(水) 21:09:30.45 ID:TTVI91Rf0.net] バックグラウンドで通信するならおおよそこんな感じになるんじゃないの
483 名前:468 (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/22(水) 21:38:29.81 ID:M+n+vM/b0.net] >>470 ご回答、ありがとうございます。 >>472 その通りでございます。 >>470 なるほど! ということは、atomic<T>を使って ■メンバ変数 std::atomic<std::string> m_str; ■生産者スレッド while( true ) m_str += "何らかの文字列"; ■消費者スレッド std::string str; str.swap( m_str ); と、超エレガントにできそうですが、この場合、swap()でのアトミック性ってどうなるんでしょう??
484 名前:デフォルトの名無しさん (ワッチョイ fb34-wIi3) [2017/02/22(水) 21:46:47.39 ID:3B67WX1e0.net] >>473 心配なら m_str.swap(str); でいいんじゃね?
485 名前:468 (ワッチョイ 6bdc-89sP) mailto:sage [2017/02/22(水) 23:00:07.25 ID:M+n+vM/b0.net] >>474 あ、そうですね! それならより安心ですね。 テストしてみて問題なかったら、それでいきます! ありがとうございました。
486 名前:デフォルトの名無しさん (ワッチョイ 8acc-CoTN) mailto:sage [2017/02/23(木) 00:46:03.89 ID:+OueSnEu0.net] ハンガリアンキンモー
487 名前:デフォルトの名無しさん (ワッチョイ de5b-moPN) mailto:sage [2017/02/24(金) 08:16:42.09 ID:DyzPRDD50.net] 見たことないのですがポインタ(の 入った変数)を参照することって可能 ですか? int* &みたいなことです。
488 名前:デフォルトの名無しさん (ブーイモ MMc7-Ccab) mailto:sage [2017/02/24(金) 09:58:19.90 ID:bBhQmgr7M.net] >>477 出来ます。テンプレートで使われるのが一番多いかな? func(T& dst)に対してint*を渡すみたいなパターン
489 名前:デフォルトの名無しさん (アウアウカー Saeb-uNyc) mailto:sage [2017/02/24(金) 10:28:09.00 ID:e/BP7pNwa.net] それは初心者用質問スレで訊くのが合っていますよ
490 名前:デフォルトの名無しさん (ワッチョイ 8a3c-/RgJ) mailto:sage [2017/02/24(金) 11:40:07.36 ID:9xRtAprE0.net] auto&&とint&&は機能的に別物と考えていいのかな。 int&&は右辺値参照を実現する記法で、auto&&は参照の参照を実現するための仕組みという認識なんだけど。
491 名前:デフォルトの名無しさん (ワッチョイ 8acc-CoTN) mailto:sage [2017/02/24(金) 12:43:18.76 ID:quEFnRbB0.net] 人に聞く前になぜ自分でやってみようとは思わないの?
492 名前:デフォルトの名無しさん (スップ Sd4a-36q6) [2017/02/24(金) 13:15:08.70 ID:u1ntmSSgd.net] 試してもその環境では動くということしか確かめられないから
493 名前:デフォルトの名無しさん (ワッチョイ 7fc9-2lVT) mailto:sage [2017/02/24(金) 22:09:09.79 ID:OddQnmIq0.net] 実現するのが目的ではないだろうけど auto &&のauto部分がX &に解決されるのはどうも気持ち悪い
494 名前: ◆QZaw55cn4c (ワッチョイ 4613-8lb6) mailto:sage [2017/02/24(金) 22:22:18.18 ID:4ewDjGBZ0.net] >>477 できる,二重ポインタより分かりやすい
495 名前:デフォルトの名無しさん (ワッチョイ 1f30-GZNV) mailto:sage [2017/02/25(土) 00:02:24.64 ID:5D288ePc0.net] >>480 テンプレートの型パラメータと普通の型の関係と同じようなもの 機能的に完全に別物というより一段上に追加機能のレイヤーがあるかないかの違い
496 名前:デフォルトの名無しさん (ワッチョイ 8acc-CoTN) mailto:sage [2017/02/25(土) 00:13:15.17 ID:Bto43eGs0.net] まあautoの部分はXにもX*にもX&にも解釈可能だからトーシローは錯覚する罠
497 名前:デフォルトの名無しさん (ワッチョイ 8a3c-/RgJ) mailto:sage [2017/02/25(土) 12:29:14.82 ID:xXEZYycv0.net] auto&&はreference collapsingっていう仕組みらしいけど江添氏はこの機能の解説してないんだよね。 だから右辺値参照の仕組みと透過性があるものなのだと思ってた。 右辺値参照の仕組みを理解すればおのずと理解できるもんだと思ってた。
498 名前:デフォルトの名無しさん (ワッチョイ 63a6-8lb6) mailto:sage [2017/02/25(土) 13:33:16.56 ID:THbYlaQi0.net] これとかじゃなく? https://cpplover.blogspot.jp/2014/09/c14-decltypeauto.html
499 名前:デフォルトの名無しさん (アウアウカー Saeb-uNyc) mailto:sage [2017/02/25(土) 18:59:53.13 ID:A0aZ5Z9Sa.net] 江添はそう言ってる?
500 名前:デフォルトの名無しさん (ワッチョイ 7fc9-2lVT) mailto:sage [2017/02/25(土) 21:48:53.39 ID:r3+UW6Ch0.net] 江添の説明はこれだな 『テンプレート実引数推定のルールで型推定が行われる』 『できるだけ普通のプログラマーの常識に合わせるために、とても複雑になっている』 以上
501 名前:デフォルトの名無しさん (ワッチョイ 0a7f-orIt) mailto:sage [2017/02/27(月) 14:18:25.09 ID:XaQXd7Ck0.net] libc++ の挙動にバグっぽいものを見付けたんで cfe-dev に投げたんですが ttp://lists.llvm.org/pipermail/cfe-dev/2017-February/052807.html 応答がありません…もっとふさわしい場所ってあるんですかね? っていうか std::is_abstract が純粋仮想関数入りのクラステンプレートに対して false 返すのって規格に照らしてどうなんでしょう?
502 名前:デフォルトの名無しさん (オッペケ Sr23-2lVT) mailto:sage [2017/02/27(月) 18:50:50.34 ID:mrZfm/tmr.net] テンプレートクラスならともかくクラステンプレートならコンパイルエラーにならないとおかしい ちなみにただのバグにしか見えない
503 名前:デフォルトの名無しさん (ワッチョイ 0a7f-orIt) mailto:sage [2017/02/27(月) 20:02:23.96 ID:XaQXd7Ck0.net] なるほど、テンプレートクラスと言えばいいんですね。 適切な言葉をちゃんと知りませんでした。
504 名前:デフォルトの名無しさん (ワッチョイ a37b-mxZJ) [2017/02/27(月) 20:55:00.96 ID:Of/Kbntx0.net] https://bugs.llvm.org// バグ報告はここじゃね?
505 名前:デフォルトの名無しさん (ワッチョイ 7fc9-2lVT) mailto:sage [2017/02/27(月) 21:11:47.21 ID:4UiY0/x/0.net] libc++ではなくてclangが腐ってるようにも見える melpon.org/wandbox/permlink/GCDP7CU2HzUOMMML
506 名前:デフォルトの名無しさん (ワッチョイ 0a7f-orIt) mailto:sage [2017/02/27(月) 21:22:12.75 ID:XaQXd7Ck0.net] >>494 New user self-registration is currently disabled らしいのでどうせメールするならメーリスでいいか、 というのと規格的にどうなのかよくわからなかったので…
507 名前:デフォルトの名無しさん (ワッチョイ 0a7f-orIt) mailto:sage [2017/02/27(月) 21:25:24.26 ID:XaQXd7Ck0.net] >>495 g++ で libc++ を使わせても同じ挙動だったのですが どうなってるんでしょうね?
508 名前:デフォルトの名無しさん (スプッッ Sd33-moPN) mailto:sage [2017/02/28(火) 09:18:02.99 ID:cUxO9p4sd.net] long→short 警告でない size_t→int 警告出る 警告出たり出なかったりの違いってなんなんだ? 上記二つとも出ると思っていたのだが
509 名前:デフォルトの名無しさん (スップ Sd4a-36q6) [2017/02/28(火) 09:25:14.27 ID:+UqvplX+d.net] unsignedでは
510 名前:デフォルトの名無しさん (ワッチョイ 8acc-CoTN) mailto:sage [2017/02/28(火) 09:41:23.40 ID:Mx4bsJ8G0.net] 警告を出すか出さないかはコンパイラのオプションで自由に選べる
511 名前:デフォルトの名無しさん (スプッッ Sd33-moPN) mailto:sage [2017/02/28(火) 11:50:09.20 ID:cUxO9p4sd.net] >>499 それだと思ったのだけどsize_tでも出ないところと出るところがある なんなんだこれ