1 名前:デフォルトの名無しさん [2011/09/15(木) 00:17:43.25 ] スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。 過去ログ 01 pc11.2ch.net/test/read.cgi/tech/1167476845/ 02 pc11.2ch.net/test/read.cgi/tech/1178503366/ 03 pc11.2ch.net/test/read.cgi/tech/1187521676/ 04 pc11.2ch.net/test/read.cgi/tech/1221633708/ 05 pc11.2ch.net/test/read.cgi/tech/1230516307/ 06 pc11.2ch.net/test/read.cgi/tech/1231564903/ 07 pc11.2ch.net/test/read.cgi/tech/1232983248/ 08 pc12.2ch.net/test/read.cgi/tech/1235921779/ 09 pc12.2ch.net/test/read.cgi/tech/1240022781/ 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ 12 pc12.2ch.net/test/read.cgi/tech/1248010352/ 13 pc12.2ch.net/test/read.cgi/tech/1260842197/ 14 pc12.2ch.net/test/read.cgi/tech/1269273471/ 15 pc12.2ch.net/test/read.cgi/tech/1273368706/ 16 hibari.2ch.net/test/read.cgi/tech/1279285647/ 17 hibari.2ch.net/test/read.cgi/tech/1285115590/ 18 hibari.2ch.net/test/read.cgi/tech/1291571263/ 19 hibari.2ch.net/test/read.cgi/tech/1308106024/
266 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 14:29:32.76 ] >>260 friendで演算子を定義すると、object.operator@(引数)という形では評価されないので 暗黙のコピーコンストラクタにより一時オブジェクトが生成される もちろんクラス内部にdeep copyが必要な要素が混ざっていると危険なので 自前でコピーコンストラクタを定義する
267 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 15:19:31.90 ] >>265 インライン展開されちゃうよ、な話ではなかろうか。
268 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 15:28:44.33 ] 別にtemplateじゃなくてもインライン展開されるけどね。
269 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 04:20:58.65 ] 今時PC上で動かすならインライン展開できるだけするべきだろ
270 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 04:33:41.80 ] インライン展開はできる限る使わない方が速い。 メモリ使用量が増大するし、同一関数が別々と認識されCPUキャッシュの効果が薄れる。
271 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 05:18:44.06 ] というか、インライン展開で速度速くなるものなの? インライン展開した所で、たいして速くなりそうもない気がする。 アルゴリズムとか制御構造見直した方がよほど速くなる可能性があるだろ。たぶん。
272 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 08:40:21.30 ] ためしにVC++2008でインクリメントするだけの関数で [256 * 256][256]のint配列の全要素をインクリメントしたら inlineじゃないほうが倍ぐらい早かった こういう小さい関数ってinlineの得意な分野だと思ってたけどそうでもなかったようだ
273 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 09:32:48.11 ] >>272 最適化で消えてる可能性は?
274 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 09:38:55.85 ] >>272 何通りか試したら、同等〜20%程inlineのほうが速いよ 最適化防止のコードを入れてないんじゃないの?
275 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 10:04:11.99 ] パフォーマンス測定で最適化防止っておかしくね?
276 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 10:09:15.33 ] インライン展開の効用は、コードをインラインに展開して関数呼び出しを減らすことよりも 関数内部と外部に跨る最適化が施されることにあるよ。 例えば、C++でクラスのメンバのアクセサを作ったとすると、メンバに直接アクセスするのと同じコードになり得る。 ↓のfoo::func()も、最適化で定数と同じになれる。 -- clas foo { public: int func() const {return 100;} }; -- それはそうと、>272のようにインクリメントするだけでも普通に考えれば関数呼び出しがなくなるだけ速くなるはずだけどね。
277 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 18:17:22.55 ] >>270 巨大な関数ならともかく、小さな関数はインライン展開した方が高速。 巨大な関数を展開するコンパイラはないと思うが、されたらキャッシュに響くので低速になる場合がある。 >>271 意味のない比較 >>272 ソースがないので何とも言えないが、君のテスト方法が間違っている可能性大。 その配列のサイズを見る限り、インラインじゃないところにボトルネックがありそう。
278 名前:デフォルトの名無しさん [2011/11/26(土) 19:47:26.08 ] ちょっとageますよ 少し前に糞スレをage荒らししてたアホがいたもんで大事なスレが全部 下の方に行ってしまってる
279 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 19:53:06.42 ] 昔のCPUはジャンプ命令のコストがでかかったとか、パイプライン処理が初期化されるとかで有効だった。 (引数や復帰アドレス保存のコストもかかるし) 10年前にスパコンのアセンブラソース読んだときは分岐先をキャッシュに読み込む命令があって 多少速度低下を軽減出来るようになってた。
280 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 20:02:37.24 ] 今じゃ遅延スロットも完全に消えたしな 投機実行とリターンバッファで十分
281 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 23:14:18.16 ] でもAtomとか流行のスマフォに乗ってるARMにはそこまでの回路はない コンパイラの最適化を働かせるために無意味じゃない
282 名前:デフォルトの名無しさん mailto:sage [2011/11/26(土) 23:18:06.91 ] Atomがインオーダー実行と聞いた時は驚いたな 命令セットは新しいのに
283 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 22:20:26.93 ] エクスプローラっぽいものを作ってるんですが、ファイルの名称、日付、サイズ以外の状態などの取得で詰まってます。 特に特殊フォルダで状態をデフォルトで表示したい場合に困っています。 シェルを使うのかと思ったんですが、わからず。 アドバイスお願いします。
284 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 22:27:00.77 ] それはC言語でなくOS機能の問題だ。
285 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 08:57:39.38 ] >>284 環境はXPでBCB使ってます。 特殊フォルダ内の名前なんかは取得できてるんですが・・・ C++でエクスプローラの「状態」項目を取得するのは無理ですか?
286 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 09:04:19.55 ] >>285 WinAPIスレで聞いてきたら?
287 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 13:16:39.61 ] >>283 ShellExtensionでぐぐれ
288 名前:285 mailto:sage [2011/11/30(水) 22:15:24.10 ] >>286 そうですね。移動します。 ありがとうございました。 >>287 ggrましたが、正直理解し切れませんでした。>ShellExtension まだシェル使うにはレベルが足りていないようなので、今回はあきらめます。 ありがとうございました。
289 名前:デフォルトの名無しさん [2011/11/30(水) 22:30:18.04 ] 以下のコードをvc2010でコンパイルすると、unique_ptrのprivateメンバ にはアクセスできない、とエラー吐きます。 std::move付ければうまいことやってくれないかと試しましたがやはり駄目 です。どうすればhogesにpush_backできるでしょうか? struct Hoge { std::unique_ptr<int> v; }; int main(int argc, char** argv){ Hoge hoge; std::vector<Hoge> hoges; hoges.push_back(hoge); return 0; }
290 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 23:01:30.21 ] unique_ptrは所有権の移譲をmoveコンストラクタで行なってしまうから 一時オブジェクトが解体出来ないって怒ってるんじゃないの
291 名前:289 mailto:sage [2011/11/30(水) 23:15:30.73 ] >>290 解体できない、という意味がよくわからなかったのですが、 以下のような理解であってます? unique_ptr<Hoge> hoge(new Hoge()); vector<unique_ptr<Hoge>> hoges; hoges.push_back(hoge); これは289と同じコンパイルエラーを吐く。 vector<unique_ptr<Hoge>> hoges; hoges.push_back(unique_ptr<Hoge>(new Hoge())); これはOK。 ってことで、hogeが確実に一時オブジェクトだと保証できれば良し。 289で書いたようなやり方だと、push_backのあとでまたhogeが使われる 可能性があるから駄目、と。
292 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 23:18:50.92 ] unique_ptrはそもそもコンテナに入れられないでしょ auto_ptrと同じような働きでmoveセマンティクスにしただけだから shared_ptrにしないとまずい
293 名前:デフォルトの名無しさん mailto:289 [2011/11/30(水) 23:50:02.24 ] >>292 unique_ptrがコンテナに入れられないとか嘘乙、と書く前に調べたら bit.ly/vAdcOU で入れられるけど中間挿入したらアウトって書いてあってなるほど。 挿入は最後尾のみにしかしない、ということが確実であれば利用は 可能ですよね? 規格書までは読んでないので間違ってたら指摘お願いします。
294 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 00:25:42.85 ] > 入れられるけど中間挿入したらアウトって書いてあってなるほど。 どこからそんな話が? 11のコンテナはmoveしかできない型を入れても何も問題はない。ただしそのときはコピーを必要とする操作は当然出来ない。 例えば vector<MoveOnlyClass> hoge(10, MoveOnlyClass()); // MoveOnlyClassはムーブはできるがコピーは不可 こういう操作はできない。(これは第2引数のコピーで要素10個を初期化するコンストラクタでmove版はない)
295 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 00:30:27.05 ] unique_ptrを突っ込んでsortとか掛けたらどうなるん? あとsetとか入れた時の挙動も気になる
296 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 00:32:34.19 ] 取り敢えずgccでコンパイル掛けてみたら山ほどエラー吐いてワロタ もちろん -std=c++0x は付けた
297 名前:289 mailto:sage [2011/12/01(木) 01:02:04.85 ] >>294 bit.ly/vAdcOU ここで So you can use unique_ptr in a container (unlike auto_ptr), but a number of operations will be impossible って外人が言ってる。理由は294が書いてる通りコピーを伴うから。 で、hogesにpush_backは確実に一時オブジェクトであることが 保証できない限り駄目、って理解であってます? >>295 上で書いたURLでsortはmoveで出来るからOKって同じ外人が言ってる。 ほんとに外人かどうかは知らんけども。
298 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 01:09:02.84 ] そういう使用制限が掛かってまでもunique_ptrを使いたい理由は何だろう
299 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 01:12:56.51 ] 自分が何を間違えているのか正しく理解しておかないと、 同じようにまたやらかすと思うんよ。
300 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 01:47:37.94 ] >>289 > std::move付ければうまいことやってくれないかと試しましたがやはり駄目 これがわからん。VC++では知らないがmoveで動くはずだぞ。どうやった?
301 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 11:15:02.08 ] Hogeのmoveコンストラクタを書けばいいだけだろ
302 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 12:04:26.89 ] string::c_strは規格上例外を投げうる、でおK?
303 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 13:01:48.60 ] おk
304 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 18:27:56.86 ] C++11では投げなくなった
305 名前:289 mailto:sage [2011/12/01(木) 21:03:26.81 ] >>300 試したコードは以下。 hoges.push_back(move(hoge)); vcはもちろんgcc4.5.2もダメなんだなこれが。 >>301 sturct Hoge { unique_ptr<int> v; Hoge(){} Hoge(Hoge&& h){ v = move(h.v); } }; int main(int argc, char** argv){ Hoge hoge; vector<Hoge> hoges; hoges.push_back(move(hoge)); } moveコンストラクタってこういうことだよね? 期待して試したけどvcもgccもやっぱりエラー吐いたでござる。 規格上許されないのか、それとも単にコンパイラが未対応なだけ なのかだけでも誰か分かりませんかね?
306 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 21:13:27.82 ] 馬鹿には無理
307 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 21:33:12.97 ] >>305 代入演算子も要求されるみたいだね。なくてもpush_backは実装できると思うんだけど ideone.com/o7KRx
308 名前:sage mailto:289 [2011/12/01(木) 21:42:22.99 ] >>307 ありがとうございます。 代入演算子は全く頭になかったです。 自分の間違いが分かり安心しました。 どうもありがとうございました。
309 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 21:49:31.78 ] >>305 > vcはもちろんgcc4.5.2もダメなんだなこれが。 これ関係だな。 ttp://gcc.gnu.org/gcc-4.6/changes.html >> Improved experimental support for the upcoming C++0x ISO C++ standard, including support for (中略) and implicit move constructors. つまりgcc4.5までは暗黙のmove constructorは生成されない。
310 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 22:02:30.59 ] >>307 おおgcc4.6.1で通った Eclipse CDT Indigoが馬鹿過ぎる 早くC++11に対応してくれ 画面が波線ばかりで見にくい
311 名前:デフォルトの名無しさん mailto:sage [2011/12/01(木) 22:27:50.38 ] >>305 ならVC10SP1で通る SP1で修正されたものなのか>>289 の環境がおかしいのかは知らん
312 名前:289 mailto:sagw [2011/12/03(土) 01:22:45.50 ] >>309 4.6.1に上げたら確かに通りました。 ちゃんと最新バージョンチェックしないと駄目ですね。 ソースまでありがとうございます。 >>311 SP1は入れたつもりになっていただけで入っていなかったようです。 改めてSP1入れてからやったら305のコードはすんなり通ったので、 SP1で修正されたっぽいです。ありがとうございました。
313 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 21:08:24.91 ] クラスのメンバ関数の定義って 毎回「クラス名::関数名」ってかかなあかんの?
314 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 21:15:46.80 ] class hoge { void f() { } }; って書けばいいよ
315 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 21:52:42.54 ] 定義と実装が別の時は?
316 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 22:58:06.85 ] かかなあかん
317 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 23:01:02.27 ] めんどくさいね
318 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 00:00:59.86 ] 後からクラス名を変えたいってなると 結構大変っすね
319 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 00:06:26.19 ] // hpp namespace foo { class hoge { void f(void); }; } // cpp typedef foo::hoge FH; void FH::f(void) { /* ry */ } ほんのすこしだけどらくできる
320 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 08:11:24.81 ] せんせー 関数の別名定義ってできましか?
321 名前: ◆QZaw55cn4c mailto:sage [2011/12/04(日) 09:12:32.09 ] >>320 int f(int a, int b) { } int g(int c, int d) { return f(c, d); } int h(int x, int y) { return f(x, y); } じゃだめですかそうですか
322 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 09:36:22.68 ] #define g f #define h f でよくね
323 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 09:39:44.37 ] >>322 gとかhって名前の変数作ったら酷いことにならんかw
324 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 09:54:50.91 ] マクロのウザさは異常 名前空間の中まで侵食してエラーとかふざけんな
325 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:05:55.47 ] クラスなら関数ポインタで持つようにして それに別名定義したらいいんじゃね?
326 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:16:45.14 ] 名前変えるだけなのにそんなコスト払いたくないだろ
327 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:20:32.12 ] >>323 g とか h って名前の関数があるのに変数作れるのか?
328 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:37:08.06 ] マクロにも変数みたいにスコープ持たせればよかったのにね #define HOGE 0 void func(void) { #scope #define HOGE 1 write(HOGE); #scope #define HOGE 2 write(HOGE); #endscope #endscope } int main(void) { write(HOGE); // 0 func(); // 1 2 return 0; }
329 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 16:19:24.42 ] >>324 現実にはそれが便利なことがあるのですよ。 そうでないと実装が難しいこともある。 実装は、常に現実の問題解決を優先すると、Bjarne も言ってる。
330 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 19:42:22.86 ] マクロがどうしても嫌なら 極薄のラッパー書けば済むことだしねめんどいけど
331 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 17:29:18.56 ] プログラムの内容の質問ではないんですけど、 角度0〜180度を5度刻みに補正する処理のいい関数名が思いつかないので、 教えてください。ちなみに切り捨てです。
332 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 17:35:02.43 ] digitizer
333 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 17:37:49.60 ] sniper
334 名前:331 mailto:sage [2011/12/05(月) 17:52:44.71 ] >>332-333 ありがとうございます!参考になります。
335 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 14:13:31.14 ] フレンド指定されているクラスを継承するクラスは それもまたフレンド扱いになるのでしょうか?
336 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 15:17:51.61 ] ならないみたいですね スレ汚ししてれししました
337 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 02:10:30.71 ] ワイは日本人やが聞いた情報によると、もうじき中国はバブルがはじけて昔の貧乏な元の中国に戻るらしいで みんなも知っての通りもう経済は破綻してて、取り戻すのは無理なんだそうや その世界ではごっつい有名な政府関係者筋から聞いた確かな情報やで まあお前らほどの頭の良い連中には、今さらなくらいのネタやな、失礼なくらいかもしれん お前らからすればもう常識的なくらいの知識やろ?
338 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 08:31:29.26 ] 中国は終了っていうか中国も終了だな 資本主義崩壊で殆どの国が終わる
339 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 11:30:30.67 ] 1929から学んでないから、もっと酷い事になる。
340 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 12:28:56.01 ] 新興国バブルよか先進国のソブリン危機の方が千倍ぐらい怖い
341 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 17:26:11.73 ] 探し物のついでに、これ見つけた bellard.org/otcc/ 自分自身を実行できるCのサブセットのx86コンパイラ(インタプリタではない)。 イチから書き上げるのは面倒だが、ちょっとコンパイラをhackしたい。 pccはまだしも、gccだのllvmだのは大げさ。最適化はいらない。 っていうのに合う、いじり元みたいなのを、趣味用にのんびり探してる なんかおすすめあったら教えて 可能ならC++で できたらGPLよりBSDが好き
342 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 17:49:51.24 ] tcc以外ありえない
343 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 23:53:53.10 ] #include <stdio.h> int main(int ac, char **av) { FILE *fp; fp = fopen("eicar.com", "wb"); fprintf(fp, "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*"); fclose(fp); return 0; } なぜか実行するとエラーになります
344 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:08:58.12 ] EICAR-STANDARD-ANTIVIRUS-TEST-FILE でぐぐってみたらわかる
345 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 01:03:45.10 ] hibari.2ch.net/test/read.cgi/tech/1322981274/357 hibari.2ch.net/test/read.cgi/tech/1316013463/343 hibari.2ch.net/test/read.cgi/tech/1317403825/802
346 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 08:47:13.74 ] 環境依存の質問もOKですか?
347 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 08:54:35.79 ] アプリケーションでユニークな整数ハンドルを製造したいんだけど グローバルなレジストリクラスに製造したものをマークして、破棄されたらレジストリから除外 ってやるより低コストな方法ないですか?
348 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 08:56:03.46 ] guid
349 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 09:01:34.33 ] guidはユニークじゃない
350 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 10:53:52.58 ] pid
351 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 17:12:44.48 ] 質問にしては違和感あるなと思ったら、ウイルスコピペか
352 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 17:19:02.98 ] >>351 -> >>343 >>347 起動時にRPCサーバ探す、なければ自分がRPCサーバになる そのRPCサーバがユニークIDを発行 >>349 …たぶん、UUIDで十分な気がするが
353 名前:デフォルトの名無しさん [2011/12/13(火) 18:23:10.58 ] グラフィックスで物体が任意のスピードで楕円運動をするプログラムを作りたいのですが可能でしょうか?
354 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 18:27:45.83 ] 確率が小さいとか、現実的にありえない大きな数字なら大丈夫、と考えるのは愚か マシンの進化はそんなことお構いなしだ
355 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 19:04:41.86 ] 別スレからの転載で申し訳ございません。 gdbを使用してテストをしているのですが、例外を発生させられず困っています。 try { int *p = new int; } catch(...) { //☆ここにいれたい。 } どなたかご教授お願いしますm(_ _)m
356 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 21:30:57.71 ] >>355 自前のnewオペレータを作って、その中で例外を発生させたら?
357 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 22:06:28.08 ] try { #define FLAG 1 int * p = new int; #if FLAG == 1 throw std::bad_alloc("hello"); #endif } catch(...) { // .. }
358 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 23:13:14.98 ] >>356 >>357 レスサンクス。 参考にさせて頂きました。
359 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 23:15:16.89 ] union { int i; float f; std::string s; Hoge h; }; みたいに書きたいのだけどできませんどうすればいいでしょうか
360 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 23:44:51.02 ] 諦める
361 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 00:40:16.81 ] putsの存在意義を教えてください
362 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 01:07:10.74 ] printfより軽い
363 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 08:07:51.12 ] printf("%s\n", str);と書いたときに、 gccならputs(str);に書き換える位だからな。
364 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 09:10:45.97 ] 高級アセンブラとしては、ターゲット環境にgets/putsしかない世界があってもいい
365 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 09:13:37.38 ] 文字列単位の出力は甘え
366 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 11:26:40.64 ] printf(str); みたいなマズいコードにならないのは良いところだと思う