[過去ログ] C言語なら俺に聞け 151 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
650
(3): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/24(金)22:44 ID:0N6+tWvP0(12/14)調 AAS
>>648
glibc++ は OO かもしれませんが glibc が OO だとは寡聞にして聞きませんね
651
(1): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/24(金)22:45 ID:0N6+tWvP0(13/14)調 AAS
>>649
>オブジェクト指向ってC++固有の概念なの?
いいえ、Java も C# も OO だし、 python も ruby も OO で表現できます
652
(1): (アウアウカー Sa3b-eVvB) 2019/05/24(金)22:50 ID:hUeULEjja(2/3)調 AAS
>>650
GLibだよGLib
今知らないのもどうかと思うけど、使ってみると面白いと思うよ
653
(1): (アウアウカー Sa3b-eVvB) 2019/05/24(金)22:51 ID:hUeULEjja(3/3)調 AAS
>>651
いや、それだとつじつま合わないでしょ
自分の決めた道を突き進めよ
654
(1): 蟻人間◆T6xkBnTXz7B0 (ワッチョイ 2701-uiLC) 2019/05/24(金)22:53 ID:/xfbOr910(2/2)調 AAS
GTKのGLibだよね。
655
(1): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/24(金)22:54 ID:0N6+tWvP0(14/14)調 AAS
>>653
どうつじつまがあわないというのですか?説明ください
私は「OO ならば委譲と区別された継承を記述されなければならない」と主張しています
656: (ブーイモ MMcf-wr5r) 2019/05/24(金)22:55 ID:K6buSCwsM(2/2)調 AAS
>>650
glibcじゃねーよ…
gimp、inkscape、gnomeほか様々なソフトウェアで使われてる。
linuxとは無縁だったんだな
657: (ワッチョイ c7c3-OWKl) 2019/05/24(金)23:36 ID:SCqWQYPI0(1/2)調 AAS
>>629
出来るに決まっている
OO言語はオブジェクト指向プログラミングがやり易いようになっているだけでそれじゃなきゃOO出来ないというのはOOについて理解していないだけ
658
(3): (ワッチョイ c7c3-OWKl) 2019/05/24(金)23:46 ID:SCqWQYPI0(2/2)調 AAS
>>644
多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書くというルールなだけ

それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる
659
(1): (ワッチョイ bfba-GX6Y) 2019/05/24(金)23:58 ID:S5Q/uU3j0(1)調 AAS
>>655
CでもOOできるし、継承できるし、オーバーライドもできる。
20年位前の本に「ANSI C に準拠したコンパイラならできる」と紹介されている。

メモリを意識したコードを書けない人には理解できないけどね。
660
(1): (ワッチョイ dfb9-9b2Z) 2019/05/25(土)00:01 ID:7Hh+Cor80(1)調 AAS
C言語はABIが標準化されている、という文を見たんですが、
その標準仕様の名前は何ですか?

新しいプラットフォームがその標準仕様を満たせば
バイナリレベルあるいはソースレベルで移植性があるんでしょうか?
661
(2): (ワッチョイ bfba-GX6Y) 2019/05/25(土)00:07 ID:KPhaQb+n0(1/2)調 AAS
>>654
ていうかお前、MZ級にウンコな片山博文やんけ。

>>660
標準の名前は無いんじゃないの?
とりあえず「ABI」でググれ。
662: (ワッチョイ c7c3-OWKl) 2019/05/25(土)00:11 ID:oops2jeN0(1)調 AAS
アーキテクチャ跨いでABIが統一できるわけないよね
引数の渡し方なんてアーキテクチャ変わったらそもそも使えるレジスタ変わるし

