!extend:checked:vvvvv:1000:512
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 151
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cf8f-fy95)
2019/04/02(火) 11:23:37.62ID:SQXqRaAc0629デフォルトの名無しさん (ワッチョイ e701-/OyN)
2019/05/24(金) 20:51:16.47ID:E0qJKDus0 そんなん言い始めたらアセンブラでもオブジェクト指向プログラミングできることになっちゃう。
言語としてOOPがサポートされてなきゃ認められないでしょ。
言語としてOOPがサポートされてなきゃ認められないでしょ。
>>628
>C++のソースを読んでC言語に変換して後のことはCコンパイラに任せてたんだよ。それが初期のC++。
C++ から C へのトランスパイラが存在したからといって、C にてオブジェクト指向(的ではなくそのものずばり)なプログラミングができるわけではありません
C++ のコンパイラが存在するからといって機械語が OO でないのと同じです、まず、
C++ https://ideone.com/vAp2Sj
に対応する C のコードを示してください
>C++のソースを読んでC言語に変換して後のことはCコンパイラに任せてたんだよ。それが初期のC++。
C++ から C へのトランスパイラが存在したからといって、C にてオブジェクト指向(的ではなくそのものずばり)なプログラミングができるわけではありません
C++ のコンパイラが存在するからといって機械語が OO でないのと同じです、まず、
C++ https://ideone.com/vAp2Sj
に対応する C のコードを示してください
632デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/24(金) 21:12:51.85ID:ZwmHdTYl0 >>610
全く問題にならない
classというキーワードがなくても
コードを書く者の考え方次第でカプセル化や継承はできる
FILE構造体がその例だ
多態性がないというのは、おまえさんの認識不足で
関数ポインタでそんなものはすぐに実現できる
そういう認識不足があるからこそ
メジャーなカーネルをなぜ書けたかが理解できないのだ
全く問題にならない
classというキーワードがなくても
コードを書く者の考え方次第でカプセル化や継承はできる
FILE構造体がその例だ
多態性がないというのは、おまえさんの認識不足で
関数ポインタでそんなものはすぐに実現できる
そういう認識不足があるからこそ
メジャーなカーネルをなぜ書けたかが理解できないのだ
633デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/24(金) 21:15:04.81ID:ZwmHdTYl0634デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/24(金) 21:24:37.67ID:QPLeHwR8a まあ継承なんてオブジェクト指向と関係ないよ
637デフォルトの名無しさん (ワッチョイ e701-GX6Y)
2019/05/24(金) 21:56:28.68ID:wwZ4gkZH0 仮想関数テーブルの実装方法について語るスレはここですか?
638デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/24(金) 22:01:07.63ID:ZwmHdTYl0639デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/24(金) 22:02:14.93ID:ZwmHdTYl0640蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 2701-6B7C)
2019/05/24(金) 22:06:22.36ID:/xfbOr910 >>638
ではストロヴストルップやリップマンはどういっているのか、ここに引用していただけますか?
あらかじめいっておきますが、引用はできない、なぜならば、そんな内容をストロヴストルップもリップマンも書いていないのだから
ではストロヴストルップやリップマンはどういっているのか、ここに引用していただけますか?
あらかじめいっておきますが、引用はできない、なぜならば、そんな内容をストロヴストルップもリップマンも書いていないのだから
642デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/24(金) 22:18:09.05ID:TMKOHW7N0643デフォルトの名無しさん (ワッチョイ e701-1x1Z)
2019/05/24(金) 22:21:05.39ID:0NhXAFL60 概念ならFILE構造体とそれの操作関数群
>>642
それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
646デフォルトの名無しさん (ワッチョイ e701-1x1Z)
2019/05/24(金) 22:24:05.41ID:0NhXAFL60 コンストラクタとデストラクタの機構だけは欲しいと思ったことがしばしば
648デフォルトの名無しさん (ブーイモ MMcf-wr5r)
2019/05/24(金) 22:41:32.12ID:K6buSCwsM glibとか大昔からあるじゃん…
glibがooでないならooの定義をまず示せ
glibがooでないならooの定義をまず示せ
649デフォルトの名無しさん (アウアウカー Sa3b-eVvB)
2019/05/24(金) 22:42:05.32ID:hUeULEjja オブジェクト指向ってC++固有の概念なの?
だとすると、そりゃCで実現は無理でしょう。関係ないんだから。CとC++は。
だとすると、そりゃCで実現は無理でしょう。関係ないんだから。CとC++は。
>>648
glibc++ は OO かもしれませんが glibc が OO だとは寡聞にして聞きませんね
glibc++ は OO かもしれませんが glibc が OO だとは寡聞にして聞きませんね
652デフォルトの名無しさん (アウアウカー Sa3b-eVvB)
2019/05/24(金) 22:50:26.22ID:hUeULEjja653デフォルトの名無しさん (アウアウカー Sa3b-eVvB)
2019/05/24(金) 22:51:22.70ID:hUeULEjja654蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 2701-uiLC)
2019/05/24(金) 22:53:40.43ID:/xfbOr910 GTKのGLibだよね。
656デフォルトの名無しさん (ブーイモ MMcf-wr5r)
2019/05/24(金) 22:55:59.59ID:K6buSCwsM657デフォルトの名無しさん (ワッチョイ c7c3-OWKl)
2019/05/24(金) 23:36:16.20ID:SCqWQYPI0658デフォルトの名無しさん (ワッチョイ c7c3-OWKl)
2019/05/24(金) 23:46:49.71ID:SCqWQYPI0659デフォルトの名無しさん (ワッチョイ bfba-GX6Y)
2019/05/24(金) 23:58:34.02ID:S5Q/uU3j0 >>655
CでもOOできるし、継承できるし、オーバーライドもできる。
20年位前の本に「ANSI C に準拠したコンパイラならできる」と紹介されている。
メモリを意識したコードを書けない人には理解できないけどね。
CでもOOできるし、継承できるし、オーバーライドもできる。
20年位前の本に「ANSI C に準拠したコンパイラならできる」と紹介されている。
メモリを意識したコードを書けない人には理解できないけどね。
660デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
2019/05/25(土) 00:01:58.97ID:7Hh+Cor80 C言語はABIが標準化されている、という文を見たんですが、
その標準仕様の名前は何ですか?
新しいプラットフォームがその標準仕様を満たせば
バイナリレベルあるいはソースレベルで移植性があるんでしょうか?
その標準仕様の名前は何ですか?
新しいプラットフォームがその標準仕様を満たせば
バイナリレベルあるいはソースレベルで移植性があるんでしょうか?
661デフォルトの名無しさん (ワッチョイ bfba-GX6Y)
2019/05/25(土) 00:07:07.65ID:KPhaQb+n0662デフォルトの名無しさん (ワッチョイ c7c3-OWKl)
2019/05/25(土) 00:11:09.80ID:oops2jeN0 アーキテクチャ跨いでABIが統一できるわけないよね
引数の渡し方なんてアーキテクチャ変わったらそもそも使えるレジスタ変わるし
同一アーキテクチャの特定OS内ならバージョン変わってもABI互換ってのは良くあるけど
引数の渡し方なんてアーキテクチャ変わったらそもそも使えるレジスタ変わるし
同一アーキテクチャの特定OS内ならバージョン変わってもABI互換ってのは良くあるけど
664デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/25(土) 05:52:48.29ID:Tic4GHY30665デフォルトの名無しさん (ワッチョイ df79-buEI)
2019/05/25(土) 05:57:11.32ID:6KmI3UXB0 Cでオブジェクト指向プログラムなんて書くのは時間の無駄
速度が必要な部分だけCで作るのが正解
速度が必要な部分だけCで作るのが正解
666デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/25(土) 06:05:28.22ID:6T2yG8cn0667デフォルトの名無しさん (ドコグロ MM9f-LXA5)
2019/05/25(土) 07:19:56.39ID:DOpjF4HUM >>658
>多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書くというルールなだけ
C では構造体のメンバの順番をプログラムから指定することはできたのでしょうか?
C コンパイラはアラインメントを考慮して最適化をはかり構造体のメンバを、プログラマの記述から適宜入れ替えていもいいのでは?
となると一つめのメンバにベースクラスのインスタンスを書いても、コンパイラに入れ替えられてしまっては無意味なのでは?
>多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書くというルールなだけ
C では構造体のメンバの順番をプログラムから指定することはできたのでしょうか?
C コンパイラはアラインメントを考慮して最適化をはかり構造体のメンバを、プログラマの記述から適宜入れ替えていもいいのでは?
となると一つめのメンバにベースクラスのインスタンスを書いても、コンパイラに入れ替えられてしまっては無意味なのでは?
>>666
>てめえの怠慢を俺が尻拭いする筋合いはねえぜ
あなたは私の怠慢を主張するのと同様の筋で、私はあなたの欺瞞を主張します
出典元や引用を正確にできないのであれば、あなたは嘘をついていると判断されてもしかたがないと思います
>てめえの怠慢を俺が尻拭いする筋合いはねえぜ
あなたは私の怠慢を主張するのと同様の筋で、私はあなたの欺瞞を主張します
出典元や引用を正確にできないのであれば、あなたは嘘をついていると判断されてもしかたがないと思います
>>661
片山先生は私とは比較にならないほど生産性の高いプログラマですよ
片山先生は私とは比較にならないほど生産性の高いプログラマですよ
673デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/25(土) 16:17:34.75ID:Tic4GHY30 >>673
コメントありがとうございます。確かに >>668 には誤りが含まれていました
ISO/IEC 9899:1999
6.7.2.1.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つめのメンバにベースクラスのインスタンスを書く
>それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる
構造体の先頭にパディングがあった場合は、この記述は正しくないのではないでしょうか。
コメントありがとうございます。確かに >>668 には誤りが含まれていました
ISO/IEC 9899:1999
6.7.2.1.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つめのメンバにベースクラスのインスタンスを書く
>それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる
構造体の先頭にパディングがあった場合は、この記述は正しくないのではないでしょうか。
>>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
くらいに解釈するべきなんですね
検討する機会をいただきありがとうございました
> 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
くらいに解釈するべきなんですね
検討する機会をいただきありがとうございました
677デフォルトの名無しさん (ブーイモ MMcb-wr5r)
2019/05/25(土) 21:04:32.61ID:DDy3bloZM >>675
絶対許さんぞおおおお
絶対許さんぞおおおお
678デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/25(土) 21:07:06.72ID:aM9QB8YDa オブジェクト指向って抽象化が目的なのに、メモリ配置とか気にするのは馬鹿みたいだよな
679デフォルトの名無しさん (ワッチョイ e701-GX6Y)
2019/05/25(土) 21:23:55.56ID:cjrLAMgS0 MicrosoftのCOMはほとんど全てのコンパイラが構造体のメモリ配列を同じ様にするってのを利用してるんだっけ?
680デフォルトの名無しさん (ドコグロ MMeb-LXA5)
2019/05/25(土) 22:13:30.07ID:UN9uDEfaM >>678
ここにも概念と実装の区別がついてないバカが…w
ここにも概念と実装の区別がついてないバカが…w
681デフォルトの名無しさん (ワッチョイ bfba-GX6Y)
2019/05/25(土) 23:25:49.27ID:KPhaQb+n0 >>669
C言語でオブジェクト指向を表現する (クラス、継承)
https://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62
この辺でも読んどけ。
「何故できるか」まで言及したもっといい文献はあるがカスには教えない。
俺は「せざるを得ない」状況だったのでCでOOしたが、ネイティブでOOできるならそれに越したことはない。
あ、同じ板でハッシュが一致してるのでお前は蟻。
C言語でオブジェクト指向を表現する (クラス、継承)
https://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62
この辺でも読んどけ。
「何故できるか」まで言及したもっといい文献はあるがカスには教えない。
俺は「せざるを得ない」状況だったのでCでOOしたが、ネイティブでOOできるならそれに越したことはない。
あ、同じ板でハッシュが一致してるのでお前は蟻。
682デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/26(日) 01:24:13.78ID:zv+FEFKTa >>681
またおまえか
またおまえか
683デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/26(日) 08:36:08.16ID:o+/j3IaP0684デフォルトの名無しさん (ワッチョイ e7dc-dCWx)
2019/05/26(日) 08:56:22.54ID:7tI1cTYc0 もうこんなとこで喧嘩しても勝敗つかないんだからやめろw
仲良くできねえのかお前らは
仲良くできねえのかお前らは
685デフォルトの名無しさん (ワッチョイ df2c-o9SV)
2019/05/26(日) 12:29:05.12ID:lzKtO2WM0 でも冷静になって考えてみろ
単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか
逆に言えばAIが人知を超える時
人間は機械に滅ぼされ地球から人間はいなくなっているという事
つまり今何をすべきかと言うと人間は思考をやめアホになるべきである
そうアホの坂田こそ未来の救世主ネオなのである
単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか
逆に言えばAIが人知を超える時
人間は機械に滅ぼされ地球から人間はいなくなっているという事
つまり今何をすべきかと言うと人間は思考をやめアホになるべきである
そうアホの坂田こそ未来の救世主ネオなのである
>>681
そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです
すなわち、継承と委譲を区別できていません
そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした
そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします
そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです
すなわち、継承と委譲を区別できていません
そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした
そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします
688デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 15:46:43.76ID:aNhG7Lwu0 >>686
「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、
言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの?
そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?
「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、
言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの?
そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?
>>688
委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…@ という主張ですね
@は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています
「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます
委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…@ という主張ですね
@は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています
「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます
690デフォルトの名無しさん (ワッチョイ df59-eVvB)
2019/05/26(日) 16:00:20.28ID:Jdhtsrqd0 まあ継承なんてオブジェクト指向と関係ないからね
692デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 16:08:55.02ID:aNhG7Lwu0 >>689
ちょっと何言ってるかわからないな。
ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。
明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
ちょっと何言ってるかわからないな。
ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。
明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
693デフォルトの名無しさん (ワッチョイ df59-eVvB)
2019/05/26(日) 16:22:19.45ID:Jdhtsrqd0 >>691
なにって、言語を知りたいということ?
なにって、言語を知りたいということ?
694デフォルトの名無しさん (ワッチョイ a7da-n/qg)
2019/05/26(日) 16:37:44.23ID:vwTAovQx0 クラスベースのOOP言語ではクラスの継承は一般的だけどプロトタイプベースのOOP言語では継承の概念は存在しないよ
>>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 の実態を一つに限定することが不可能です、つまり選択肢を準備できません
以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます
ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます
クラス 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 の実態を一つに限定することが不可能です、つまり選択肢を準備できません
以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます
ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます
>>693-694
ふーん、インタプリタ JavaScript には継承はないのですか
ふーん、インタプリタ JavaScript には継承はないのですか
697デフォルトの名無しさん (ワッチョイ a7da-n/qg)
2019/05/26(日) 16:41:38.74ID:vwTAovQx0699デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/26(日) 17:11:49.57ID:iR9VJ5EUa 継承がオブジェクト指向と無関係なんだから、委譲で実現する必要がない
700デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 17:25:25.86ID:aNhG7Lwu0 >>695
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
701デフォルトの名無しさん (ワッチョイ df01-LXA5)
2019/05/26(日) 17:39:21.34ID:kcdU4Ge60 もうそろそろ別スレ立ててやれや
> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…
> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…
>>700
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
703デフォルトの名無しさん (ワッチョイ 877c-eVvB)
2019/05/26(日) 17:56:41.22ID:NrZyzakr0704デフォルトの名無しさん (ワッチョイ df33-Fpyl)
2019/05/26(日) 18:07:56.35ID:aNhG7Lwu0 >>703
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
>>704
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
707デフォルトの名無しさん (ワッチョイ 877c-eVvB)
2019/05/26(日) 18:34:08.86ID:NrZyzakr0708デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/26(日) 18:57:26.86ID:mCW+tIqA0 もういい加減やめてくれないかな
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ
709デフォルトの名無しさん (ワッチョイ 877c-eVvB)
2019/05/26(日) 19:03:45.32ID:NrZyzakr0 >>708
またおまえか
またおまえか
710デフォルトの名無しさん (ワッチョイ 67f6-dCWx)
2019/05/26(日) 20:50:42.22ID:o+/j3IaP0711デフォルトの名無しさん (ワッチョイ bfba-GX6Y)
2019/05/26(日) 23:38:41.06ID:SA/0I36h0 >>686
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
712デフォルトの名無しさん (ワッチョイ dfad-Yys2)
2019/05/27(月) 01:54:45.96ID:sXav5Bzw0713デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/27(月) 02:52:02.77ID:jiPRfYyG0 ソロソロ終わって良いですよね?
この議論は、C使っている人とは違う世界に感じる
この議論は、C使っている人とは違う世界に感じる
714デフォルトの名無しさん (ワッチョイ e77c-eVvB)
2019/05/27(月) 03:09:42.07ID:HzhW79+j0 >>713
またおまえか
またおまえか
715デフォルトの名無しさん (ワッチョイ 87d2-Ni/X)
2019/05/27(月) 09:01:49.81ID:Nqk3VxBP0 stddef.hをインクルードして
#define __STDC_WANT_LIB_EXT1__ 1
を定義して
-std=c11をつけても
gccでrsize_tが使えないですけど
なぜですか?
windows版のGCCでは使えました
#define __STDC_WANT_LIB_EXT1__ 1
を定義して
-std=c11をつけても
gccでrsize_tが使えないですけど
なぜですか?
windows版のGCCでは使えました
716デフォルトの名無しさん (アウアウカー Sa3b-eVvB)
2019/05/27(月) 09:23:40.73ID:or6IbtWZa defineの順番とか…
717デフォルトの名無しさん (ワッチョイ 87d2-Ni/X)
2019/05/27(月) 09:34:14.79ID:Nqk3VxBP0 >>716
順番は試しましたが駄目でした
順番は試しましたが駄目でした
718デフォルトの名無しさん (アウアウエー Sa9f-eVvB)
2019/05/27(月) 10:04:44.33ID:PB+ZSyAza rsize_tって多分オプションだから実装されてないよね?
windowsはなぜか実装してる
windowsはなぜか実装してる
719デフォルトの名無しさん (ワッチョイ bfba-9b2Z)
2019/05/27(月) 10:11:08.57ID:Zyn15i1D0 C#でポインタ使えばC、C++は無くても良いんじゃないですか?
720デフォルトの名無しさん (ラクペッ MM7b-n/qg)
2019/05/27(月) 10:15:55.39ID:gR3ITcWOM C#使うならポインタのように面倒臭いこと考えなくても変数でも関数でも参照できるだろ
721デフォルトの名無しさん (ワッチョイ df79-buEI)
2019/05/27(月) 19:48:50.47ID:0mZL0xC90 C#のポインタはC/C++ほど使い勝手が良くない
C#でポインタを使ったところでパフォーマンスはC++の半分程度
まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし
C#でポインタを使ったところでパフォーマンスはC++の半分程度
まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし
722デフォルトの名無しさん (アウアウウー Saab-EYzY)
2019/05/27(月) 20:36:21.78ID:f4m/nmMua まあ、だいたいの後から出た言語はC/C++の欠点を補おうとしているのでポインタがあっても安全なのが普通だな。
723デフォルトの名無しさん (ワッチョイ c7c3-OWKl)
2019/05/27(月) 20:42:45.71ID:MaSSH1d10 安全じゃないのがc#のポインタの特長だろ。
特徴じゃなく
特徴じゃなく
724デフォルトの名無しさん (アウアウウー Saab-/OyN)
2019/05/27(月) 21:12:57.55ID:RgnUDQi4a そりゃC#のポインタ使うにはunsafeオプションが必要だからね。安全じゃないわね。
C#のポインタは過去資産APIを使うための必要悪って感じか。
C#のポインタは過去資産APIを使うための必要悪って感じか。
725デフォルトの名無しさん (ドコグロ MM1b-LXA5)
2019/05/28(火) 07:12:55.99ID:gr6HI2ftM726デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
2019/05/28(火) 09:09:59.25ID:HGTlDNNW0 数年前からこのプロジェクトがちょっと注目されてるけどどう思う?
RustはC++を置き換えてもCを置き換えないだろうと思うし、
ZigはCの置き換えとしては妥当なんじゃないかという気がする。
Cより高速、単純、堅牢らしい。
https://ziglang.org/
RustはC++を置き換えてもCを置き換えないだろうと思うし、
ZigはCの置き換えとしては妥当なんじゃないかという気がする。
Cより高速、単純、堅牢らしい。
https://ziglang.org/
727デフォルトの名無しさん (ワッチョイ dfb9-9b2Z)
2019/05/28(火) 09:29:30.01ID:HGTlDNNW0 Cより速いと主張
>Speaking of performance, Zig is faster than C.
単純な言語仕様
>Small, simple language
性能と堅牢性
>Performance and Safety: Choose Two
個人的にとても興味を持ってるんだが
>Speaking of performance, Zig is faster than C.
単純な言語仕様
>Small, simple language
性能と堅牢性
>Performance and Safety: Choose Two
個人的にとても興味を持ってるんだが
728デフォルトの名無しさん (ワッチョイ df79-buEI)
2019/05/28(火) 17:05:35.46ID:5GqHhS1Q0 CはC++ほどではないにせよ色々酷いから
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
729デフォルトの名無しさん (ワッチョイ dfa5-vAXu)
2019/05/28(火) 17:30:53.21ID:vL2LyOeQ0 >>726
ttps://www.spriters-resource.com/resources/sheets/34/36939.png
ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな
ttps://www.spriters-resource.com/resources/sheets/34/36939.png
ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 東京・足立区の盗難車死亡ひき逃げ事件 11人死傷のうち死亡した男女の身元を発表 80代の男性と20代フィリピン国籍の女性 警視庁 [どどん★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 《降板の申し出が》「平手友梨奈は出ません」ムロツヨシの「弁護士ドラマ」から“バディ”が消える!連ドラ撮影中にも遅刻、欠席… [Ailuropoda melanoleuca★]
- ド、ド、ド リ フ の
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- お前らっていい匂いするよな
- なんか寝れないのでウマ娘の雑談とか募集
- 機械に疎いのほんと大変
- お前ら彼女/妻のうんちを素手で触れる?
