- 1 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 20:20:06.25 ID:o3PNwIlC0.net]
- 次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512 C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part134 mevius.5ch.net/test/read.cgi/tech/1516406742/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1509780815/ ■長いソースを貼るときはここへ。■ 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
- 473 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 16:51:34.89 ID:ueAKslGb0.net]
- ああすまん、何となく1行目の意味は分かった。
・クラスインスタンスをstatic変数に入れ、そのメソッドを呼んだ 事をそう表現したのかな? だったらはっきり言ってstatic云々関係ない。 GCなんて無いから「statc変数に入れたら忘れてGCされてしまう」みたいなことはそもそも無い。 ヒープを壊しているのはユーザーです。つーか、ランタイムもないし。 ガチでコンパイラのバグだと思っているのなら、 どのみち再現コード(その場合は20行程度か)を作るしかない。 その過程で君のバグだと気づけるだろうさ。 ただこのように「下から」デバッグをするのは時間がかかるから、俺は嫌いだけど、 君がそう思うのならやるしかない。 C/C++は広く長く使われて来ている言語だから、 現在もバリバリに使われているコンパイラなら、この辺の基本的な部分にバグは無いと思うよ。 static変数に確保するのはマイナーかもしれないが、滅多にやらないってほどではないし、 そもそも上記の通り、コンパイラにとって危険のある(バグに命中する可能性のある)使い方でもない。
- 474 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 16:59:13.74 ID:9z8isRDe0.net]
- >>460
破壊って何?
- 475 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 17:20:06.35 ID:aIENMcPWd.net]
- ふつうに、
クラスのインスタンスがstatic宣言と読んだけだ static MyClass a; スコープローカルかファイルローカルかはわからん
- 476 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 17:29:35.84 ID:ueAKslGb0.net]
- >>450
>>464 日本語でおk お前は半島に帰れ >>452 それでお前は何パスだと思うのさ? 予言してやる。お前は言えない。 なぜならお前は馬鹿であり、それがばれるのが怖いから。
- 477 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 17:46:24.07 ID:aIENMcPWd.net]
- おれは数学の専門家だぞ
わからないわけがない
- 478 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 17:46:53.04 ID:aIENMcPWd.net]
- なぜ問題を出したのか考えてみ
- 479 名前:デフォルトの名無しさん mailto:sage [2018/04/28(土) 18:39:11.84 ID:ueAKslGb0.net]
- ひとまず俺の一つ目の予言は的中だな。
次に行こう。 >>467 ID:aIENMcPWd お前の日本語の間違いをすべて訂正してみろ。 2つ目の予言をする。お前は言えない。 なぜならお前はゴキブリ韓国人であり、間違いを認識できていないから。
- 480 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 02:23:46.17 ID:UY96NiMha.net]
- C++でプラットフォームに依存しない音楽再生ライブラリってある?特にlinuxで使いたいんだけど。
mpg123とかいうのもみてみたんだけどプログラムに組み込むやり方が分からない
- 481 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 02:25:23.22 ID:kTR2ZRC/0.net]
- MIDAS
- 482 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 07:28:51.71 ID:riHNUW7H0.net]
- Gstreamer
- 483 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 10:01:20.67 ID:4Txko8z40.net]
- 質問ですが
Q1. 浮動小数点型について表現しえる最小の値(負の値のうちの絶対値が最大のやつ)を取得する 環境非依存なやり方はどうすれば良いの? -std::numeric_limits<double>::max()とか -DBL_MAX でおk? Q2. テンプレートを型引数が整数型と浮動小数点型で分けたいんですが 同じ名前のテンプレート名のまま、テンプレートの特殊化的な簡単に済ませる方法は無い?
- 484 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 10:55:07.91 ID:6B047Ccs0.net]
- >Q2
template <typename T, bool = std::is_floating_point<T>::value> struct hoge {}; template <typename T> struct hoge<T, true> {};
- 485 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 11:05:23.85 ID:iHQcqnOH0.net]
- >>472
>Q2. こういう事? https://ideone.com/oWzlMP
- 486 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 13:22:08.35 ID:WuAwAiPA0.net]
- >>472
std::numeric_limits<double>::lowest()
- 487 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 13:56:48.76 ID:4Txko8z40.net]
- まりがとうございます
>>473 >>475 すばらっし >>474 言葉足らずでスマンカッタorz 具体的型名で特殊化する普通の特殊化ではfloatとdoubleのそれぞれについて特殊化した定義を与えねばならないので >>473みたいなやつを求めていたのです!ヽ(>∀<)ノ!!!111!1!
- 488 名前:デフォルトの名無しさん mailto:sage [2018/04/29(日) 15:24:36.24 ID:AQKaesvCd.net]
- たまにはlong doubleも思い出してあげてください
- 489 名前:デフォルトの名無しさん mailto:sage [2018/04/30(月) 23:11:41.90 ID:xhvNrk1GM.net]
- Boost.Optionalを使う際に、
対象クラスが自分自身の有効無効を変更できるようにしようとしてみたところ、 宣言時に宣言対象を引数にとって初期化できることに気づきました。 変数の引数に変数自身を使うのは仕様的にありなのでしょうか? ttps://wandbox.org/permlink/YLKYol7KdEOhpyGU
- 490 名前:デフォルトの名無しさん mailto:sage [2018/04/30(月) 23:32:18.45 ID:9aMn2TSu0.net]
- ポインタか参照なら問題ない
中身は使えない
- 491 名前:デフォルトの名無しさん mailto:sage [2018/05/01(火) 23:40:40.03 ID:dOOCYV+Z0.net]
- CObject obj;
for(i=0; i<N; i++) { obj = new CObject(); ・・・(処理)・・・ } ↑みたいにdeleteせずにnew演算子でクラスオブジェクトを割り振り続けるプログラムってお行儀悪い? CObject obj; for(i=0; i<N; i++) { obj = new CObject(); ・・・(処理)・・・ delete(obj); } ↑こういうふうにすべき? 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
- 492 名前:デフォルトの名無しさん mailto:sage [2018/05/01(火) 23:49:10.85 ID:+P0DkpYu0.net]
- unique_ptr使うべき
- 493 名前:デフォルトの名無しさん mailto:sage [2018/05/01(火) 23:54:52.50 ID:2ADD+YWD0.net]
- 今時newなんかを自分で書いてることに疑問を持ったほうがいい
- 494 名前:デフォルトの名無しさん mailto:sage [2018/05/01(火) 23:55:37.66 ID:b3AAvo5J0.net]
- >>480
お行儀の次元の話じゃない
- 495 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 00:01:31.48 ID:LLl+2Gg10.net]
- 手っ取り早く動かしたいその場限りのコードならそういうことをやることもある
くらいかな
- 496 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 00:09:49.83 ID:HN9ze8O60.net]
- ビンラディン並みのテロリストだな
- 497 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 00:09:55.64 ID:MK7npuGj0.net]
- そんなにお行儀悪いんでつか(´;ω;`)・・・
- 498 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 00:43:03.85 ID:Ve
]
- [ここ壊れてます]
- 499 名前:qNn1690.net mailto: そういうのやりたいならJavaやC#やれ []
- [ここ壊れてます]
- 500 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 01:21:31.16 ID:9riosu0F0.net]
- ポインタじゃないものにnewしたもの格納できるとでも思っているのかジャバグラマ上がりのトーシロー
- 501 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 01:32:41.73 ID:G9KSYPOz0.net]
- なんでdeleteしなくていいと思ったんや
- 502 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 01:39:46.98 ID:HN9ze8O60.net]
- 釣りだと思う
- 503 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 03:44:38.96 ID:MK7npuGj0.net]
- deleteしてからnewすることにします・・・
>>488 こうでしたorz CObject* obj;
- 504 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 06:00:07.99 ID:3K4Hzh4Z0.net]
- >>480
C++的には for(i=0; i<N; i++) { CObject obj; ・・・(処理)・・・ } でいいんじゃね
- 505 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 10:02:54.88 ID:EfCiDMro0.net]
- 大規模なコードで大量にオブジェクト生成するならアリだと思うけど
その場合もnewしたものをdeleteするための仕組みは必須だしね 追跡できなくなる、もしくは自分で自分を破棄する仕組みも無いようではダメ
- 506 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 11:01:41.50 ID:lsKTgXIy0.net]
- ライブラリに分ける利点ってなんですかね
- 507 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 14:44:29.23 ID:MK7npuGj0.net]
- >>482
クラスのメンバ変数に他のクラスインスタンスを召喚するときとか コンストラクタでnewしてやらないといけないと思うの
- 508 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 14:47:38.93 ID:G9KSYPOz0.net]
- >>494
複数のプロジェクトで使いまわせる >>495 スマポ(かコンテナ)で大体のnewは回避できる そのケースも回避できる
- 509 名前:デフォルトの名無しさん [2018/05/02(水) 15:02:47.22 .net]
- >>495
別にnewしなくてもよくね? なんかサンプル出してみ? new無くしてやっから
- 510 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 16:18:42.29 ID:MK7npuGj0.net]
- >>497
class CTest { CFoo cfoo; void CTest() { cfoo = new CFoo(); } }; こんなんとかどうでしょう
- 511 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 16:23:28.41 ID:BwUG32HZa.net]
- >>498
class CTest { CFoo cfoo; void CTest(): cfoo() { } }; メンバ初期化子知らんのか
- 512 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 16:28:43.53 ID:hqQx66t6a.net]
- 山口メンバーも初期化できたらいいのに
- 513 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 16:29:15.41 ID:9riosu0F0.net]
- ヤバいなジャバ上がりw
- 514 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 16:36:00.09 ID:BwUG32HZa.net]
- ちなみに非PODならメンバ初期化子に書かなくてもデフォルトコンストラクタで初期化子される
- 515 名前:デフォルトの名無しさん [2018/05/02(水) 16:36:35.49 .net]
- そもそも>>498の例なら初期化子自体いらんしw
- 516 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 17:10:02.19 ID:MK7npuGj0.net]
- >>499
そ、そうやって初期化したcfooはdeleteしなくてもいいんでつか?
- 517 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 17:15:22.77 ID:2RgXx2xAF.net]
- >>504
変数の寿命を理解してないのか? C/C++で変数の寿命を理解せずコード書くとメモリリークだらけになるから止めるか横着せず勉強するかしてくれ
- 518 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 17:19:29.16 ID:9riosu0F0.net]
- >>504
何言ってんだお前は そもそもdelete出来んだろ
- 519 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 17:35:57.58 ID:EH+UkdGd0.net]
- 教えてください
やりたい事は ↓ https://stackoverflow.com/questions/14706954/how-to-override-the-text-displayed-for-a-property-in-the-propertygrid ここに出てるようなPropertyGridで、数値配列の値を16進で表示したい [0] 0x0001 [1] 0x0002 [2] 0x0003 .... 例えば↑とか、単にこれだけ そうとう調べまくったんだが、配列の例はみつけられなかった 配列でなければ、実装例は結構見つかるんだが・・・ 一見簡単そうなんだけど、俺のレベルでは不可能
- 520 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 18:09:52.99 ID:2RgXx2xAF.net]
- >>507
それC++の質問なの? .NETのライブラリ(=>C++/CLI)じゃなくて?
- 521 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 18:25:45.38 ID:EH+UkdGd0.net]
- いや、c# です
- 522 名前:片山博文MZ mailto:sage [2018/05/02(水) 18:26:58.58 ID:fs6y
]
- [ここ壊れてます]
- 523 名前:NkAId.net mailto: >>509
スレ違い [] - [ここ壊れてます]
- 524 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 18:29:31.79 ID:EH+UkdGd0.net]
- ごめん間違えた、ここ C++のスレだった
隣で聞きます。
- 525 名前: mailto:sage [2018/05/02(水) 18:52:21.12 ID:R3g8E+PO0.net]
- >>504
delete しなくてもいいのです
- 526 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 19:04:04.70 ID:MK7npuGj0.net]
- >>505
>>506 >>512 み、みんな、親切にありがとう・・・
- 527 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 19:06:49.69 ID:U7aQES8cr.net]
- >>494
一度に作る分量が減るので間違えにくい 別々の人間が手分けして作れる
- 528 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 20:14:18.27 ID:sTDjib3HM.net]
- >>503
そもそも>>498はコンパイルエラー(もしくは警告)になるだろ... class CTest { CFoo* cfoo; CTest(int x){ cfoo = new CFoo(x); } ~CTest(){ delete cfoo; } void ReNew(int x){ delete cfoo; cfoo = new CFoo(x); } }; みたいな奴を想定してたのかも知らんけどこれでもunique_ptr使えば良いだけだしね
- 529 名前:デフォルトの名無しさん [2018/05/02(水) 23:29:42.51 .net]
- どうせ>>498の
CFoo cfoo; はこれまた CFoo *cfoo; のつもりだったんだろう とりあえず>>499の形にすればnewはなくせる ポインタを保持したい場合も生ポインタはやめたほうがいいね
- 530 名前:はちみつ餃子 mailto:sage [2018/05/02(水) 23:41:46.06 ID:g0SlpjdS0.net]
- 可能な限りスマートポインタを使え、そしてスマートポインタで駄目な場合はほとんどないってのはその通りなんだけど、
初心者が生ポインタをちゃんと理解したことのないままスマートポインタを使いこなせるとも思えぬ。 そこらへんはちゃんと分けて、今回の場合はまずは生ポインタを理解するという方向性で説明する場面じゃろ。
- 531 名前:デフォルトの名無しさん mailto:sage [2018/05/02(水) 23:47:44.17 ID:MK7npuGj0.net]
- >>516
>>499を仰ぎますm(_ _)m
- 532 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 00:10:52.91 ID:XlBZHwDZ0.net]
- もうスマポはスマポとして理解させたほうがいいような気がするけどな
下手な生ポの知識は初心者に有害だ
- 533 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 01:53:27.71 ID:OyWVOyw+0.net]
- ていうかコンストラクタだから返却値型いらんやん
- 534 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 02:06:40.03 ID:jt77zXjA0.net]
- ポインターをdeleteせずに扱う猛者がいると聞いて駆け付けてきた
- 535 名前:はちみつ餃子 mailto:sage [2018/05/03(木) 02:41:54.13 ID:HFudy7bE0.net]
- delete をしない戦略ってのは無くはないよ。
アプリケーションの起動時直後にガッと大量のメモリを必要として、 終了直前に全部解放するってパターンなら、 どうせプロセスの終了と一緒にリソースは回収されるのでわざわざメモリ解放の処理を入れる必要はない。 (C++ だとデストラクタは必ずしもメモリを解放するだけではないので注意が必要だが) だけどそういう戦略をとれるのはちゃんと理解した上で問題にならないことを確信できるだけの知識があってこそだわな。 というか、それ以上に、確保したのを解放しないのは「気持ち悪い」と感じる心が C/C++er にはある。
- 536 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 05:19:48.86 ID:qNLpdLzsd.net]
- 組み込みだとそもそも終了なんてものがなかったりする
- 537 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 20:37:30.17 ID:giVWGYEy0.net]
- 解放しないメモリをnewとか頭湧いてんのか
- 538 名前:はちみつ餃子 mailto:sage [2018/05/03(木) 20:40:51.26 ID:HFudy7bE0.net]
- あたまがあったまってるんだ。
- 539 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:00:46.14 ID:Nqnp2049M.net]
- 確保済みメモリに対してのnewってあるよ
- 540 名前: mailto:sage [2018/05/03(木) 21:15:35.38 ID:hvfEvXXP0.net]
- >>526
placement new の意味が今でもよくわかりません…どんなときに使うのかなあ…
- 541 名前:片山博文MZ mailto:sage [2018/05/03(木) 21:18:01.47 ID:RMsmDfZSd.net]
- char buf[MAX_BUF];
new(buf) MY_STRUCT(1, 2
- 542 名前:, 3); []
- [ここ壊れてます]
- 543 名前:片山博文MZ mailto:sage [2018/05/03(木) 21:18:51.15 ID:RMsmDfZSd.net]
- char buf[sizeof(MY_STRUCT)];
new(buf) MY_STRUCT(1, 2, 3);
- 544 名前:はちみつ餃子 mailto:sage [2018/05/03(木) 21:19:45.60 ID:HFudy7bE0.net]
- >>527
VRAM みたいな特殊なメモリを C++ のオブジェクトに見せかけたい場合とか
- 545 名前:片山博文MZ mailto:sage [2018/05/03(木) 21:20:25.98 ID:RMsmDfZSd.net]
- すでに確保したメモリーブロック上でコンストラクターを発動させる。
- 546 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:23:27.91 ID:IMqmw2mT0.net]
- 組み込みとかゲーム機のような、最初に一気に確保する環境で使うんじゃないかね
といっても確保済みのメモリに対して断片化しないように管理する仕組み作ったら、必然的にnew演算子もオーバーロードするだろうから結局placement new使わんかもしれんけど
- 547 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 04:49:56.51 ID:JszYn0L4M.net]
- クラスを丸ごとDLL化するときにはnew系をオーバーロード
しておかないと解放時にエラーになるべ。 ヒープはDLL単位にあるので集めておきたい場合はplacement使う
- 548 名前:デフォルトの名無しさん [2018/05/04(金) 11:44:28.56 ID:8Ch7v1Nca.net]
- unique_ptrの配列版でメモリの再確保を行いたい場合どのように行うのがベターですか?
- 549 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 11:50:52.58 ID:Z8Fitafid.net]
- 何に対してベター?
- 550 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 12:02:46.79 ID:uwR6wCpjM.net]
- >>534
unique_ptr::reset( ) じゃねーの?
- 551 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 15:25:56.64 ID:xM/0IOG70.net]
- スマポ使うときは最初にnewするもんなんじゃ…
- 552 名前:デフォルトの名無しさん [2018/05/04(金) 15:29:55.09 ID:YqO5U4DS0.net]
- make_unique使ってね
- 553 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 15:47:45.28 ID:kp+zcI/10.net]
- 配列伸ばしたいなら素直にvector使え
- 554 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 22:00:12.15 ID:VI6126jwa.net]
- いろんな意味にとれるから質問の答えは未定義
- 555 名前:デフォルトの名無しさん mailto:sage [2018/05/05(土) 18:32:19.19 ID:sJdk0i7H0.net]
- [][][] [[[ ] X_[[[ [] ][ [] ][][[[]
- 556 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 13:23:46.73 ID:z9ZCOpRGM.net]
- 以下のように、派生クラスのメンバ関数で基底クラスのメンバ関数を呼ぶように
基底クラスが派生クラスに強制する方法はないでしょうか? ttps://wandbox.org/permlink/K4IHMYwOsutPQz3i
- 557 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 14:01:54.85 ID:f5coeozT0.net]
- FAQやな
インターフェースとカスタマイズポイントを分けろ struct base { void f() { //非仮想 cout << "base" << endl; this->f_custom(); } private: virtual void f_custom(){} }; struct child : base { void f_custom() override { cout << "child" << endl; } };
- 558 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 14:08:44.77 ID:1ubTl4pj0.net]
- >>542
NVIじゃね? https://wandbox.org/permlink/zjVuc2KjEPYsahYS
- 559 名前:542 mailto:sage [2018/05/06(日) 14:59:52.15 ID:z9ZCOpRGM.net]
- レスありがとうございます。
NVIというのがあるのですね。 (大昔に勉強したような…しかし思い出せず)
- 560 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 15:57:13.38 ID:Amh1VkyH0.net]
- 大昔とかの問題じゃなくて基本だぞ
- 561 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 19:15:44.52 ID:5lNukHv1M.net]
- >>544
pure virtualなのに関数定義することなんてできたのか… f()とbase::f()は同じ関数なんだよね?
- 562 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 19:32:29.01 ID:9CUhRDV/0.net]
- }]] [[《_["[[]]" 〈[]》》 [][][]0,1》》〈〉 [] } } "B,V,0%%%,*1BVLO,SASA1`}}//%\\0,1\"VL"\
- 563 名前:デフォルトの名無しさん mailto:sage [2018/05/06(日) 19:37:26.47 ID:hMxfhnzD0.net]
- >>547
俺も知らんかった... 規格上も正しいみたい https://cpplover.blogspot.jp/2013/11/blog-post_24.html
- 564 名前:デフォルトの名無しさん mailto:sage [2018/05/07(月) 05:32:12.66 ID:WYJ+W2Mc0.net]
- >>547
12行目のbase::f()はvirtualを抑止してpure virtualを呼び出す 13行目のf();は動的結合でchi
- 565 名前:d::f()を呼び出す
baseは抽象クラスでnew base{}できないので 13行目の動的結合がbase::f()を呼び出すということは起こりえない だからif(typeid(*this) != typeid(base))のようなチェックをしていない [] - [ここ壊れてます]
- 566 名前:デフォルトの名無しさん mailto:sage [2018/05/07(月) 22:52:31.63 ID:JZ0Er0Nn0.net]
- ちょっと根本的な質問を。
C#が既に普及しているなかあえてC++に固執する理由ってある?
- 567 名前:デフォルトの名無しさん mailto:sage [2018/05/07(月) 23:34:15.98 ID:Xl7KiTHE0.net]
- MSのOSしか使わないなんちゃてPGならC#で十分じゃないの
- 568 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 09:42:55.49 ID:JvzvEXdEd.net]
- mono/Xamarinはしんどいと言う事を知らない世界の内はいいんじゃない?
大体Win限定だとしても高速化するのにC++で書いたのをdllimportするだろう
- 569 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 10:29:13.38 ID:EjLESs2X0.net]
- ざまりんが苦しい人は信仰が足りないのです
僕は信仰の自由を主張しますけどね
- 570 名前: mailto:sage [2018/05/08(火) 17:04:15.75 ID:6aMWII0O0.net]
- >>551
余計な依存関係をかかえないのが嬉しいです
- 571 名前:デフォルトの名無しさん [2018/05/09(水) 03:49:30.68 .net]
- Boostとか使ってると余計な依存関係をかかえてしまうけどな
C言語が一番
- 572 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 10:07:16.66 ID:Ajqxpjd7d.net]
- 一番多くの環境で使えるのはC言語
RAMが数十バイトしかないような非常にチープな8bitマイコンでも使える
- 573 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 10:29:31.98 ID:ZxmL37bf0.net]
- 数十バイトだとスタック領域ももパンクしそう、厳しいのではないか?
|

|