同一アーキテクチャの特定OS内ならバージョン変わってもABI互換ってのは良くあるけど
663: 蟻人間◆T6xkBnTXz7B0 (ワッチョイ 2701-uiLC) 2019/05/25(土)00:29 ID:2ZlhwbAL0(1)調 AAS
>>661
そのプライドを大切にしろよ
664: (ワッチョイ df01-LXA5) 2019/05/25(土)05:52 ID:Tic4GHY30(1/2)調 AAS
>>645
お前のOOの定義書いてくれ
俺の思うOOじゃないとか言われたらどうしようもないわなw
665
(1): (ワッチョイ df79-buEI) 2019/05/25(土)05:57 ID:6KmI3UXB0(1)調 AAS
Cでオブジェクト指向プログラムなんて書くのは時間の無駄
速度が必要な部分だけCで作るのが正解
666
(1): (ワッチョイ 67f6-dCWx) 2019/05/25(土)06:05 ID:6T2yG8cn0(1)調 AAS
>>641
てめえの怠慢を俺が尻拭いする筋合いはねえぜ
調べるところまで教えてやったんだ
自分で調べる気がねえなら不勉強のまま取り残されろ
667: (ドコグロ MM9f-LXA5) 2019/05/25(土)07:19 ID:DOpjF4HUM(1)調 AAS
>>665
> Cでオブジェクト指向プログラムなんて書くのは時間の無駄
そう言うこと
ただ時間がかかると言うのとできるできないの話は別
なのでお前のレスのほうが時間の無駄w
668
(2): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)15:51 ID:jppBZDTS0(1/8)調 AAS
>>658
>多重じゃない継承の場合Cでは1つめのメンバにベースクラスのインスタンスを書くというルールなだけ

C では構造体のメンバの順番をプログラムから指定することはできたのでしょうか?
C コンパイラはアラインメントを考慮して最適化をはかり構造体のメンバを、プログラマの記述から適宜入れ替えていもいいのでは?

となると一つめのメンバにベースクラスのインスタンスを書いても、コンパイラに入れ替えられてしまっては無意味なのでは?
669
(1): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)15:52 ID:jppBZDTS0(2/8)調 AAS
>>659
>CでもOOできるし、継承できるし、オーバーライドもできる。
できないとおもいますよ、できるというのなら >>630 を C で記述してみてください

>20年位前の本に「ANSI C に準拠したコンパイラならできる」と紹介されている。
出典を明記ください
670
(1): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)15:53 ID:jppBZDTS0(3/8)調 AAS
>>666
>てめえの怠慢を俺が尻拭いする筋合いはねえぜ
あなたは私の怠慢を主張するのと同様の筋で、私はあなたの欺瞞を主張します
出典元や引用を正確にできないのであれば、あなたは嘘をついていると判断されてもしかたがないと思います
671: ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)15:55 ID:jppBZDTS0(4/8)調 AAS
>>661
片山先生は私とは比較にならないほど生産性の高いプログラマですよ
672: ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)16:03 ID:jppBZDTS0(5/8)調 AAS
>>652
はじめて知りました、>>650 は勘違いした内容でした、すみません
ご紹介ありがとうございます。今試しているところです!
673
(1): (ワッチョイ df01-LXA5) 2019/05/25(土)16:17 ID:Tic4GHY30(2/2)調 AAS
>>668
真面目な話、規格書読んでこい
ツッコミどころが頓珍漢すぎる
674
(2): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)17:02 ID:jppBZDTS0(6/8)調 AAS
>>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つめのメンバにベースクラスのインスタンスを書く
>それだけで呼び出し元のコードはほぼなにも考えずにベースクラスの機能を使うことができる

構造体の先頭にパディングがあった場合は、この記述は正しくないのではないでしょうか。
675
(1): ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)17:37 ID:jppBZDTS0(7/8)調 AAS
>>674
よくよく考えると、私の「この記述は構造体のパディングが構造体の先頭に詰められる場合を排除していないと考えます」もかなり疑わしい、
パディングというものは、一つのメンバがあって、それに対してもう一つのメンバを置くときにパディングを置くものであって、最初からパディングを置く必然性がないですね

struct S {
int a;
} b;
のとき
&b = &(b.a)
は保障されている、時間がたつにつれてそんな気がどんどんしてきました…

>>658 を認め、同時に単一継承であれば C で OO と継承を表現できることを認めます
676: ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/25(土)18:11 ID:jppBZDTS0(8/8)調 AAS
>>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
くらいに解釈するべきなんですね
検討する機会をいただきありがとうございました
677: (ブーイモ MMcb-wr5r) 2019/05/25(土)21:04 ID:DDy3bloZM(1)調 AAS
>>675
絶対許さんぞおおおお
678
(1): (アウアウエー Sa9f-eVvB) 2019/05/25(土)21:07 ID:aM9QB8YDa(1)調 AAS
オブジェクト指向って抽象化が目的なのに、メモリ配置とか気にするのは馬鹿みたいだよな
679: (ワッチョイ e701-GX6Y) 2019/05/25(土)21:23 ID:cjrLAMgS0(1)調 AAS
MicrosoftのCOMはほとんど全てのコンパイラが構造体のメモリ配列を同じ様にするってのを利用してるんだっけ?
680: (ドコグロ MMeb-LXA5) 2019/05/25(土)22:13 ID:UN9uDEfaM(1)調 AAS
>>678
ここにも概念と実装の区別がついてないバカが…w
681
(3): (ワッチョイ bfba-GX6Y) 2019/05/25(土)23:25 ID:KPhaQb+n0(2/2)調 AAS
>>669
C言語でオブジェクト指向を表現する (クラス、継承)
https://qiita.com/qiita_kuru/items/8f3441bce9b2f53d1d62
この辺でも読んどけ。

