- 1 名前:デフォルトの名無しさん [2014/07/31(木) 19:14:13.79 ID:17Xd3Yqq]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 ◆ソースのインデントについて 半角空白やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのも手ですが直接貼る場合は、 全角空白か に置換すると見栄えだけはよくなります。 前スレ 【初心者歓迎】C/C++室 Ver.91【環境依存OK】 peace.2ch.net/test/read.cgi/tech/1400394837/ 【アップローダー】(質問が長い時はココ使うと便利) codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック) ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
- 35 名前:デフォルトの名無しさん mailto:sage [2014/08/03(日) 22:50:17.34 ID:1KfsaatJ]
- 問題原因の切り分けをするときはまず絶対パスだな
- 36 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 00:16:53.93 ID:cek/HGoY]
- >>35 切り分けできる男
>>34 切り分けできない男
- 37 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 02:14:34.43 ID:LgeiXwf0]
- クラスをnewして失敗した時の動作はどうするのがポピュラー?
・if( == NULL) ・try catch ・他(プロセス強制終了etc)
- 38 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 02:21:35.90 ID:cy2se7Pq]
- そもそもなんでnewするんだ?
先ずはそこからだ。
- 39 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 02:36:26.93 ID:VfXJ4NBK]
- newの失敗は、メモリ不足などのシステム要件のエラーだから、
プログラムでどうこう出来るものではない メモリを多くするなど、システム要件を満たす環境に、 変えてもらうしかない
- 40 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 02:38:52.49 ID:NH51Dz+L]
- 限界はあるけど使用量を少なくするように工夫するぐらいはあるだろ。
- 41 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 03:23:26.97 ID:LgeiXwf0]
- ありがとう
>>38 論点とずれてる気がするが WM_DESTROYで使用できなくなる機能Aをデストラクタで使用する場合 static宣言してるとWM_DESTROY後にデストラクタが呼ばれて機能Aを使用しようとして停止する それを回避するために deleteクラス →機能A解放 ってやるようにしてる >>39-40 つまり基本的には失敗=プロセス異常終了でもokと言う事でいいのかな
- 42 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 05:36:16.73 ID:VfXJ4NBK]
- OSにも、2GB以上などのメモリの要件があるのと同じで、
使用条件を満たしていなければ、どこかでシステムダウンする ただし、プログラムのバグや、何万回も再帰したのなら、 プログラマーの責任
- 43 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 06:05:08.09 ID:hDvHywGx]
- メモリは使い切ってなくても
メモや断片化で希望のサイズが 確保できなくて失敗することがある
- 44 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 06:23:01.79 ID:UAhHAw7M]
- >>37
> クラスをnewして失敗した時の動作はどうするのがポピュラー? って聞かれたら、ファイルをほぞんするとか、再起動して回復を図るとか、ログ取ってそのまま終了とか... って答えるんだが。 なので、 > ・if( == NULL) > ・try catch と > ・他(プロセス強制終了etc) は、レベルが違うように思う。
- 45 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 12:20:39.89 ID:dahEKpKn]
- >>24
カメレス 怖くないっすか
- 46 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 13:38:12.42 ID:FbNkdJ2c]
- 少なくとも「プロセス終了。ハンドルされない例外」とユーザーに表示されるのと
「エラーが発生しましたお問い合わせください」と表示されるのでは ユーザーの怒りの度合いが違う。 どうしようもないので何をしてもいいというのは 犯罪は犯す奴が悪いので警察は要らないという程度に乱暴な発想
- 47 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 15:44:51.27 ID:hieQ0nGz]
- 何をしてもいいとはだれも言ってなくないか
プログラム側でメモリ不足をどうしようもないってのは、 カギを閉めても窓を割られたらどうしようもないから、その時は警備会社と警察に任せるよという程度に普通の発想だと思うが つーかエラー表示をどうしたらいいかって質問でもないしな
- 48 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 15:59:27.42 ID:jcCYniN9]
- 問題が発生した瞬間のプログラムの動作
について質問している>>37にたいして アスペは 「メモリを増やすしかない」 「警備会社に任せて事後処理するのが普通」 などとずれたことを言い出すから困る
- 49 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 20:48:03.69 ID:UAhHAw7M]
- >>48
>>37 の質問自体がちょっとずれてるから無問題
- 50 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 21:43:04.51 ID:4x8QxR6V]
- Windowsで自作のC++のライブラリで、関数実行時のエラーコードをどうするか
悩んでいます。とりあえずwinerror.hで定義されているエラーコードを そのまま流用する方式で行こうかなと思うのですが、どうでしょうか? return ERROR_SUCCESS; みたいに。 他に良い方法ありますか?
- 51 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 21:47:18.34 ID:NH51Dz+L]
- >>50
Windows意外で使わないならそれでもいいんじゃない?
- 52 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 22:00:41.67 ID:4x8QxR6V]
- >>51
レスありがとうございます。 Windows以外でも使う場合は、どうすればよいでしょうか?
- 53 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 22:02:28.90 ID:LgeiXwf0]
- ありがとう
>>42,43,44,46,47 できなかったらその時点でできる終了処理と通知して終了する事にするわ >>44,49 > ・他(プロセス強制終了etc) ってのは自分が思いつかない何かがあるかも知れないから書いただけで他意は無いよ プロセス強制終了はetcつけたからわかると思ったけどあくまで例えね
- 54 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 22:34:49.43 ID:UAhHAw7M]
- >>53
いや、例なのはわかってる if( ) とか例外はメモリー確保失敗を検出する方法で、プロセス終了はそのあとの動作でしょ? なので if( ) でチェックしてプロセス終了させるとかのように使うから、選択肢として並べるのはおかしい。 みんな親切だから、多分確保失敗時にどうするのが普通なのかを聞きたいんだろうなと、推測して答えてるんだろうと思う。 だから、誰も if( ) とか try に触れてないでしょ。 もしプロセス云々書いてないなら、好きにしろとか言われて終わってたと思うぞ。
- 55 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 22:36:00.54 ID:eWAxusEw]
- www.buzzword.jp/img/face10.png
- 56 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 22:55:06.04 ID:LgeiXwf0]
- >>54
○○だからifの方が〜 ××だからtry catchの方が〜 異常終了前は△△した方が〜 ってのを期待して3つ書いたけど ・判定は(if) or (try catch) どっちが主流か ・判定後から終了までの処理はどんな感じが主流か って感じの書き方の方がよかったかな 3つから選んでって意味では無かったすまん if or tryは好きにでいいのかありがとう
- 57 名前:デフォルトの名無しさん mailto:sage [2014/08/04(月) 23:17:17.44 ID:zBF47n0e]
- 少なくともC++ではメモリ確保出来ないときにnullポインタチェックは(new( nothrow)使うのが)一般的ではないな。
- 58 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 05:27:27.61 ID:B8XLPQcD]
- デストラクタが走るタイミングを制御したくてnewしたいだけなら、
そもそも確保に失敗することもないような。 それはさて、フェーズに分けて考えるなら、こんなもんだろ。 ・検出 try catch ・対処 可能ならダイアログを出して異常終了
- 59 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 05:30:00.42 ID:ANChekkV]
- 殺人トラクターに見えた
- 60 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 23:23:02.28 ID:P2cYkmKJ]
- VBScriptファイルをC++で実行したいのだが、くぐっても良く分らないのだが、
そもそも可能なのか知りたいのだが、可能な場合デバッガーでステップ実行 出来るのかな?
- 61 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 23:31:11.10 ID:JYX/3P/h]
- >>60
たぶん自分が何をしたいのかがよくわかってないと思う ところでくぐるってなんだ?ググるのことか?
- 62 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 23:39:31.76 ID:AfbB56Nf]
- VBSをJavaバイトコードかLLVMに翻訳して処理系を作れば?
- 63 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 23:44:05.44 ID:AfbB56Nf]
- >>60
「コンパイラ・スクリプトエンジン」相談室16 peace.2ch.net/test/read.cgi/tech/1405822579/
- 64 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 23:48:46.07 ID:P2cYkmKJ]
- >>61,62,63
レスありがとさん。 いや、そんな高度な事したいのではなく(やる知識もないので)、 やりたいのは string s1="VBScriptファイルの1行目"; string s2="VBScriptファイルの2行目"; string s3="VBScriptファイルの3行目"; ... execute_VBScript(s1); execute_VBScript(s2); execute_VBScript(s3); ... 的な感じでいいんだけれど。
- 65 名前:デフォルトの名無しさん mailto:sage [2014/08/05(火) 23:59:50.28 ID:AfbB56Nf]
- codezine.jp/article/detail/1827
これはJScriptの場合だが(以下略
- 66 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 00:10:58.30 ID:hW+yaDMz]
- >>65
おお、サンキュウ。このページは初めて見る。 ちょっと試してみるわ。
- 67 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 00:28:06.25 ID:hW+yaDMz]
- それは砂丘の座敷わらしだろ
- 68 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 00:29:28.55 ID:hW+yaDMz]
- ああ、間違えた。
- 69 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 00:43:44.34 ID:ejJORmgK]
- なんだこの座敷童。
- 70 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 01:08:15.49 ID:hW+yaDMz]
- ちょっと試してみたのだけれど、JScript版をVBScriptに
移植する能力が無いので困っている。
- 71 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 02:24:54.75 ID:Rc+eyo3S]
- DLL内の関数で
class { public: void func(void); }; このfuncをexeから利用する事ってどうやればできる? それともfuncをクラス外に出すのが普通?
- 72 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 03:00:47.98 ID:Wb6IUvWi]
- ttp://msdn.microsoft.com/ja-jp/library/81h27t8c.aspx
vsならこれでできる
- 73 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 03:28:23.21 ID:q+H8JIOY]
- >>72の方法って、.libでエクスポートする場合に有効な方法で、
.DEFなどによる名前でエクスポートする場合には使えないんじゃなかったっけ? .libでエクスポートする場合DLLがアップデートされDLL内の(classのメンバ)関数の アドレスが変わったらそれを使うEXE(やDLLなど)もリビルドが必要。 アプリのプラグインDLLやWindowsUpdateなど、DLLのみ差し替えても EXE(やDLLなど)をリビルドせずそのまま使える "名前でのエクスポート" で DLLを実装したいなら、仮想関数テーブルを挟むのがポイントですね。 ※ ↓「サクラ」を「sakura」に変えてください(sakuraのURLを書こうとすると「さくらが咲いてますよ。」で書けない) blackscarecrow.サクラ.ne.jp/junk/C&C++/PP03.htm のサンプルコードが分かりやすいかも。 間違ってたらすみません。
- 74 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 07:17:14.75 ID:PEaAzLNP]
- >アップデートされDLL内の(classのメンバ)関数の
>アドレスが変わったらそれを使うEXE(やDLLなど)もリビルドが必要 んなわけねーだろ
- 75 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 08:24:14.21 ID:3bVUJ5Fe]
- >>73
.defはたしかにC++では使えんが、dllexportならC++のクラスやメソッドも名前がexportされるから 別に問題じゃない。 #コンパイラの混在はできないが。 逆に仮想関数はvtable内の位置が変わるとまずいから、よくわかってないなら避けたほうが無難。
- 76 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 08:42:42.67 ID:sXmmxXua]
- コンパイラの混在はけっこう不安要素だね
古いVSに新しいVSで作ったDLLが結合できなかったりしそう
- 77 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 08:43:27.11 ID:Wb6IUvWi]
- そういう時こそCOMですよ
- 78 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 13:48:02.21 ID:hW+yaDMz]
- Win7のVS2013のC++で
MessageBox()を表示した時にタスクバーに表示されるアイコンを 指定する方法ありますか?
- 79 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 13:50:22.52 ID:7Yid+G+a]
- メッセージボックスごときがタスクバーに顔を出さないでください
- 80 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 13:53:43.62 ID:hW+yaDMz]
- >>79
普通にやったらタスクバーにアイコンが出るんですが。 皆さん、出ませんか?
- 81 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 15:56:18.98 ID:N2WBO7yk]
- でない。
hWndを0にするとアプリと重なって出るけど…
- 82 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 16:10:52.00 ID:WSzGEN/V]
- 質問失礼します。
入力画像が、複数あるテンプレート画像の中のどの画像と最もマッチングしているかをSURFを使って調べるにはどうしたらよいでしょうか。 よろしくお願いします。
- 83 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 16:12:58.71 ID:3t2H8u7I]
- MessageBoxに限らず、システムメニュー持ったwindow で
オーナーが NULL なら、タスクバーに積み重なってくけど、 非NULLなら タスクバー上には出ない
- 84 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 16:19:36.33 ID:3t2H8u7I]
- >>82
ここいらへん ttp://aidiary.hatenablog.com/entry/20091102/1257167398 から続けて読むともしかしたら 入力画像から得られる 特徴量ベクトル郡Vs テンプレート画像の 特徴量ベクトル郡Vt x テンプレートの種類分 特徴量ベクトルのつきあわせ
- 85 名前:デフォルトの名無しさん [2014/08/06(水) 20:02:55.18 ID:hW+yaDMz]
- アプリ実行時に使う2キロバイト程のテキストデータを
現状はテキストファイルから読み込んでいる のですが、それだとまる見えなので、プログラム中に 入れてしまいたいのですが、 char data[]="テキストファイルの中身をここに貼り付ける" みたいな方法以外にお勧めな方法有りますか?
- 86 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 21:45:58.99 ID:MTWJpzk3]
- 拡張子を.unkoにする
- 87 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 22:21:35.52 ID:1M326YIX]
- >>85
Windows ならまずリソースに入れることを検討するのでは?
- 88 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 22:52:26.07 ID:CTQUcynJ]
- データ=リソース
という短絡的発想がバカっぽい
- 89 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 23:03:24.22 ID:Rc+eyo3S]
- 非難だけして解決策は無いレスは気にしなくていいからな
- 90 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 23:08:55.87 ID:PY3MTauC]
- て言うか、プログラムと一体化 ⇒ リソース は珍しくない
>>88 は観点がちょっとおかしい
- 91 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 23:53:57.11 ID:l8HQ1jfJ]
- >>89
ブーメラン乙
- 92 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 00:38:43.18 ID:zC3TsviY]
- >>88と>>90は無限ループ
- 93 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 01:19:10.54 ID:1cACSwRn]
- >>92
ループの意味がわからん >>89 と >>91 ならまだしも
- 94 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 01:54:45.98 ID:3T9P4myy]
- >>85
つ ユーザー定義リソース 何でも抱けるよ
- 95 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 08:15:40.74 ID:OmP50o4u]
- >>74,75
そうなんですか。訂正ありがとう。 >>75 名前がエクスポートされるって言っても、 「zzz@@aaa」とか記号の並んだ文字列として…じゃなかったかな? あと、stdcallにすればコンパイラ混在しても大丈夫では? たびたびスミマセン。
- 96 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 11:01:52.77 ID:7UtLjkdT]
- 関数ポインタpFuncがNULLならpDummyFuncを呼びたいんだけど
pDummyFuncがクラスのメンバ関数の場合どうすればいいかな?
- 97 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 11:33:51.91 ID:JKDdryz1]
- みなさんありがとうございました。
リソースファイルでうまく行きました。
- 98 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 11:42:42.26 ID:qKlYqGRI]
- >>96
std::functionで
- 99 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 13:03:07.98 ID:7UtLjkdT]
- >>98
ありがとう 関数ポインタpfuncがNULLの場合何もしないようにするのはどうすればいいかな typedef VOID (WINAPI *Sample)(VOID) ((Sample)pfunc)() この場合 if(pfunc == NULL) { ((Sample)pfunc)() } とするしかない? というのは呼ぶ時に分岐するんじゃなくて内部で分岐させるために1つ関数挟んで BOOL check(result, pfunc) { if(pfunc == NULL) { return FALSE; } result = pfunc; return TRUE; } if(((Sample)check(&result, pfunc))() == FALSE){ //nullだった } どうにかしてこんな感じにできないかな
- 100 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 13:17:50.40 ID:7UtLjkdT]
- 前半
正 if(pfunc != NULL) 誤 if(pfunc == NULL)
- 101 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 13:20:19.39 ID:gf97lcsK]
- 何したいのかわからん
check()の返り値はboolでしょ? nullチェックはできるようだし何を聞きたいのかも分からん
- 102 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 14:18:26.01 ID:7UtLjkdT]
- >>101
わかりにくくてごめん やりたい事としては check(result, pfunc) // 引数を指定してpfuncを渡したい →pfuncがNULLならFALSEを返す →pfuncがNULLじゃなければpfuncを実行してpfuncの戻り値をresultへ格納してTRUEを返す でこのpfuncの戻り値・引数の型や数は一定ではない こんな場合checkを呼ぶ時点でpfuncの引数を指定するのはどうやったらできる? 自分でも意味わからんようになってきたわ
- 103 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 16:46:06.51 ID:7QbgVQGZ]
- すごく乱暴な方法だけど、マクロ経由のインライン展開かねぇ
codepad.org/W8080HvO 制限: 関数ポインタ部分は リテラルの 0 や NULL を渡せない 変数経由でよろ
- 104 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 16:56:01.26 ID:7QbgVQGZ]
- 追補: pfunc が 戻り void の関数ポインタ になるのはだめー
- 105 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 18:58:47.05 ID:gmnku58x]
- C++なら可変個引数テンプレート一択
Cなら可変個引数のマクロだろ あVisual C++には無いんだっけ?
- 106 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 21:02:01.27 ID:7UtLjkdT]
- >>103
ありがとう! >>105 VC++でも macro(value1, ...) sample(value1, __VA_ARGS__)でできるよ
- 107 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 23:20:45.31 ID:yuOaZbMp]
- >>95
「マングリング」でググれ。 マングリング規則はコンパイラごとに違うから混在はできないものと思っていたほうがいい。 呼び出し規約の話とはまた別だ。
- 108 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 23:33:38.33 ID:PVmoVqTz]
- 引数のスタックへの詰み順
(スタックの巻き戻しを呼び出し側でやるか、呼び出され側でやるか) まだ何かあるんだろうな 呼び出し規約
- 109 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 23:39:20.38 ID:GYiGBmdZ]
- 64bitになって情報が錯綜したことで呼び出しはさらにカオスに
- 110 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 00:45:04.00 ID:B23vVFp/]
- 64bitはfastcall固定だろ?
- 111 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 00:51:34.75 ID:m6I/Kwd1]
- バカは新たに覚えることが一つ増えることが大きなストレスなので
- 112 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 01:39:02.11 ID:KHsP8XKA]
- __vectorcallは別物だっけ?
- 113 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 22:48:59.68 ID:x6pgPkV/]
- c++での重力多体問題のプログラムについての質問です。
物体同士の距離を計測し、その間に働く力を調べるという単純なものです(計算回数は物体数の二乗になる)。 このプログラムで扱える物体数の限界を知りたいのです。 パソコンのスペックや限界をどう決めるかにも依ると思うので物体数と計算時間の関係式を教えてくれませんか? 一応自分でも考えてみました 計算時間=(物体数^2 × 1ループのステップ数)/CPUのクロック数 で求めることが出来そうだと考えたのですが、四則演算やその他演算などのステップ数が分かりませんでした。
- 114 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 23:53:46.60 ID:01BFu9Gu]
- >>113
計算式にもよるしCPUの種類にもよる。 実験して計測すれば、1ループあたりの時間がわかるから、 あとは物体数から全体の時間が推定できるでしょ。
- 115 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 23:58:20.12 ID:gKCHEkZ/]
- try {
} catch(int i, char *&s) { } こんな感じで複数の引数で例外をcatchってできる? できるとしたらthrowする時どう書けばいい?
- 116 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 00:36:57.87 ID:kN50ePbr]
- >>115
出来ない。 std::exception派生してメンバに入れろ。 tupleで括ってthrowも出来るけどそもそもstd::exeption以外をthrowするのはあまりよろしくない。
- 117 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 00:43:50.18 ID:6vo/MVse]
- >>116
ありがとう
- 118 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 04:44:32.02 ID:6vo/MVse]
- こんな感じで可変引数を展開せずにそのまま別の関数の引数にするってできる?
func(format, ...) { func2(format, ...); }
- 119 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 04:52:21.78 ID:RARSJSh7]
- もちろん
- 120 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:02:40.10 ID:AkXpz4Sp]
- いいえ、できません
- 121 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:03:29.08 ID:sPU18Xtd]
- >>118
func2()がvprintf()などのようにva_listを受ける関数ならできる。 逆に言えば、func2()のプロトタイプがfunc1()と同じならできない。 func1()内で環境依存の方法を使えば、或いはできるかも知れんが。
- 122 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:38:12.95 ID:6vo/MVse]
- >>121
ありがとう
- 123 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:38:39.99 ID:tuwrl1wM]
- >>116
>std::exeption以外をthrowするのはあまりよろしくない 理由は?
- 124 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:49:28.67 ID:kN50ePbr]
- >>123
受け取る側が対処しづらい。
- 125 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 08:25:13.71 ID:s/pNwkYb]
- wchar_tに対応してない糞なstd::exceptionは使う気がしません
- 126 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 09:13:14.64 ID:kN50ePbr]
- wchar_tってなににつかうの?
- 127 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 09:40:59.82 ID:Vxx37Jb0]
- そんなにwchar_tが必要なら
派生して対応させればいいだろう。
- 128 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 10:12:48.97 ID:+T7xdrkU]
- > 受け取る側が対処しづらい。
意味わからん、>>124 が対処できないだけじゃね? >>125 ほんこれ、そろそろなんとかしてほしいもんだ。
- 129 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:10:41.36 ID:aGEftFoO]
- >>114
ありがとう
- 130 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:13:49.49 ID:Vxx37Jb0]
- 完全に中で閉じて使う分にはどうでもいいんじゃね。
まあそういうつもりの仕様すら公開されていない例外が、間違って外に漏れてきたら 取り合えずstd::exceptionで受けてwhatで 素性を見てみたくなるな。
- 131 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:22:15.53 ID:gYP0Auob]
- 今更wchar_t使うメリットって何よ
- 132 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:23:23.89 ID:RARSJSh7]
- 今更char使うメリットって何よ
- 133 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:31:22.87 ID:gYP0Auob]
- >>132
wchar_tよりマシ。
- 134 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:32:58.93 ID:Vxx37Jb0]
- utf-8で扱うのが楽すぎて
- 135 名前:デフォルトの名無しさん [2014/08/09(土) 12:39:57.76 ID:gH6dyz5c]
- wchar_tの_tって何?
wchar のほうが良くないか
|

|