- 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
- 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]
- 数十バイトだとスタック領域ももパンクしそう、厳しいのではないか?
- 574 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 10:34:17.87 ID:3kbM/2hPM.net]
- 流石に盛り過ぎ
- 575 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 10:54:36.47 ID:7azCP7HQa.net]
- 知らないで盛ってると言うのはどうかと
昔6ピンpicでc使ってたけどRAMは16バイトだった気がする
- 576 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 11:01:43.78 ID:7azCP7HQa.net]
- 調べたら勘違いで自分の持ってたのはSRAM64バイトのpicだった
- 577 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 11:58:05.29 ID:3kbM/2hPM.net]
- PIC12F609とかでもプログラム領域は1Kwあるけど
数十バイトしかない奴の型番教えてくれくれ
- 578 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:00:11.72 ID:jousW3+sd.net]
- PIC10F200はRAMが16バイトですね
制約は当然ありますがC言語で開発出来ます
- 579 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:00:58.98 ID:1NFscAG5a.net]
- C++どころかCすらやってはいけないレベルだな
恥ずかしいやつ
- 580 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:02:35.51 ID:1NFscAG5a.net]
- >>562
ROMとRAMの区別がつかない人がなんでこのスレにいるのか?
- 581 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:04:25.14 ID:3kbM/2hPM.net]
- ハーバードアーキテクチャのデータメモリサイズだけ書くの
卑怯だと思うの。プログラムメモリは256ワードあるじゃん
- 582 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:07:19.83 ID:1NFscAG5a.net]
- >>557を受けての話だから
そのチープなマイコンで開発にCが使えてる
- 583 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:09:43.50 ID:3kbM/2hPM.net]
- だから盛り過ぎでしょ
- 584 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:10:13.60 ID:1NFscAG5a.net]
- >>568
じゃあできないというのか?
- 585 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 12:45:08.73 ID:e8iSV/lBM.net]
- >>551
競技プログラミングとかunity覚えるの面倒とか?
- 586 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 13:09:28.13 ID:J0gm0Ysvd.net]
- >>566
RAMってしっかり書いてるじゃん チープなマイコンだとROM/RAMに別れてるのが普通だよアーキテクチャー関係無しに
- 587 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 18:42:26.74 ID:X9SFPyiC0.net]
- スタックの話だよね
スタックはRAMであることが絶対条件なので ROMがどんだけあろうが関係ない
- 588 名前:デフォルトの名無しさん [2018/05/09(水) 18:49:54.96 ID:bhGLBTeZa.net]
- C# と C++ は世の中でどちらのほうが使われているのでしょうか?
いま、 C++ の本(ロベール)を読んでいますが、無駄ですか? 柴田望洋訳の分厚い本も買
- 589 名前:ってしまいました。 []
- [ここ壊れてます]
- 590 名前:デフォルトの名無しさん [2018/05/09(水) 18:54:28.74 .net]
- C++は無駄とは言い切れないがロベールは無駄
- 591 名前:デフォルトの名無しさん [2018/05/09(水) 18:59:28.28 ID:bhGLBTeZa.net]
- >>574
ありがとうございます。 結局、どのプログラミング言語を習得するのがおすすめでしょうか? Python のような言語は除いて。
- 592 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 19:01:30.85 ID:ZxmL37bf0.net]
- 何をやりたいと考えているか次第
- 593 名前:デフォルトの名無しさん [2018/05/09(水) 19:05:22.21 ID:bhGLBTeZa.net]
- >>576
趣味でアルゴリズムとデータ構造を勉強しています。 プログラミングコンテストの問題(Aizu Online Judge)を解いたりもしています。 もし、プログラマーになるとした場合、もっとも必要とされる言語を使って、 アルゴリズムとデータ構造の勉強をすれば効率的かなと考えています。 セジウィックとウエインの本や講義動画を読んだり見たりするときには、 Javaの入門書を見たりしています。
- 594 名前:デフォルトの名無しさん [2018/05/09(水) 19:07:11.19 ID:bhGLBTeZa.net]
- >>576
コンピューターサイエンスを広く学ぶ上で一番適した言語がいいかなとも考えています。
- 595 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 19:16:40.18 ID:ZxmL37bf0.net]
- C++のスレで言うのもどうかとは思うが、
初心者が覚えるのに相応しい言語はJavaじゃないかなと思う アルゴリズムだけを学びたいなら、C言語が良いかもしれない 他の人の意見も聞いてね
- 596 名前: mailto:sage [2018/05/09(水) 19:47:49.06 ID:dHqNIKDN0.net]
- >>577
そういうのがやりたくて、しかも今 C で片言がしゃべれるのなら、そのまま進めるのが一番いい
- 597 名前:デフォルトの名無しさん [2018/05/09(水) 20:02:47.70 ID:bhGLBTeZa.net]
- >>579
>>580 参考になりました。 ありがとうございました。
- 598 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 21:19:28.33 ID:X9SFPyiC0.net]
- >>578
アセンブラかVerilog/VHDLあたりじゃね? 今の伝統的言語はユニプロセッサに源流があって 直列一辺倒の弱点が浮き彫りになっている昨今 【広く】学ぶうえでは却って足かせになるぞ
- 599 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 12:15:01.11 ID:yXMj8vMdM.net]
- >>578
Occam2 とか XCが最凶かもな
- 600 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 12:20:40.60 ID:YLAKf1v1a.net]
- Cはアルゴリズム勉強にはあまり向いてないと思う
以前各言語向けのアルゴリズム辞典みたいのを見比べてみたけど Cのだけ異質な感じ forのカウントいじってあったりして勉強しにくい 少なくともオブジェクト指向入れた言語じゃないと後で生かしにくい
- 601 名前:はちみつ餃子 mailto:sage [2018/05/10(木) 15:18:57.11 ID:RiSXhiCD0.net]
- オブジェクト指向が導入されているべきかどうかというよりも、単純に C は抽象化の能力が低いんだよ。
下層レイヤを上手く隠せないから段階的に積み上げていくというのがやり難い。 学習段階では上から下まで見えているって方が分かりやすいということはあるかもしれないので、 どちらが良いかというのは考え方とか好みにもよるので一概には言えないと思う。
- 602 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 15:24:31.29 ID:bWcYs//f0.net]
- アルゴリズムの仕組みが言語の内部に隠されると理解を妨げるだろう
オブジェクト指向については、別の機会に学べば良い
- 603 名前:はちみつ餃子 mailto:sage [2018/05/10(木) 15:59:00.64 ID:RiSXhiCD0.net]
- そうとも言えない。
複雑なものを理解するには「分解する」は基本的なアプローチのひとつで、レイヤを切り分けるのは有用だよ。 それが >>585 に書いた「段階的に積み上げていく」の意図ね。 かといってそれで全体像
- 604 名前:が見通しにくくなってもそれはそれでアレだし、何がベストかなんて言えないよ。
やりやすいと思った方でやるしかしょうがないんじゃね。 [] - [ここ壊れてます]
- 605 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 16:46:33.01 ID:bWcYs//f0.net]
- C言語で書かれたアルゴリズムが読み解けるようでないと
後で困るだろう
- 606 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 17:51:59.26 ID:Ulb5C2sT0.net]
- C以外だとリストのシャッフルはshuffleだけで済ませられる
Cだとshuffleの中身を書かないといけない C以外だと「Combination()を使おう」 Cだと「Combination()を実装しよう」 くらいの差がある アルゴリズムがどこまで指すのか分らないが、楽しいことから先にやればいいんじゃねえの、ということで、C以外から
- 607 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 18:15:07.55 ID:bWcYs//f0.net]
- アルゴリズムを学習するって、その実装の中身を理解することだろう
- 608 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 18:39:39.67 ID:k0RUZ23fa.net]
- 個人的には、各種ソートや基本的なデータ構造の操作を自前で書くようなシンプルなところから入った方が分かりやすいかと思うけど、まあ人それぞれかなと。
- 609 名前:デフォルトの名無しさん [2018/05/10(木) 18:45:52.70 ID:yjf1B9Q5a.net]
- みなさん、ありがとうございます。
セジウィックとウエインのアルゴリズムの本に載っているのは、おそらく ジェネリクスを使っているので一般性もあって、かつ効率もいいプログラム だと思います。 ライブラリのようなクオリティーでプログラムを作るというのが理想です。
- 610 名前:デフォルトの名無しさん [2018/05/10(木) 18:51:57.46 ID:yjf1B9Q5a.net]
- アルゴリズムの本というと C 言語でプログラムが書かれた本が多いですが、
やっと C++ で書かれた日本語の本が最近出版されましたね。 セジウィックとウエインの本よりももっと初歩的な本のようですが。 データ構造とアルゴリズム (電子情報通信レクチャーシリーズ B-8) 単行本 ? 2018/2/1 岩沼 宏治 (著), 美濃 英俊 (著), 鍋島 英知 (著),
- 611 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 19:17:25.91 ID:4Q48RAuxd.net]
- アルゴリズムの抽象的な部分(オーダーとか適用するデータ構造の再帰性や対応関係)を学ぶならCよりML系の方が向いてるは向いてると思う
ただ環境構築なんかの障壁もあるだろうし最終的にCは触るだろうけどアルゴリズム以外の所で詰まりにくいという意味でC#を推してみる
- 612 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 19:18:39.74 ID:4Q48RAuxd.net]
- >>594
勿論F#でもいいし理想はそうだが好みというかネットの情報量の多さ的にC#を挙げた
- 613 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 19:24:56.01 ID:faWxDCCY0.net]
- C#はLinqが便利すぎてお勉強用としてはどうなんだろうなぁ
何やるかによるけど
- 614 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 20:05:12.45 ID:4Q48RAuxd.net]
- ああ勘違いしていた
アルゴリズムを勉強したいのではなく >>もし、プログラマーになるとした場合、もっとも必要とされる言語を使って、 >>アルゴリズムとデータ構造の勉強をすれば効率的かなと考えています。 なのね であれば >>573 氏が現役バリバリな時の主流の言語なんて今からじゃ予想つかないだろうし、実務なら最も適した言語が使われるだけだからC++をそのままやり続ければいいと思う コンピュータサイエンス自体死ぬほど広範囲な学問で、実務のプログラミングとの間にもやっぱり開きがあって万能な言語なんて無いよ 敢えて言うなら物理と数学、これだけは裏切らない
- 615 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 21:40:19.82 ID:n6BTi4dIM.net]
- >>597
あと英語な
- 616 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 21:41:29.95 ID:tcNeLXMy0.net]
- >>585
そこがいいんだよ 隠蔽されたことを忘れたフリをし 本当は忘れていないということの練習に向いている 忘れたフリが綺麗なコードの練習 本当は忘れていないことが性能評価につながる 両立した技能の練習に向いているということだ
- 617 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 12:08:47.61 ID:CPfY1M+aM.net]
- >>571
>>572 そもそもROMの反語はRAMじゃねぇし(SAMってのもある) SH
- 618 名前:ARCだとDMのサイズは0でも、PMさえあれば動く
で、PMの事隠してマウンティングすればお前らは受け入れるのか? [] - [ここ壊れてます]
- 619 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 12:33:06.03 ID:Asz7DXCua.net]
- 今はどうか知らないけどcは標準でvectorやlistやmapがないから
そこから始めないといけないのでめんどくさい アルゴリズム辞典見たら配列をdefineされたNやMで確保してた ライブラリとして使う気ゼロ
- 620 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 13:01:20.12 ID:Mluu9Rs0d.net]
- >>600
世の中のほとんどのチープなワンチップマイコンはROM/RAM構成なんだよ 世の中を知ってたら>>557に対して>>566なんて考えは出ないはずだ
- 621 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 13:03:39.86 ID:Mluu9Rs0d.net]
- >>601
Cはチープな環境やOS関連で使われるくらいだからなあ コストのデカイlistやmapなんて無くて当然 必要になったら必要最低限の機能で自力で作る世界
- 622 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 13:59:40.72 ID:lM6VzEPtM.net]
- >>602
あーハイハイそうですね〜
- 623 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 15:05:19.79 ID:KxM4SNOx0.net]
- >>603
コスト云々よりジェネリクスが無いから汎用コンテナを作るのが難しい
- 624 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 15:52:32.74 ID:MTbwW/C5M.net]
- 作るのが難しい人は拾ってくればいいだけ
- 625 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 18:24:24.95 ID:biwWi4aJ0.net]
- 数十バイトしかないなら、普通アセンブラで書くだろう
- 626 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 18:50:06.30 ID:Mluu9Rs0d.net]
- そうでもない
普通にCが使えるので
- 627 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 18:55:57.64 ID:Mluu9Rs0d.net]
- >>605
別に難しくない 標準化されてないから広まってないだけで 作ってる人はいっぱいいる
- 628 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 19:49:06.46 ID:l0MSXuwV0.net]
- >>600
だから何? いいよ、じゃあSAMもありにしようや で、スタックの量がCに適するのか適さないのか おまえさんなりの考えを言ってみな
- 629 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 19:59:50.91 ID:KxM4SNOx0.net]
- >>609
静的型の恩恵が受けられなくなるだろ?
- 630 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 20:34:03.62 ID:Mluu9Rs0d.net]
- で?
- 631 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 20:40:41.03 ID:x5BQ9FS4M.net]
- >>611
普通にvoidポインタに置き換えるだけだが。 何が難しいの?
- 632 名前:はちみつ餃子 mailto:sage [2018/05/11(金) 20:56:19.66 ID:e+Ei11A70.net]
- 初期の JAVA もコンテナを使うときにキャストが必須ってアレな仕様だったよな。
- 633 名前:デフォルトの名無しさん [2018/05/11(金) 21:04:30.87 ID:2EGPeEG9a.net]
- 昔は仕様がダメで段々改良されていくということがありますが、
それはなぜなのでしょうか? その当時はハードウェアの性能上そういう仕様にせざるを得なかったというような 理由があるのでしょうか? それとも単に思慮が足りなかったというだけでしょうか?
- 634 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 21:16:49.77 ID:Mluu9Rs0d.net]
- 理由はいろいろ
- 635 名前:はちみつ餃子 mailto:sage [2018/05/11(金) 21:20:43.57 ID:e+Ei11A70.net]
- >>615
知見が足りなかったというのが最大の理由だと思うけど、 せざるを得なかった場面よりもその程度で充分だったという方が多いと思う。
- 636 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 21:23:11.17 ID:biwWi4aJ0.net]
- 仕様が固まらないうちに作る時は、それなりの暫定仕様か何らかの制限事項を設けて開発したな
- 637 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 21:36:00.99 ID:Mluu9Rs0d.net]
- 知見が足りなかったなんてのは少数派と思う
シンプルな仕様からだんだんと機能追加で肥大化の方向 ってのがほとんど
- 638 名前: mailto:sage [2018/05/11(金) 21:43:16.90 ID:/s88DeTW0.net]
- >>619
C89 からの「関数の引数として構造体が(実体渡しとして)OK」というのは、私には堕落以外のなにものでもないと
- 639 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 21:53:49.41 ID:HARszYd10.net]
- 昔のC++にあった(今もある)糞の山は、今のモダンな他言語たちへの反面教師として大いに役立った
- 640 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 21:55:02.56 ID:Mluu9Rs0d.net]
- 例えばどの仕様が糞?
- 641 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 22:06:17.59 ID:KxM4SNOx0.net]
- >>613
メモリぶっ壊しやすくなるのは十分問題だと思うが ライブラリ利用者側の責任で何とかしろってのはリソースの条件が厳しけりゃしょうがないがさもなくば正当化しかねる
- 642 名前:デフォルトの名無しさん mailto:sage [2018/05/11(金) 23:57:53.51 ID:MowAKA7Xa.net]
- 独習C++は一通り読んだんだが次に読む本ある?問題集みたいなのとか
- 643 名前: mailto:sage [2018/05/12(土) 00:13:37.95 ID:HeMwMf3D0.net]
- >>624
私がお勧めしているのは https://www.amazon.co.jp/dp/4894714221/ https://www.amazon.co.jp/dp/4881357786/ 前者は実は難があって、変てこな実装をしている部分もありますが、それを自分で調べて解決すれば、強くなれると思います 後者は STL の解説本です いずれも C++11 以前で今となっては古いのですが、代わりになるような本がない… 両方とも私は読んでいますので、普通の質問には答えることができます
- 644 名前:デフォルトの名無しさん [2018/05/12(土) 00:24:10.29 ID:TkoJoFTb0.net]
- 最初に読む本は禿4版一択ですよ。
- 645 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 01:17:09.76 ID:hwxaPbIq0.net]
- どの言語でも、入門書の次は、Effective 何々
- 646 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 05:59:18.81 ID:D96wT16B0.net]
- >>625
「なぜ」そうするのか 「なぜ」そうなっているのか 他にどんな選択があったのか という思考回路の俺には合わない本だ
- 647 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 06:50:27.10 ID:QiJLTR+Nd.net]
- >>623
それは低級言語に求める物じゃない C/C++は低級言語として数十年間圧倒的なシェアであり続けている これってすごいことだと思う
- 648 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 07:33:39.79 ID:eFTG6CfX0.net]
- >>623
データ構造の要素が静的に型が決まろうがそうでなかろうが、必要な要素数のメモリを確保する作業に違いはない。 せいぜい型のサイズを余計に掛け算するくらいだ。 確保するサイズが間違っていれば静的に型が決まろうがメモリ破壊は起きる。 もう少し具体的に示してくれないか?
- 649 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 07:37:30.31 ID:D96wT16B0.net]
- 静的な型の恩恵がどうたらって
mallocがvoid*を返すのと同じだろ 問題ちゃ問題だがそんなもん怖がるやつぁC使いに向かない
- 650 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 08:45:19.55 ID:vhGL8v7ea.net]
- >>629
静的なら実行時パフォーマンスには影響しない >>630 「既に壊しうるのだからちょっとくらい壊せる場所増やしてもいいでしょ」には無条件では同意しかねる >>631 向いていようがいまいがCの案件はあるわけで, 可能な限り安全にコーディングしたいと思うのは可笑しいか? で話を戻すと, 汎用コンテナのCでの実装には, 大きく分けてもdefine使った型安全な実装とvoid *を使ったオーバーヘッドあり型安全なし実装が考えられるわけで, まずそれだけでこうして対立し得る 実装上でもいずれもpros/consがあるわけで, そりゃ規格がまとまる道理がないよね, って主張 別に必要最小限の機能で自分で実装することを否定するわけじゃないし, 型安全が絶対だという気もない
- 651 名前:デフォルトの名無しさん mailto:sage [2018/05/12(土) 08:57:39.01 ID:QiJLTR+Nd.net]
- 高速コンパクトと安全性利便性は相反するものだ
諦めろ
- 652 名前: mailto:sage [2018/05/12(土) 09:08:53.09 ID:HeMwMf3D0.net]
- >>627
独習の次に Effective C++/Effective Modern C++ は飛躍しすぎではないかな? ついてこれるのか
|

|