「何故できるか」まで言及したもっといい文献はあるがカスには教えない。
俺は「せざるを得ない」状況だったのでCでOOしたが、ネイティブでOOできるならそれに越したことはない。

あ、同じ板でハッシュが一致してるのでお前は蟻。
682: (アウアウエー Sa9f-eVvB) 2019/05/26(日)01:24 ID:zv+FEFKTa(1)調 AAS
>>681
またおまえか
683
(1): (ワッチョイ 67f6-dCWx) 2019/05/26(日)08:36 ID:o+/j3IaP0(1/2)調 AAS
>>670
は? 俺は主張なんざしてねえぜ
事実をありのまま指摘しただけだ
何勘違いしてやがる
というか勘違いということにせねば立場がねえってかw
684: (ワッチョイ e7dc-dCWx) 2019/05/26(日)08:56 ID:7tI1cTYc0(1)調 AAS
もうこんなとこで喧嘩しても勝敗つかないんだからやめろw
仲良くできねえのかお前らは
685: (ワッチョイ df2c-o9SV) 2019/05/26(日)12:29 ID:lzKtO2WM0(1)調 AAS
でも冷静になって考えてみろ
単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか
逆に言えばAIが人知を超える時
人間は機械に滅ぼされ地球から人間はいなくなっているという事
つまり今何をすべきかと言うと人間は思考をやめアホになるべきである
そうアホの坂田こそ未来の救世主ネオなのである
686
(2): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)15:17 ID:CpBTYp0n0(1/10)調 AAS
>>681
そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです
すなわち、継承と委譲を区別できていません
そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした
そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします
687: ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)15:19 ID:CpBTYp0n0(2/10)調 AAS
>>683
事実かどうかは、主観的か客観的か、に依存すると思いますが、
相対論においてはすべての事象について純客観的などありえない…?
ので、?より、あなたは主観を主張しているものと私は理解します
688
(1): (ワッチョイ df33-Fpyl) 2019/05/26(日)15:46 ID:aNhG7Lwu0(1/4)調 AAS
>>686
「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、
言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの?
そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?
689
(2): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)15:52 ID:CpBTYp0n0(3/10)調 AAS
>>688
委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…? という主張ですね
?は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています
「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます
690
(1): (ワッチョイ df59-eVvB) 2019/05/26(日)16:00 ID:Jdhtsrqd0(1/2)調 AAS
まあ継承なんてオブジェクト指向と関係ないからね
691
(1): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)16:02 ID:CpBTYp0n0(4/10)調 AAS
>>690
それは初耳です
Object Oriented に継承は憑き物だと思っていました、継承のない OO って存在するのですか?それは例えばなにですか?
692
(2): (ワッチョイ df33-Fpyl) 2019/05/26(日)16:08 ID:aNhG7Lwu0(2/4)調 AAS
>>689
ちょっと何言ってるかわからないな。
ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。

明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
693
(1): (ワッチョイ df59-eVvB) 2019/05/26(日)16:22 ID:Jdhtsrqd0(2/2)調 AAS
>>691
なにって、言語を知りたいということ?
694
(1): (ワッチョイ a7da-n/qg) 2019/05/26(日)16:37 ID:vwTAovQx0(1/2)調 AAS
クラスベースのOOP言語ではクラスの継承は一般的だけどプロトタイプベースのOOP言語では継承の概念は存在しないよ
695
(1): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)16:40 ID:CpBTYp0n0(5/10)調 AAS
>>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 の実態を一つに限定することが不可能です、つまり選択肢を準備できません

