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
369 名前:デフォルトの名無しさん (ワッチョイ 277b-VpYz) [2017/02/10(金) 20:32:59.12 ID:MRcACxyw0.net] >>361 wchar_tはWindows以外だいたい4だぞ
370 名前:デフォルトの名無しさん (スッップ Sd52-jZLg) mailto:sage [2017/02/10(金) 20:59:06.21 ID:kKjy5FQnd.net] >>360 試してみたいからどっかにソリューション一式アップしてみ?
371 名前:デフォルトの名無しさん (ワッチョイ 7b0e-zOJM) mailto:sage [2017/02/10(金) 21:53:45.98 ID:m9Xytejo0.net] 2だと合成文字どころかcodepointすら1つでは表現出来ない、半端仕様 それならもういっそutf-8でいいじゃないか
372 名前:デフォルトの名無しさん (ドコグロ MM8a-zlRv) mailto:sage [2017/02/10(金) 22:01:34.71 ID:YdIN6n2bM.net] >>360 釣果はどうだい?
373 名前:デフォルトの名無しさん (ワッチョイ 7b51-cGUq) mailto:sage [2017/02/10(金) 22:09:36.57 ID:WMmjWeX+0.net] 文字を「文字列の先頭」みたいな形でしか表せないのは用途によっては面倒くさい。
374 名前:デフォルトの名無しさん (ワッチョイ 93c9-3u4T) mailto:sage [2017/02/11(土) 00:41:43.23 ID:yp4PwuMD0.net] そうだな だから367はもうUnicode使わないようにしないと
375 名前:デフォルトの名無しさん (ワッチョイ 367b-ZOaM) [2017/02/11(土) 13:11:50.51 ID:I0QTm/K50.net] >>360 ひとつの.cppの中?それならextern "C"は必要ないよ .cと.cppをリンクするときは.cで定義した関数は.cpp側でextern "C"しなけりゃいけない キーワード:マングリング
376 名前:360 (ワッチョイ 7642-CIv3) mailto:sage [2017/02/11(土) 18:00:41.65 ID:mOx2IQFJ0.net] >>362 Boostビルドの前に Android Studioでinclude pathの設定が わからなくて お手上げ状態。
377 名前:デフォルトの名無しさん (ワッチョイ 9302-ENO3) mailto:sage [2017/02/11(土) 19:33:50.14 ID:I2Nt/svY0.net] C++の最大の難関は環境構築
378 名前:デフォルトの名無しさん (アウアウオー Sa8a-S0So) mailto:sage [2017/02/11(土) 20:04:39.39 ID:2PZ2/Gs1a.net] VCぇ。。。
379 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/11(土) 20:10:03.55 ID:7410wxb3d.net] vcってなんなんですか
380 名前:デフォルトの名無しさん (アウアウオー Sa8a-S0So) mailto:sage [2017/02/11(土) 20:24:54.87 ID:2PZ2/Gs1a.net] VisualC++の略。 ダイアログアプリ以外は全然Visualじゃ無いけどね。 でもそんなの他のC++処理系も一緒。 (むしろダイアログアプリすら別に入れないと出来ない。そこがライブラリ選べる自由度の代償) VB的にC++使えたC++Builderは死んだのだ。。。 他の環境入れる辺り、GUIは関係無いだろうけど、GUI以外にもライブラリがインストール時に全部入るので環境構築は一番楽。 あ、VCでも.netならVB的に使える。 文法が独特になって、C#使った方がマシだが。
381 名前:デフォルトの名無しさん (ワッチョイ 9302-ENO3) mailto:sage [2017/02/11(土) 23:51:53.14 ID:I2Nt/svY0.net] MSVCとQtって組み合わせられるの?
382 名前:デフォルトの名無しさん (ササクッテロロ Spf7-eUd9) mailto:sage [2017/02/12(日) 03:21:26.71 ID:9ZkThf7dp.net] 組み合わせるの意味がよくわからんけどコンパイラにmsvcは使える
383 名前:デフォルトの名無しさん (ワッチョイ b27b-ENO3) mailto:sage [2017/02/12(日) 15:27:47.18 ID:YlSn9Fu90.net] vcっていう人とvc++っていう人がいる
384 名前:361 (ワッチョイ 7642-CIv3) mailto:sage [2017/02/12(日) 18:15:47.67 ID:2aJLYPTP0.net] build.gradleで cmake { cppFlags "-std=c++11 -frtti -fexceptions -I${project.buildDir}/../src/main/cpp/include" } としたらshared_ptrやらlexical_castは動いたわ。 Boostビルドやインテリセンスが動かない問題は解決できなかったけど
385 名前:デフォルトの名無しさん (アウアウオー Sa8a-S0So) mailto:sage [2017/02/12(日) 18:35:37.25 ID:ElZAn973a.net] >>377 VC6の時代は入門書には大体VCって書いてた。 あの頃がVC全盛期。
386 名前:デフォルトの名無しさん (ワッチョイ b27b-ENO3) mailto:sage [2017/02/12(日) 18:51:10.52 ID:YlSn9Fu90.net] >>379 実はVC6が仕事で使ったのが最後w MSCもVer.6が良かったなぁみたいな。
387 名前:デフォルトの名無しさん (スプッッ Sd72-a31+) mailto:sage [2017/02/13(月) 08:28:15.44 ID:w9FuiKwSd.net] fopenと_sの違いを教えてクレメンス
388 名前:デフォルトの名無しさん (アウアウオー Sa8a-S0So) mailto:sage [2017/02/13(月) 10:32:02.37 ID:dreuS3Zka.net] _sはセキュリティのs
389 名前:デフォルトの名無しさん (スプッッ Sd72-Q8BR) [2017/02/13(月) 13:50:40.30 ID:jR+QOQ4bd.net] コンストラクタの関数トライブロックのイニシャライザで発生した例外をキャッチしても そのままコンストラクタの外へ例外が飛び出るのですがそういうものですか?
390 名前:デフォルトの名無しさん (ワッチョイ b27b-ENO3) mailto:sage [2017/02/13(月) 14:12:07.77 ID:CDuxjgvH0.net] >>381 そんなんがあんのかorz
391 名前:デフォルトの名無しさん (ワッチョイ b330-t3CD) mailto:sage [2017/02/13(月) 14:22:10.35 ID:83glS84B0.net] >>383 そういうもの
392 名前:デフォルトの名無しさん (スプッッ Sd72-Q8BR) [2017/02/13(月) 14:41:07.98 ID:jR+QOQ4bd.net] そういうものですか
393 名前:デフォルトの名無しさん (オッペケ Srf7-3u4T) mailto:sage [2017/02/13(月) 22:21:47.14 ID:0ypMjrgpr.net] メンバーの初期化が失敗してる状態で続行されたら迷惑以外の何物でもない
394 名前:デフォルトの名無しさん (ブーイモ MM52-mpSg) mailto:sage [2017/02/13(月) 22:30:08.50 ID:2WrcuwMzM.net] catchブロックは必ずthrowで終わらないといけなくて、省略すると自動でrethrowするみたいね
395 名前:デフォルトの名無しさん (ワッチョイ b37b-a31+) mailto:sage [2017/02/13(月) 22:32:22.26 ID:riwEWnOT0.net] COM登録難しい 自動で作られる_p.cとか_i.cファイルってなんなんだ IIDやCLSIDとか難しすぎる
396 名前:デフォルトの名無しさん (ワッチョイ 129b-ilKL) mailto:sage [2017/02/14(火)
] [ここ壊れてます]
397 名前:00:03:42.00 ID:IGsQOpXK0.net mailto: >>382 secure [] [ここ壊れてます]
398 名前:デフォルトの名無しさん (スップ Sd72-a31+) mailto:sage [2017/02/14(火) 09:38:53.47 ID:dFgeiJZpd.net] idlをビルドしたときに作られる _p.c _i.c .h はコンパイラによって中身に差は出てくるけど 内容までは気にしなくて良いもの??
399 名前:デフォルトの名無しさん (スップ Sd72-RX11) [2017/02/14(火) 11:14:58.25 ID:T4QzsHFxd.net] void hoge { static string a; } void hage { thread_local string b; } int main() { hoge(); hage(); } とした場合aとbのデストラクタが呼ばれる順番の規定はどうなってますか
400 名前:デフォルトの名無しさん (スップ Sd72-a31+) mailto:sage [2017/02/14(火) 12:12:14.85 ID:dFgeiJZpd.net] >>392 cプラスはデストラクタは定義しないとないんじゃなかったっけ プログラム終了時は呼ばれるのだろうか
401 名前:デフォルトの名無しさん (ワッチョイ b330-t3CD) mailto:sage [2017/02/14(火) 12:20:58.70 ID:mNVQx7P30.net] シングルスレッドなら構築の逆順
402 名前:デフォルトの名無しさん (ワントンキン MM62-xxX2) mailto:sage [2017/02/14(火) 12:24:34.00 ID:cBGBFD/aM.net] マルチスレッドでも同じだで
403 名前:デフォルトの名無しさん (スップ Sd72-RX11) [2017/02/14(火) 12:26:56.53 ID:T4QzsHFxd.net] gcc6.2でやってますが順番を変えてもaのデストラクタが先に呼ばれます
404 名前:デフォルトの名無しさん (JP 0H4b-EsWW) mailto:sage [2017/02/14(火) 13:00:32.03 ID:he6YB8dMH.net] そいつら main と関係ないとこで呼ばれてるべ しかし記述順にかかわらず b が先じゃないとまずいんじゃないの
405 名前:デフォルトの名無しさん (スップ Sd72-RX11) [2017/02/14(火) 13:15:37.14 ID:T4QzsHFxd.net] ちゃんとmainのそれぞれの関数内で順番通りコンストラクタは呼ばれてます デストラクタは逆順にならないです
406 名前:デフォルトの名無しさん (ワッチョイ 93c9-3u4T) mailto:sage [2017/02/14(火) 13:39:07.66 ID:aNlWux3V0.net] >>392 3.6.3 Termination 段落1 『The completions of the destructors for all initialized objects with thread storage duration within that thread are sequenced before the initiation of the destructors of any object with static storage duration.』
407 名前:デフォルトの名無しさん (スップ Sd72-RX11) [2017/02/14(火) 14:23:27.77 ID:T4QzsHFxd.net] そのスレッド内のスレッド記憶期間を有する全ての初期化されたオブジェクトに対するデストラクタの完了は、静的記憶期間を有するオブジェクトのデストラクタの開始前に順序付けられる。 thread localはstaticの前に順序付けられる?
408 名前:デフォルトの名無しさん (ワッチョイ 93c9-3u4T) mailto:sage [2017/02/14(火) 14:33:18.78 ID:aNlWux3V0.net] thread_localのデストラクターの完了はstaticのデストラクター開始前となる つまりthread_localのデストラクターが先
409 名前:デフォルトの名無しさん (ワッチョイ df7b-3cRu) mailto:sage [2017/02/14(火) 14:43:39.35 ID:DbhRLpyW0.net] 英語読めねーザコにはC++は早い
410 名前:デフォルトの名無しさん (スップ Sd72-RX11) [2017/02/14(火) 14:54:00.41 ID:T4QzsHFxd.net] でもthread localのデストラクタが後に呼ばれているようです
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] コンパイラが省略するかもしれないから