1 名前:デフォルトの名無しさん [2019/04/02(火) 11:23:37.62 ID:SQXqRaAc0.net] !extend:checked:vvvvv:1000:512 C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
652 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 21:15:04.81 ID:ZwmHdTYl0.net] >>630 対応するCのコードを示せるやつがいたら、おまえどうする? 朝8時の品川駅のホームでストリーキングでもするか?
653 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 21:24:37.67 ID:QPLeHwR8a.net] まあ継承なんてオブジェクト指向と関係ないよ
654 名前: mailto:sage [2019/05/24(金) 21:45:54.65 ID:0N6+tWvP0.net] >>632 >classというキーワードがなくても >コードを書く者の考え方次第でカプセル化や継承はできる C ではカプセル化はできても継承は不可能ですよ
655 名前: mailto:sage [2019/05/24(金) 21:46:59.73 ID:0N6+tWvP0.net] >>633 >対応するCのコードを示せるやつがいたら、おまえどうする? あなたができないことをそんなにアピールしなくてもいいと思いますよ
656 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 21:56:28.68 ID:wwZ4gkZH0.net] 仮想関数テーブルの実装方法について語るスレはここですか?
657 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:01:07.63 ID:ZwmHdTYl0.net] >>635 いーや、できる おまえさん禿本やリップマンくらい読んだか? 裸踊りを賭す自信もねえやつがいきがってんなよ
658 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:02:14.93 ID:ZwmHdTYl0.net] >>637 いいぜ おら、来いや
659 名前:蟻人間 mailto:sage [2019/05/24(金) 22:06:22.36 ID:/xfbOr910.net] >>630 https://ideone.com/omqT5r
660 名前: mailto:sage [2019/05/24(金) 22:17:20.89 ID:0N6+tWvP0.net] >>638 ではストロヴストルップやリップマンはどういっているのか、ここに引用していただけますか? あらかじめいっておきますが、引用はできない、なぜならば、そんな内容をストロヴストルップもリップマンも書いていないのだから
661 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:18:09.05 ID:TMKOHW7N0.net] >>625-627 , >>629 オブジェクト指向と言う概念と実装の区別がついてないんだな 低能なプログラマーによくある行動w 例えばLinuxで言えばリダイレクトなんて言うのはもろオブジェクト指向な機能だよね Applicatlon > xxx ってやればxxxがファイルならApplicatlon が出力したデータをファイルに書き込むし、xxxが端末なら端末にデータを表示するし、xxxがプリンタならデータを印刷する Applicatlonは出力先が何であるかを気にする必要はない もちろんLinuxはC言語でこれを実現してるしより面倒だろうけど当然アセンブラで実装することも可能
662 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:21:05.39 ID:0NhXAFL60.net] 概念ならFILE構造体とそれの操作関数群
663 名前: mailto:sage [2019/05/24(金) 22:21:27.40 ID:0N6+tWvP0.net] >>640 >typedef struct C >{ > A ThisA; > B ThisB; > int c; >} C; これは委譲であって継承ではありません。私は >>626 で「Cでは継承はできない」と主張しており、これを否定するために委譲は使えません
664 名前: mailto:sage [2019/05/24(金) 22:23:27.35 ID:0N6+tWvP0.net] >>642 それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
665 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:24:05.41 ID:0NhXAFL60.net] コンストラクタとデストラクタの機構だけは欲しいと思ったことがしばしば
666 名前: mailto:sage [2019/05/24(金) 22:24:31.62 ID:0N6+tWvP0.net] >>643 FILE は OO 的ではありますが、OO そのものではありません OO というからには委譲とは別の継承を表現できねばなりませんが、 C では継承を表現できません
667 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:41:32.12 ID:K6buSCwsM.net] glibとか大昔からあるじゃん… glibがooでないならooの定義をまず示せ
668 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:42:05.32 ID:hUeULEjja.net] オブジェクト指向ってC++固有の概念なの? だとすると、そりゃCで実現は無理でしょう。関係ないんだから。CとC++は。
669 名前: mailto:sage [2019/05/24(金) 22:44:44.02 ID:0N6+tWvP0.net] >>648 glibc++ は OO かもしれませんが glibc が OO だとは寡聞にして聞きませんね
670 名前: mailto:sage [2019/05/24(金) 22:45:51.47 ID:0N6+tWvP0.net] >>649 >オブジェクト指向ってC++固有の概念なの? いいえ、Java も C# も OO だし、 python も ruby も OO で表現できます
671 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:50:26.22 ID:hUeULEjja.net] >>650 GLibだよGLib 今知らないのもどうかと思うけど、使ってみると面白いと思うよ
672 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:51:22.70 ID:hUeULEjja.net] >>651 いや、それだとつじつま合わないでしょ 自分の決めた道を突き進めよ
673 名前:蟻人間 mailto:sage [2019/05/24(金) 22:53:40.43 ID:/xfbOr910.net] GTKのGLibだよね。
674 名前: mailto:sage [2019/05/24(金) 22:54:27.15 ID:0N6+tWvP0.net] >>653 どうつじつまがあわないというのですか?説明ください 私は「OO ならば委譲と区別された継承を記述されなければならない」と主張しています
675 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 22:55:59.59 ID:K6buSCwsM.net] >>650 glibcじゃねーよ… gimp、inkscape、gnomeほか様々なソフトウェアで使われてる。 linuxとは無縁だったんだな
676 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 23:36:16.20 ID:SCqWQYPI0.net] >>629 出来るに決まっている OO言語はオブジェクト指向プログラミングがやり易いようになっているだけでそれじゃなきゃOO出来ないというのはOOについて理解していないだけ
677 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 23:46:49.71 ID:SCqWQYPI0.net] >>644 多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書くというルールなだけ それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる
678 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 23:58:34.02 ID:S5Q/uU3j0.net] >>655 CでもOOできるし、継承できるし、オーバーライドもできる。 20年位前の本に「ANSI C に準拠したコンパイラならできる」と紹介されている。 メモリを意識したコードを書けない人には理解できないけどね。
679 名前:デフォルトの名無しさん [2019/05/25(土) 00:01:58.97 ID:7Hh+Cor80.net] C言語はABIが標準化されている、という文を見たんですが、 その標準仕様の名前は何ですか? 新しいプラットフォームがその標準仕様を満たせば バイナリレベルあるいはソースレベルで移植性があるんでしょうか?
680 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 00:07:07.65 ID:KPhaQb+n0.net] >>654 ていうかお前、MZ級にウンコな片山博文やんけ。 >>660 標準の名前は無いんじゃないの? とりあえず「ABI」でググれ。
681 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 00:11:09.80 ID:oops2jeN0.net] アーキテクチャ跨いでABIが統一できるわけないよね 引数の渡し方なんてアーキテクチャ変わったらそもそも使えるレジスタ変わるし 同一アーキテクチャの特定OS内ならバージョン変わってもABI互換ってのは良くあるけど
682 名前:蟻人間 mailto:sage [2019/05/25(土) 00:29:35.52 ID:2ZlhwbAL0.net] >>661 そのプライドを大切にしろよ
683 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 05:52:48.29 ID:Tic4GHY30.net] >>645 お前のOOの定義書いてくれ 俺の思うOOじゃないとか言われたらどうしようもないわなw
684 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 05:57:11.32 ID:6KmI3UXB0.net] Cでオブジェクト指向プログラムなんて書くのは時間の無駄 速度が必要な部分だけCで作るのが正解
685 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 06:05:28.22 ID:6T2yG8cn0.net] >>641 てめえの怠慢を俺が尻拭いする筋合いはねえぜ 調べるところまで教えてやったんだ 自分で調べる気がねえなら不勉強のまま取り残されろ
686 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 07:19:56.39 ID:DOpjF4HUM.net] >>665 > Cでオブジェクト指向プログラムなんて書くのは時間の無駄 そう言うこと ただ時間がかかると言うのとできるできないの話は別 なのでお前のレスのほうが時間の無駄w
687 名前: mailto:sage [2019/05/25(土) 15:51:01.79 ID:jppBZDTS0.net] >>658 >多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書くというルールなだけ C では構造体のメンバの順番をプログラムから指定することはできたのでしょうか? C コンパイラはアラインメントを考慮して最適化をはかり構造体のメンバを、プログラマの記述から適宜入れ替えていもいいのでは? となると一つめのメンバにベースクラスのインスタンスを書いても、コンパイラに入れ替えられてしまっては無意味なのでは?
688 名前: mailto:sage [2019/05/25(土) 15:52:11.46 ID:jppBZDTS0.net] >>659 >CでもOOできるし、継承できるし、オーバーライドもできる。 できないとおもいますよ、できるというのなら >>630 を C で記述してみてください >20年位前の本に「ANSI C に準拠したコンパイラならできる」と紹介されている。 出典を明記ください
689 名前: mailto:sage [2019/05/25(土) 15:53:43.84 ID:jppBZDTS0.net] >>666 >てめえの怠慢を俺が尻拭いする筋合いはねえぜ あなたは私の怠慢を主張するのと同様の筋で、私はあなたの欺瞞を主張します 出典元や引用を正確にできないのであれば、あなたは嘘をついていると判断されてもしかたがないと思います
690 名前: mailto:sage [2019/05/25(土) 15:55:14.60 ID:jppBZDTS0.net] >>661 片山先生は私とは比較にならないほど生産性の高いプログラマですよ
691 名前: mailto:sage [2019/05/25(土) 16:03:59.98 ID:jppBZDTS0.net] >>652 はじめて知りました、>>650 は勘違いした内容でした、すみません ご紹介ありがとうございます。今試しているところです!
692 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 16:17:34.75 ID:Tic4GHY30.net] >>668 真面目な話、規格書読んでこい ツッコミどころが頓珍漢すぎる
693 名前: mailto:sage [2019/05/25(土) 17:02:40.54 ID:jppBZDTS0.net] >>673 コメントありがとうございます。確かに >>668 には誤りが含まれていました ISO/IEC 9899:1999 6.7.2.1
694 名前:.5 As discussed in 6.2.5, a structure is a type consisting of a sequence of members, whose storage is allocated in an ordered sequence, JIS X3010:2003 構造体は,メンバの列から成る型とし,メンバの記憶域は,並べられた順に割り付ける(6.2.5参照)。 しかし、この記述は構造体のパディングが構造体の先頭に詰められる場合を排除していないと考えます よって、>>658 >多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書く >それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる 構造体の先頭にパディングがあった場合は、この記述は正しくないのではないでしょうか。 [] [ここ壊れてます]
695 名前: mailto:sage [2019/05/25(土) 17:37:11.41 ID:jppBZDTS0.net] >>674 よくよく考えると、私の「この記述は構造体のパディングが構造体の先頭に詰められる場合を排除していないと考えます」もかなり疑わしい、 パディングというものは、一つのメンバがあって、それに対してもう一つのメンバを置くときにパディングを置くものであって、最初からパディングを置く必然性がないですね struct S { int a; } b; のとき &b = &(b.a) は保障されている、時間がたつにつれてそんな気がどんどんしてきました… >>658 を認め、同時に単一継承であれば C で OO と継承を表現できることを認めます
696 名前: mailto:sage [2019/05/25(土) 18:11:59.97 ID:jppBZDTS0.net] >>674 > a type consisting of a sequence of members, whose storage is allocated … この is にも惑わされてしまいました これは a type consisting of a sequence of members, each of which is allocated about storage in an ordered sequence とか a type consisting of a sequence of members, each of which's storage is allocated in an ordered sequence くらいに解釈するべきなんですね 検討する機会をいただきありがとうございました
697 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 21:04:32.61 ID:DDy3bloZM.net] >>675 絶対許さんぞおおおお
698 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 21:07:06.72 ID:aM9QB8YDa.net] オブジェクト指向って抽象化が目的なのに、メモリ配置とか気にするのは馬鹿みたいだよな
699 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 21:23:55.56 ID:cjrLAMgS0.net] MicrosoftのCOMはほとんど全てのコンパイラが構造体のメモリ配列を同じ様にするってのを利用してるんだっけ?
700 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 22:13:30.07 ID:UN9uDEfaM.net] >>678 ここにも概念と実装の区別がついてないバカが…w
701 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 23:25:49.27 ID:KPhaQb+n0.net] >>669 C言語でオブジェクト指向を表現する (クラス、継承) https://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62 この辺でも読んどけ。 「何故できるか」まで言及したもっといい文献はあるがカスには教えない。 俺は「せざるを得ない」状況だったのでCでOOしたが、ネイティブでOOできるならそれに越したことはない。 あ、同じ板でハッシュが一致してるのでお前は蟻。
702 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 01:24:13.78 ID:zv+FEFKTa.net] >>681 またおまえか
703 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 08:36:08.16 ID:o+/j3IaP0.net] >>670 は? 俺は主張なんざしてねえぜ 事実をありのまま指摘しただけだ 何勘違いしてやがる というか勘違いということにせねば立場がねえってかw
704 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 08:56:22.54 ID:7tI1cTYc0.net] もうこんなとこで喧嘩しても勝敗つかないんだからやめろw 仲良くできねえのかお前らは
705 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 12:29:05.12 ID:lzKtO2WM0.net] でも冷静になって考えてみろ 単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか 逆に言えばAIが人知を超える時 人間は機械に滅ぼされ地球から人間はいなくなっているという事 つまり今何をすべきかと言うと人間は思考をやめアホになるべきである
706 名前: そうアホの坂田こそ未来の救世主ネオなのである [] [ここ壊れてます]
707 名前: mailto:sage [2019/05/26(日) 15:17:23.15 ID:CpBTYp0n0.net] >>681 そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです すなわち、継承と委譲を区別できていません そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします
708 名前: mailto:sage [2019/05/26(日) 15:19:14.79 ID:CpBTYp0n0.net] >>683 事実かどうかは、主観的か客観的か、に依存すると思いますが、 相対論においてはすべての事象について純客観的などありえない…@ ので、@より、あなたは主観を主張しているものと私は理解します
709 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 15:46:43.76 ID:aNhG7Lwu0.net] >>686 「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、 言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの? そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?
710 名前: mailto:sage [2019/05/26(日) 15:52:14.70 ID:CpBTYp0n0.net] >>688 委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…@ という主張ですね @は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています 「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます
711 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:00:20.28 ID:Jdhtsrqd0.net] まあ継承なんてオブジェクト指向と関係ないからね
712 名前: mailto:sage [2019/05/26(日) 16:02:51.60 ID:CpBTYp0n0.net] >>690 それは初耳です Object Oriented に継承は憑き物だと思っていました、継承のない OO って存在するのですか?それは例えばなにですか?
713 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:08:55.02 ID:aNhG7Lwu0.net] >>689 ちょっと何言ってるかわからないな。 ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。 明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
714 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:22:19.45 ID:Jdhtsrqd0.net] >>691 なにって、言語を知りたいということ?
715 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:37:44.23 ID:vwTAovQx0.net] クラスベースのOOP言語ではクラスの継承は一般的だけどプロトタイプベースのOOP言語では継承の概念は存在しないよ
716 名前: mailto:sage [2019/05/26(日) 16:40:12.48 ID:CpBTYp0n0.net] >>692 クラス A, B, C, D について、 A のメンバ変数を a とする、また B->A(B は A を派生する) C->A D->B, C (多重継承) において、これを委譲で実装すると、B.A.a と C.A.a が同じであるべきにもかかわらず二重にインスタンスとして生成されてしまうので、 継承で実装した D.a を、委譲で実装した D.B.a と同一視するか、D.C.a と同一視するか、また継承における D.a を更新した場合に委譲では D.B.a と D.C.a の両方を更新するコードを生成しなければならないのか、 等あいまいな部分がでてくる、これがダイヤモンド継承問題です 継承で実装すれば、C++ ではこれを仮想継承といいますが D.a の実態を一つに限定することができますし、D.B.a, D.C.a の両方を保存することもできます、つまりモデリングにおいて選択肢を準備できる しかし委譲で実装すると D.a の実態を一つに限定することが不可能です、つまり選択肢を準備できません 以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます
717 名前: mailto:sage [2019/05/26(日) 16:41:21.10 ID:CpBTYp0n0.net] >>693-694 ふーん、インタプリタ JavaScript には継承はないのですか
718 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:41:38.74 ID:vwTAovQx0.net] https://ja.m.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9
719 名前: mailto:sage [2019/05/26(日) 17:08:49.07 ID:CpBTYp0n0.net] >>692 >明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。 「単一継承に限定するのならば委譲による継承の実装も可能である」という意味での>>689 の「理解します」の文言だと解釈ください ただし委譲で継承をすべて実現できないので、>>681 掲載のリンク先は「詰めが甘い」と判断せざるを得ない、そんなリンク先を紹介する >>681 も同様と判断するものです
720 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:11:49.57 ID:iR9VJ5EUa.net] 継承がオブジェクト指向と無関係なんだから、委譲で実現する必要がない
721 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:25:25.86 ID:aNhG7Lwu0.net] >>695 C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。 アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに 聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
722 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:39:21.34 ID:kcdU4Ge60.net] もうそろそろ別スレ立ててやれや > それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います とか言う様な奴を相手にしても永遠に終わらんと思うが…
723 名前: mailto:sage [2019/05/26(日) 17:50:19.72 ID:CpBTYp0n0.net] >>700 >C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。 そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません 委譲ではダイヤモンド継承に対応できない(選択肢を提供できない) したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
724 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:56:41.22 ID:NrZyzakr0.net] >>702 継承はだめだよ これから使ったら反省文ね
725 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:07:56.35 ID:aNhG7Lwu0.net] >>702 むちゃくちゃだなぁ。「私のいうところの」「継承」「委譲」の区別がどうにも掴めないし、 その区別の意義も示されなさそうだし、迷惑してる人もいるみたいだから、離脱させてもらうよ。
726 名前: mailto:sage [2019/05/26(日) 18:09:31.06 ID:CpBTYp0n0.net] >>703 私がいつ「継承は要らない子」とかいいましたか? あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
727 名前: mailto:sage [2019/05/26(日) 18:13:13.41 ID:CpBTYp0n0.net] >>704 継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
728 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:34:08.86 ID:NrZyzakr0.net] >>705 だから、世界の共通認識として要らないもの。 使っちゃだめ。
729 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:57:26.86 ID:mCW+tIqA0.net] もういい加減やめてくれないかな やりたいなら、Cでクラス実装とかって 別スレたててその中でやってくれ
730 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 19:03:45.32 ID:NrZyzakr0.net] >>708 またおまえか
731 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 20:50:42.22 ID:o+/j3IaP0.net] >>706 私のいうところのって、最初の論旨からずいぶん乖離しているな カプセル化や継承ができるかどうかって話だっただろうがよ いつから、おまえのお気に召すかどうかって話になったんだよ
732 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 23:38:41.06 ID:SA/0I36h0.net] >>686 煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
733 名前:デフォルトの名無しさん [2019/05/27(月) 01:54:45.96 ID:sXav5Bzw0.net] https://jp.quora.com/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B
734 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 02:52:02.77 ID:jiPRfYyG0.net] ソロソロ終わって良いですよね? この議論は、C使っている人とは違う世界に感じる
735 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 03:09:42.07 ID:HzhW79+j0.net] >>713 またおまえか
736 名前:デフォルトの名無しさん [2019/05/27(月) 09:01:49.81 ID:Nqk3VxBP0.net] stddef.hをインクルードして #
737 名前:define __STDC_WANT_LIB_EXT1__ 1 を定義して -std=c11をつけても gccでrsize_tが使えないですけど なぜですか? windows版のGCCでは使えました [] [ここ壊れてます]
738 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 09:23:40.73 ID:or6IbtWZa.net] defineの順番とか…
739 名前:デフォルトの名無しさん [2019/05/27(月) 09:34:14.79 ID:Nqk3VxBP0.net] >>716 順番は試しましたが駄目でした
740 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 10:04:44.33 ID:PB+ZSyAza.net] rsize_tって多分オプションだから実装されてないよね? windowsはなぜか実装してる
741 名前:デフォルトの名無しさん [2019/05/27(月) 10:11:08.57 ID:Zyn15i1D0.net] C#でポインタ使えばC、C++は無くても良いんじゃないですか?
742 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 10:15:55.39 ID:gR3ITcWOM.net] C#使うならポインタのように面倒臭いこと考えなくても変数でも関数でも参照できるだろ
743 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 19:48:50.47 ID:0mZL0xC90.net] C#のポインタはC/C++ほど使い勝手が良くない C#でポインタを使ったところでパフォーマンスはC++の半分程度 まあトータルで見れば最優秀クラスの言語なのは間違いないけどね C++みたいなスパゲティ言語ではないし
744 名前:デフォルトの名無しさん [2019/05/27(月) 20:36:21.78 ID:f4m/nmMua.net] まあ、だいたいの後から出た言語はC/C++の欠点を補おうとしているのでポインタがあっても安全なのが普通だな。
745 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 20:42:45.71 ID:MaSSH1d10.net] 安全じゃないのがc#のポインタの特長だろ。 特徴じゃなく
746 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 21:12:57.55 ID:RgnUDQi4a.net] そりゃC#のポインタ使うにはunsafeオプションが必要だからね。安全じゃないわね。 C#のポインタは過去資産APIを使うための必要悪って感じか。
747 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 07:12:55.99 ID:gr6HI2ftM.net] >>722 Cの前からでてたPascalにもポインタはあるんだが… むしろC/C++が例外的
748 名前:デフォルトの名無しさん [2019/05/28(火) 09:09:59.25 ID:HGTlDNNW0.net] 数年前からこのプロジェクトがちょっと注目されてるけどどう思う? RustはC++を置き換えてもCを置き換えないだろうと思うし、 ZigはCの置き換えとしては妥当なんじゃないかという気がする。 Cより高速、単純、堅牢らしい。 https://ziglang.org/
749 名前:デフォルトの名無しさん [2019/05/28(火) 09:29:30.01 ID:HGTlDNNW0.net] Cより速いと主張 >Speaking of performance, Zig is faster than C. 単純な言語仕様 >Small, simple language 性能と堅牢性 >Performance and Safety: Choose Two 個人的にとても興味を持ってるんだが
750 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 17:05:35.46 ID:5GqHhS1Q0.net] CはC++ほどではないにせよ色々酷いから Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
751 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 17:30:53.21 ID:vL2LyOeQ0.net] >>726 ttps://www.spriters-resource.com/resources/sheets/34/36939.png ちょっと検索してみたらもうドット絵まで準備されてるらしい さすがに西洋人は仕事が早いな
752 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 19:02:59.10 ID:Pzgny9jf0.net] https://www.datadeliver.net/receiver/file_box.do?fb=966f97555e424f19a29d0d866b4b3cf5&rc=683943257e194056afc95195b542ba5d&lang=ja キューを実装する?プログラムを書いたのだがコアダンプになってしまったため、どこが悪いのか調べるために1回だけenqueueをするように変えたら無限に10を生成するようになってしまった どこが悪