以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます
ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます
696: ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)16:41 ID:CpBTYp0n0(6/10)調 AAS
>>693-694
ふーん、インタプリタ JavaScript には継承はないのですか
697: (ワッチョイ a7da-n/qg) 2019/05/26(日)16:41 ID:vwTAovQx0(2/2)調 AAS
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
698: ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)17:08 ID:CpBTYp0n0(7/10)調 AAS
>>692
>明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
「単一継承に限定するのならば委譲による継承の実装も可能である」という意味での>>689の「理解します」の文言だと解釈ください
ただし委譲で継承をすべて実現できないので、>>681 掲載のリンク先は「詰めが甘い」と判断せざるを得ない、そんなリンク先を紹介する >>681 も同様と判断するものです
699: (アウアウエー Sa9f-eVvB) 2019/05/26(日)17:11 ID:iR9VJ5EUa(1)調 AAS
継承がオブジェクト指向と無関係なんだから、委譲で実現する必要がない
700
(1): (ワッチョイ df33-Fpyl) 2019/05/26(日)17:25 ID:aNhG7Lwu0(3/4)調 AAS
>>695
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。
701: (ワッチョイ df01-LXA5) 2019/05/26(日)17:39 ID:kcdU4Ge60(1)調 AAS
もうそろそろ別スレ立ててやれや

> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…
702
(2): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)17:50 ID:CpBTYp0n0(8/10)調 AAS
>>700
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います
703
(1): (ワッチョイ 877c-eVvB) 2019/05/26(日)17:56 ID:NrZyzakr0(1/3)調 AAS
>>702
継承はだめだよ
これから使ったら反省文ね
704
(1): (ワッチョイ df33-Fpyl) 2019/05/26(日)18:07 ID:aNhG7Lwu0(4/4)調 AAS
>>702
むちゃくちゃだなぁ。「私のいうところの」「継承」「委譲」の区別がどうにも掴めないし、
その区別の意義も示されなさそうだし、迷惑してる人もいるみたいだから、離脱させてもらうよ。
705
(1): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)18:09 ID:CpBTYp0n0(9/10)調 AAS
>>703
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ
706
(1): ◆QZaw55cn4c (ワッチョイ c798-SwLn) 2019/05/26(日)18:13 ID:CpBTYp0n0(10/10)調 AAS
>>704
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう
707: (ワッチョイ 877c-eVvB) 2019/05/26(日)18:34 ID:NrZyzakr0(2/3)調 AAS
>>705
だから、世界の共通認識として要らないもの。
使っちゃだめ。
708
(1): (ワッチョイ 7f63-+klA) 2019/05/26(日)18:57 ID:mCW+tIqA0(1)調 AAS
もういい加減やめてくれないかな
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ
709: (ワッチョイ 877c-eVvB) 2019/05/26(日)19:03 ID:NrZyzakr0(3/3)調 AAS
>>708
またおまえか
710: (ワッチョイ 67f6-dCWx) 2019/05/26(日)20:50 ID:o+/j3IaP0(2/2)調 AAS
>>706
私のいうところのって、最初の論旨からずいぶん乖離しているな
カプセル化や継承ができるかどうかって話だっただろうがよ

いつから、おまえのお気に召すかどうかって話になったんだよ
711: (ワッチョイ bfba-GX6Y) 2019/05/26(日)23:38 ID:SA/0I36h0(1)調 AAS
>>686
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww
712: (ワッチョイ dfad-Yys2) 2019/05/27(月)01:54 ID:sXav5Bzw0(1)調 AAS
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
713
(1): (ワッチョイ 7f63-+klA) 2019/05/27(月)02:52 ID:jiPRfYyG0(1)調 AAS
ソロソロ終わって良いですよね?
この議論は、C使っている人とは違う世界に感じる
714: (ワッチョイ e77c-eVvB) 2019/05/27(月)03:09 ID:HzhW79+j0(1)調 AAS
>>713
またおまえか
715: (ワッチョイ 87d2-Ni/X) 2019/05/27(月)09:01 ID:Nqk3VxBP0(1/2)調 AAS
stddef.hをインクルードして
#define __STDC_WANT_LIB_EXT1__ 1
を定義して
-std=c11をつけても
gccでrsize_tが使えないですけど
なぜですか?
windows版のGCCでは使えました
716
(1): (アウアウカー Sa3b-eVvB) 2019/05/27(月)09:23 ID:or6IbtWZa(1)調 AAS
defineの順番とか…
717: (ワッチョイ 87d2-Ni/X) 2019/05/27(月)09:34 ID:Nqk3VxBP0(2/2)調 AAS
>>716
順番は試しましたが駄目でした
718: (アウアウエー Sa9f-eVvB) 2019/05/27(月)10:04 ID:PB+ZSyAza(1)調 AAS
rsize_tって多分オプションだから実装されてないよね?
windowsはなぜか実装してる
719: (ワッチョイ bfba-9b2Z) 2019/05/27(月)10:11 ID:Zyn15i1D0(1)調 AAS
C#でポインタ使えばC、C++は無くても良いんじゃないですか?
720: (ラクペッ MM7b-n/qg) 2019/05/27(月)10:15 ID:gR3ITcWOM(1)調 AAS
C#使うならポインタのように面倒臭いこと考えなくても変数でも関数でも参照できるだろ
721: (ワッチョイ df79-buEI) 2019/05/27(月)19:48 ID:0mZL0xC90(1)調 AAS
C#のポインタはC/C++ほど使い勝手が良くない
C#でポインタを使ったところでパフォーマンスはC++の半分程度

まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし
722
(2): (アウアウウー Saab-EYzY) 2019/05/27(月)20:36 ID:f4m/nmMua(1)調 AAS
まあ、だいたいの後から出た言語はC/C++の欠点を補おうとしているのでポインタがあっても安全なのが普通だな。
723: (ワッチョイ c7c3-OWKl) 2019/05/27(月)20:42 ID:MaSSH1d10(1)調 AAS
安全じゃないのがc#のポインタの特長だろ。
特徴じゃなく
724: (アウアウウー Saab-/OyN) 2019/05/27(月)21:12 ID:RgnUDQi4a(1)調 AAS
そりゃC#のポインタ使うにはunsafeオプションが必要だからね。安全じゃないわね。
C#のポインタは過去資産APIを使うための必要悪って感じか。
725
(1): (ドコグロ MM1b-LXA5) 2019/05/28(火)07:12 ID:gr6HI2ftM(1)調 AAS
>>722
Cの前からでてたPascalにもポインタはあるんだが…
むしろC/C++が例外的
726
(1): (ワッチョイ dfb9-9b2Z) 2019/05/28(火)09:09 ID:HGTlDNNW0(1/2)調 AAS
数年前からこのプロジェクトがちょっと注目されてるけどどう思う?
RustはC++を置き換えてもCを置き換えないだろうと思うし、
ZigはCの置き換えとしては妥当なんじゃないかという気がする。
Cより高速、単純、堅牢らしい。
https://ziglang.org/
727: (ワッチョイ dfb9-9b2Z) 2019/05/28(火)09:29 ID:HGTlDNNW0(2/2)調 AAS
Cより速いと主張
>Speaking of performance, Zig is faster than C.

単純な言語仕様
>Small, simple language

性能と堅牢性
>Performance and Safety: Choose Two

個人的にとても興味を持ってるんだが
728: (ワッチョイ df79-buEI) 2019/05/28(火)17:05 ID:5GqHhS1Q0(1)調 AAS
CはC++ほどではないにせよ色々酷いから
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい
729: (ワッチョイ dfa5-vAXu) 2019/05/28(火)17:30 ID:vL2LyOeQ0(1/2)調 AAS
>>726
https://www.spriters-resource.com/resources/sheets/34/36939.png

ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな
730
(1): (ワッチョイ df01-1tV+) 2019/05/28(火)19:02 ID:Pzgny9jf0(1)調 AAS
https://www.datadeliver.net/receiver/file_box.do?fb=966f97555e424f19a29d0d866b4b3cf5&rc=683943257e194056afc95195b542ba5d&lang=ja

キューを実装する?プログラムを書いたのだがコアダンプになってしまったため、どこが悪いのか調べるために1回だけenqueueをするように変えたら無限に10を生成するようになってしまった
どこが悪かったのか、どうして10が無限に生成されるのか、教えて欲しい

環境は学校の端末演習室でやったから詳しいことはわからんです
731: (ワッチョイ 075f-dzUy) 2019/05/28(火)19:04 ID:F6815kaN0(1)調 AAS
>>730
それじゃあ検証のしようがない
ネットカフェで書いてここに晒せ
732: (ワッチョイ dfa5-vAXu) 2019/05/28(火)20:11 ID:vL2LyOeQ0(2/2)調 AAS
「無限に10を生成するようになってしまった」「どうして10が無限に生成されるのか」
コレがポイントだな
無限に生成してるように見えるだけだよ

要するにprintが悪い
whileだと分かりづらいんだよ
forだとラク
「q->head = temp;」とか、自分で書いてて分からなかったんだろ
だからwhile文だとこのケースでは分かりにくくなる
forを使うのが正解

void print(struct queuel *q){
struct cell *pt;

printf("[");
for( pt = q; pt != NULL; pt = pt->next ){
printf(" %d", pt->data);
}
printf(" ]\n");

}
733
(1): (アウアウウー Saab-EYzY) 2019/05/28(火)21:09 ID:Rd7hCJnFa(1/2)調 AAS
>>725
Pascalの方が先にできたんだっけ?

まあでも用途が大幅に違うよね。Pascalはコンピュータの学習用の高級言語でCはOS記述用でアセンブラ代わりに使う言語。
734: (ワッチョイ 67f6-dCWx) 2019/05/28(火)21:27 ID:jSvCRMUQ0(1/2)調 AAS
Pascalが嫌いな人が作った言語だ
735
(1): (ワッチョイ df01-LXA5) 2019/05/28(火)22:21 ID:/lAZ9dU10(1)調 AAS
>>733
だからそんなことを言い出したら>>722の言うポインタが安全な言語って用途が違う言語だよね
って話にしかならないんだが…
736
(1): (アウアウウー Saab-EYzY) 2019/05/28(火)22:24 ID:Rd7hCJnFa(2/2)調 AAS
>>735
まあそうだな。
Cは用途が違う上に古くて安全性が低い感じか。
737: (ワッチョイ 67f6-dCWx) 2019/05/28(火)23:20 ID:jSvCRMUQ0(2/2)調 AAS
安全性って何だよ
インテルのerrataみたいなことか?
738: (ワッチョイ 7f63-+klA) 2019/05/28(火)23:34 ID:IamnQRk90(1)調 AAS
子供にはナイフを使わせるなというのと同じ類いか
739: (ワッチョイ df01-LXA5) 2019/05/29(水)04:57 ID:mWed49vm0(1)調 AAS
>>736
いやOSを書くにはその安全性が邪魔になるから両立は難しいよ
740
(2): (ワッチョイ dfb9-9b2Z) 2019/05/29(水)06:20 ID:D5Uzvk1s0(1)調 AAS
OSのコードはどんな感じなの?
ポインタを使ったトリッキーな事をやってるの?

未だにLinuxでバッファオーバーフローの脆弱性出てるよね
741: (ドコグロ MM3b-LXA5) 2019/05/29(水)06:48 ID:Bfh00rIBM(1)調 AAS
>>740
OSのソースなんてちょっとググればいくらでも出てくるから自分で見なよ
742: (ワッチョイ 67ab-K/jJ) 2019/05/29(水)07:45 ID:6C23lth10(1)調 AAS
見たこともないやつが議論してたのかよ
743: (ワッチョイ dfa5-vAXu) 2019/05/29(水)08:03 ID:aFUCBt4U0(1)調 AAS
詳細linuxとかいう1000ページの宗教書だろ
持ってるだけで御利益がある
744: (スプッッ Sd9f-OWKl) 2019/05/29(水)08:13 ID:akQz27P/d(1)調 AAS
オープンソースなのだから1分もあればソースコードくらい見られるだろうに
745: ◆QZaw55cn4c (ワッチョイ df47-SwLn) 2019/05/29(水)18:31 ID:8RGCI4670(1)調 AAS
>>740
>未だにLinuxでバッファオーバーフローの脆弱性出てるよね
最近は聞かないね…
746: (アウアウエー Sa9f-eVvB) 2019/05/29(水)19:51 ID:D+pGsdPRa(1)調 AAS
今普通に静的・動的解析使うとバッファオーバーフローなんてあり得ない感じするわ。
747: (ワッチョイ df73-buEI) 2019/05/29(水)20:40 ID:rT4tqcG+0(1)調 AAS
strcpyとかsprintfとか使ってるコードはまだたくさんあるでしょ
dstのサイズ指定しないライブラリとか
748: (アウアウウー Saab-EYzY) 2019/05/29(水)21:00 ID:FFsAnOexa(1)調 AAS
Cは標準ライブラリ考え直した方が良いかもね。
749: (トンモー MM97-OIQ8) 2019/05/31(金)08:23 ID:JBiczG6TM(1/2)調 AAS
Cが最も好きだけど、
C十十のほうがライブラリが
便利なのあるから、
個人で趣味で作るものは最近は
CとC++混在で作ります。
わりと自由に混在できるので
とても助かってます。
こうゆの俺だけですかね?
1-
あと 253 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s