C言語なら俺に聞け 140 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 6f8c-8ulf)
垢版 |
2017/05/11(木) 22:20:03.99ID:cn414UR90
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/


http://echo.2ch.net/test/read.cgi/tech/1487757355/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/07/08(土) 15:27:31.00ID:vtRSgpti0
>>785
宣言時と使用時で優先度が変わるのは好ましくない
2017/07/08(土) 15:49:17.90ID:lUvEvZ3o0
別物なんだから同じにする必要はないな。
788デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/08(土) 18:26:01.68ID:znuCL+sZ0
>>697は逃げたかw

# 俺はしつこい
789デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/08(土) 18:47:08.89ID:znuCL+sZ0
>>787
わざわざ同じでなくす必要はもっとない
2017/07/08(土) 18:48:02.85ID:/o9ObF5e0
>>787
そうやって文法を増やすのは好ましくない
791デフォルトの名無しさん (ワッチョイ 97c1-1B52)
垢版 |
2017/07/08(土) 19:20:19.10ID:UbbmKSpA0
昨晩はレスありがとうございました
戴いたレスを読み直しながらいろいろ考えていたら>>738>>745>>760の意味を理解できました
void foo(struct LIST *ptr) のとき*ptrを使うのは型が違うという意味もやっと理解できました
代入するときの型が合ってないという事がちゃんと理解できてなかったと思います
丁寧に説明していただいていたのにピントのズレたこと言っててすみませんでした
重ねてありがとうございました
2017/07/08(土) 19:40:16.15ID:t7BT1SeM0
>>782
右辺値左辺値ってC++が糞な部分にパッチ当てただけで、
Cやポインタには全く関係ないだろ。
793デフォルトの名無しさん (ワッチョイ 9f8f-gRQY)
垢版 |
2017/07/08(土) 19:47:16.06ID:HDF4cM220
>>792
Cに全く関係ないってのは言いすぎだけど、ポインタには関係ないのはその通り。
794デフォルトの名無しさん (ワッチョイ 9f8f-gRQY)
垢版 |
2017/07/08(土) 19:50:13.79ID:HDF4cM220
ん?
ああ、でもコンストラクタシステムがない以上、気にするところではないのか。
失礼、Cには確かに関係ないね。
2017/07/08(土) 20:40:01.20ID:cmJEhNfHM
>>791
       |
    / ̄ ̄ ̄\
  /       .\
 .|    .∧    |
 .|  ./川\  |
  \/┏┷┓\/
     。┃お┃。
  ゙ # ゚┃め┃; 。
   ; 。 ・┃で┃・ #
  。 ;゙ #┃と┃# 。
  ゙・# : ┃う┃。 ; 。
 .;:# ゙。゚┃!┃゚ 。 #
 ; 。;; ゙.:。┗┯┛。 # : #
  ∧_∧ │
. ( ´・ω・)│
 :/   つΦ
2017/07/08(土) 21:14:44.01ID:H/yQ/C3x0
>>788
だから何?って聞いてるんだけど w
逃げてるのは君の方だろ
797デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/08(土) 21:31:33.01ID:znuCL+sZ0
>>796
おまえの定義では、どうなっていることを「組み込まれている」というんだ?
たとえば、
float a = sizeof(int);
これの動作過程の途中に生じる整数型は、コンパイラには組み込まれていないのか?
だとするならば、コンパイラは標準変換の規定に「準拠」することができないぞ

さあ答えろ
2017/07/08(土) 22:10:39.54ID:H/yQ/C3x0
>>797
> # cl.exeではsize_tがいきなり使えるが
ってどや顔して恥の上塗してた奴もいたけど? w
2017/07/09(日) 05:03:16.31ID:W7Itegl80
組み込まれていない:stddef.hで定義されてるんだから組み込み型ではない
組み込まれてる:unsigned intかunsigned longかunsigned long longか知らんけど組み込まれてるだろ
ってことかすぃら?
800デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 05:59:52.53ID:DwPx7o2S0
>>798
ああ、そこにしか答えられないわけね
立派な答えだ

799がごく当たり前の答えを代わりに書いてくれているが
それすら答えられないようなゴミはCスレに出しゃばってくんな
2017/07/09(日) 06:59:17.53ID:ouwdb2hLM
で結局 >>800 は何を言いたかったんだ?
意図不明なコードで規格ガーってどや顔してたら>>799に一蹴された
としか見えないけど w
802デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 07:40:42.30ID:DwPx7o2S0
>>801
おまえさ、コードの意味が読めませんだなんて
このスレにおいて死ぬより恥ずかしいことを
わざわざ自己紹介しなくていいよ

799に助けて貰ってもその意味すらわかんねえんだろバーカ
2017/07/09(日) 13:14:16.68ID:Uu/MlKNRM
>>802
「意味」と「意図」の区別もつかないアホ w
チョロすぎるわ
2017/07/09(日) 14:30:35.01ID:1GYqbN7ba
アホだのバカだの子供みてーなケンカすんなw
805デフォルトの名無しさん (ワッチョイ 9f6e-4BC7)
垢版 |
2017/07/09(日) 15:09:59.91ID:ZJXpL8k20
見苦しい喧嘩して何になるんだ?
2017/07/09(日) 16:46:00.20ID:Uu/MlKNRM
>>804-805
恥を上塗りまくってる >>788 に言えば? w
807デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 18:27:56.89ID:DwPx7o2S0
>>803
いーや、おまえは意味がわかってない
だから、あんな簡単な問いにぐうの音も出なかった
誰が見ても明らかだよ
2017/07/09(日) 18:49:12.76ID:bCABOrL10
>>807
>>803
809デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 19:05:13.48ID:DwPx7o2S0
>>808
>>807
810デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 19:06:47.55ID:DwPx7o2S0
俺はしつこい

おまえの定義では、どうなっていることを「組み込まれている」というんだ?
たとえば、
float a = sizeof(int);
これの動作過程の途中に生じる整数型は、コンパイラには組み込まれていないのか?
だとするならば、コンパイラは標準変換の規定に「準拠」することができないぞ
2017/07/09(日) 19:08:38.13ID:6MYOcrZ9d
他でやれ
812デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 19:09:15.82ID:DwPx7o2S0
動作の実装と識別子の導入の区別もつかないアホが
どでかいブーメランほってやがるぜw
2017/07/09(日) 19:22:24.50ID:bCABOrL10
>>799が正解 ⇒ >>695が知ったかと言うのは誰の目にも明らかだしね
814デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 19:42:37.88ID:DwPx7o2S0
>>813
いいだろう、少しだけ相手してやる
どこでもいいから>>695に突っ込めることを噛みついてみな

国会で審議妨害ばかりしているクズ野党みたいな戯れ言じゃなく
技術的に意味のある内容で来い
2017/07/09(日) 19:52:27.11ID:bCABOrL10
日本語が理解できてないんだろうな...
出してきた「意図」もわからんものにどう突っ込めと w
sizeof が size_t 型の値を返すのは当たり前で float とかワケわからんこと言われても困惑するだけ
2017/07/09(日) 20:27:57.13ID:aZRl9YVa0
仮に c++ の typeid のようなものが実装されてたら何を返すんだろう?
size_t に割あたってる整数の型であって size_t そのものは返さない気もするが
817デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/09(日) 21:16:46.06ID:DwPx7o2S0
>>815
日本語が理解できてないのはおまえ
>>695におまえが意図不明という「コード」は含まれていない

空疎な言い訳で逃げ回るザマはたっぷり見せてもらったからもういいぜ
こっちも腹筋がそろそろヤバい
2017/07/10(月) 00:20:27.86ID:LlABZZSK0
おいQZごみ回答はやめとけ
2017/07/10(月) 05:01:56.54ID:3theqA1Q0
>>817
お前の意図が不明かどうかを判断するのは俺
マジで意図の意味がわかってないって言うオチかよ w
820デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/10(月) 05:25:51.74ID:JKtUlR/N0
>>819
技術的に意味のある話ができず
空疎な言い訳に終始しかできねえのを
人のせいにしてんじゃねえよゴミクズ
2017/07/10(月) 06:04:11.75ID:1stf4kaQM
アスペ同士の会話は訳がわからんな
822デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/10(月) 08:34:02.15ID:JKtUlR/N0
>>821
おまえも同類だ
2017/07/10(月) 09:14:14.93ID:ssjcNeI9M
はぁ?お前だろ。

ってか誰だよ?


オレは誰だよ?
2017/07/10(月) 09:23:56.47ID:NWwU0Zhtd
ここはしょうがくせいのたまりば?
2017/07/10(月) 09:32:25.86ID:FFzIEFLy0
あー!授業中に2chしたらいーけないんだー!
826デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/10(月) 09:46:21.35ID:JKtUlR/N0
>>823
技術的に意味のある話ができず
空疎な言い訳に終始しかできねえ
ゴミクズのお仲間、それがおまえだ
誰であろうがその特徴に違いはない
2017/07/10(月) 10:48:23.17ID:3theqA1Q0
技術的にと言う割りには>>815の後半とか>>816にはレスしないんだな w
>>695を誤魔化すためにワケわからんこと書いてうやむやにしようとしてるのはみんなわかってるから
828デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/10(月) 11:38:17.15ID:JKtUlR/N0
>>827
おまえが>>815>>816を書いたとでも言うのか?
他人の言葉を借りていきがっても、しょせんその程度だおまえは
2017/07/10(月) 11:59:47.48ID:uinqb5xX0
底が見えてきたな
830デフォルトの名無しさん (ワッチョイ ff1c-2mCk)
垢版 |
2017/07/10(月) 12:06:39.12ID:JKtUlR/N0
国会にもよく似たゴミが来てるぞ
http://snjpn.net/archives/24782
2017/07/11(火) 18:55:41.44ID:dSS1j36W0
[][Tebla][]

}

000-"Yob*RtStrike"[%Kil\]MO,fla>%$9999VLTS

001-GYORLith"0\R"/"ESUBA"%$%

HADO-"EM","L","O","NU"###END
832デフォルトの名無しさん (ワッチョイ 2a6c-S4qQ)
垢版 |
2017/07/13(木) 11:06:39.28ID:BCHZTwvD0
Makefileで、
.PHONY: doc
doc:
  doxygen
みたいに毎回.PHONY書くのあほっぽいんだけど、1行にならん?
833デフォルトの名無しさん (ワッチョイ 4a69-1jjp)
垢版 |
2017/07/13(木) 12:01:26.06ID:LenxTGcs0
C言語でインラインアセンブラが使える文法の違いってどこかに解説ありますか?
asm{}文の表記のしかたが違う
2017/07/13(木) 13:21:33.92ID:b1PvI/zld
コンパイラの説明書!
835デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/13(木) 16:20:17.23ID:PWiSD9vP0
ISO/IEC9899:2011で、asmについて書かれているのは、全文中でたったのこれだけ
J. 5.10 The asm keyword
The asm keyword may be used to insert assembly language directly into the translator output (6.8). The most common implementation is via a statement of the form:
asm ( character-string-literal );

asmはたぶんコンパイル結果にアセンブラを生中出しするために使われる
たいていこうなっている
asm(文字列リテラル);

つまりこれ以上はGNUやM$に聞けってこと
https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
https://msdn.microsoft.com/ja-jp/library/4ks26t93.aspx
2017/07/13(木) 17:03:33.50ID:32wk5maY0
そもそもの仕様として、
構造体のメンバーの参照に '.' と '->' を
使い分ける必要性がわからないんだけど、なぜ?

間接参照だと意識しろっていう教育的な意味以外思い付かん
2017/07/13(木) 17:24:51.23ID:9amqftWh0
(*hoge).piyo
hoge->piyo

どっちでもいいけど後者の方が簡単というだけの話
838デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/13(木) 18:47:04.29ID:PWiSD9vP0
そういうことじゃなく
Javaの参照ドットみたいなことに
なぜしなかったのか、だろ

ポインタを参照だと言い張るだけでいいのにと
2017/07/13(木) 20:54:14.63ID:VVeozCkKH
構造体は全部参照だということにしたいの?
それすると、宣言するときに領域確保して、
いらなくなったらガベコレするっていう機構を組み込んどく必要があって、
Cのシンプルさにまったく合わなくなる。
2017/07/13(木) 20:55:07.17ID:lX8cJUTX0
違う意味だから違う記号
2017/07/13(木) 21:00:00.33ID:5QMVP3z90
高橋麻奈も
おばさんになったな。
2017/07/13(木) 21:29:51.07ID:e9IZxggq0
>>832
毎回の意味がわからんな。
2017/07/13(木) 22:00:17.18ID:EExJF9140
>>838
>>839
参照云々はどーでもいいんだよ
左辺がポインタなら間接参照のコード吐いて
実体ならば直接参照のコード吐けばいいってだけのこと

すでに2つの演算子ありきの話になっていると思うぞ
844デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/13(木) 22:09:19.10ID:PWiSD9vP0
>>843
ドヤ顔で話の前提になってることをデバッグ出力してんじゃねえ
バグってる可能性があるのはおまえだけだ
2017/07/13(木) 22:11:04.90ID:WI/JuPuE0
ポインタなら->の方が分かりやすいでしょ
もしかして矢印って分からない?
2017/07/13(木) 22:11:58.75ID:LTIPW4bg0
-> で書いているのを . でも許したとして、コンパイラに不都合が出てくるんだろうか?

((struct foo*)0)->member ⇒ ((struct foo*)0).member

キャストの後の括弧がなくても通すと リテラルと繋がるから面倒をおこしそうだけども
(struct foo*)0->member ⇒ (struct foo*)0.member
そういうわけでもなさそうだし
2017/07/13(木) 22:13:53.71ID:lX8cJUTX0
グローバル変数から関数の引数にしたりするときに、置換が面倒だと思うことはある
C++だと山椒があるんでそういうことも少ない
2017/07/13(木) 22:40:18.99ID:5QMVP3z90
参照はピリリと辛いのさ
2017/07/13(木) 22:48:52.06ID:ZRvPs5t50
>>846
思想としてそこまで意識して書き、ソース上にもその痕跡を残せってことでしょ。
他言語で言うプロパティの良し悪しと同じ議論だよ。
好き嫌いはあれども、正しい or 間違いの結論はでない。

コンパイラはエラーを検出できてるんだから、
その場合は . を -> と読み替えろ、というルーチンを入れれば君が欲しいものは簡単に作れる。
でも誰も用意しなかった。それが事実だね。
2017/07/13(木) 23:28:37.17ID:EExJF9140
>>844
勝手に前提にするな〜
836は俺だ

>>846
そうそう、仕様として何か不都合があるのかという話がしたかったんだ

>>849
だから836で「教育的な意味」と書いている
結局言語仕様としてこうしないと問題がある訳じゃなくて
「教育的な意味」だけのことでいいんだな

>>847
きっかけはまさにそれ
書き換えめんどくせーから始まって、
コンパイラが困るのかと
色々なパターンを考えてみたんだけど
困るパターンを見つけられなかったんで
こんな話を始めたんだよ
2017/07/14(金) 00:02:31.73ID:jsZNOhnp0
>>850
> 「教育的な意味」だけのことでいいんだな
>>839に答えは既に書いてあるだろ。アホなのか?
具体的にはスタック上に構造体を取って高速化する手法が使えなくなるんだよ。

(大抵の他言語では記述方法自体が用意されていない。
VC++/CLIではvalue型が用意されていて効果があることになっている。
が、ろくな説明が見当たらないorz)
古いが以下。
http://www.eonet.ne.jp/~maeda/cpp/value.htm
MS公式は以下。全く説明する気が無いw
https://msdn.microsoft.com/ja-jp/library/ke3a209d.aspx

というか、そこらへんが面倒だというのならJavaやC#使えって話でしかなく、
今の時代にC使うのならそこまで含めてチューニングする気で書け、でしかない。
2017/07/14(金) 00:16:04.99ID:1+0wIQjnM
839だけど >>851 は周回遅れ。
構造体へのポインタでも、構造体でも、. を使う文法にできるんじゃねっていう主張。
今のところ俺もそれへの具体的な反論を用意できていない。
「教育的」っていうのは違うと思うがな。
2017/07/14(金) 00:35:26.21ID:jsZNOhnp0
>>852
いやみりゃ分かるが 851=849で、俺もそれは否定しない。
ただ、確かに851は間違いだったわ。
確保時の文法が異なっていて、それで十分だから、その後は区別する必要はないね。

見た目、直接か間接か分かるようにしろってことだろ。
2017/07/14(金) 05:37:38.18ID:JCM3Qqhn0
ポインタなら(*foo).member と書くべきのところ->で書けるようにしたってことだけじゃないの?
糖衣構文的なオプションだろう

つうか、どちらもドット演算子に統一した場合、
ポインタなのにデリファレンスしないで値にアクセスできる仕様はCの文法としておかしくね?
2017/07/14(金) 05:52:17.16ID:JCM3Qqhn0
逆にドット演算子の意味を考えてみると、これ変数からのオフセットだろ
2017/07/14(金) 06:19:15.44ID:JCM3Qqhn0
デリファレンスしてもしなくても意味が同じという仕様にした場合、
構造体のポインタのポインタだともっとおかしなことになる
やっぱりダメなんだよw
2017/07/14(金) 06:56:35.87ID:ES2lu6HJM
その反論じゃダメージゼロだ
2017/07/14(金) 07:00:49.03ID:8xomc53MM
>>843
struct s { int *a; };
void f(struct s *sp){
int b = 1;
sp.a = &b; /* 今の文法なら sp->a = &b; */
x = sp.a;
って書かれたら x には b へのポインタが入るの?
それとも 1 が入るの?
まさか右辺の型に依存して変わるとか?
2017/07/14(金) 07:45:04.78ID:OkthEzhE0
最初Cのソース見たとき -> って記述がなんのジョークかと思ったわ。
2017/07/14(金) 07:47:03.66ID:JCM3Qqhn0
>>857
構造体Fooのポインタをメンバーに持つ構造体Fooのポインタで考えてみ
ドットでアクセスするのはどっちのメンバー?
2017/07/14(金) 07:52:21.63ID:JCM3Qqhn0
いや問題はそこじゃないな
862デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/14(金) 08:05:49.17ID:ZvHE7cBu0
>>854が最後にいいこと言った
>>856の指摘が読めてない>>857はIQで30くらい差があるんだろうな
2017/07/14(金) 08:06:19.82ID:OlhrA2fz0
(*pa).m と a->m
(*pa+i) と a[i]

お好きな方をどうぞ
2017/07/14(金) 09:01:40.73ID:i0uGqEt60
>>854
関数へのポインタは(*func)()とデリファレンスしなければいけないのに
func()と書けるようにしたのでおかしくはない
865デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/14(金) 10:09:02.17ID:ZvHE7cBu0
>>863
ミスってるぞ

>>864
sizeof func != sizeof *func
2017/07/14(金) 10:36:06.28ID:7SJq6nEP0
字下げスタイルについて質問です
現在職業訓練校で習っているのですがそこの先生が
「プロはみんなこっち(K&R)だから。最近の教科書はこういうの(オールマン)増えてるけど、初心者向けの本書いてる人はそもそもプログラマじゃないから……」と。
自分がオールマン好きなのと、本を書いてくれる人たちをばかにするような言い方でちょっとむっとしたのですが、実際にK&Rばかりなんでしょうか
2017/07/14(金) 10:58:17.61ID:XOCK9tWfH
>>866
自分一人で書くならプロだろうが何だろうが自分の好みを貫けばいい。
チームならそのチームのスタイルに合わせるのがプロ。
多数派は多分K&R。俺の好みもそう。
2017/07/14(金) 11:03:48.20ID:XOCK9tWfH
>>862
IQ180のお前さんならコード例一瞬で出せそうだからよろしく。
2017/07/14(金) 12:28:17.80ID:i0uGqEt60
>>865
コンパイラが忖度してデリファレンスしてくれるって事じゃん
2017/07/14(金) 13:06:11.17ID:XJoggiB0M
>>866
今は他言語含めてK&Rが主流。昔の初心者本にオールマンスタイルで書かれてるのがあって
自分も最初は括弧の対応が分かりやすいからそれを使ってたけど
今は使わなくなった。括弧の対応なんて見れば分かるので重要じゃなくなる
2017/07/14(金) 13:16:54.77ID:q7yAZvho0
sizeof 関数 って何ぞ?
872デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/14(金) 14:28:28.54ID:ZvHE7cBu0
>>869
void (**f)();
f(); //error
2017/07/14(金) 15:00:47.41ID:JCM3Qqhn0
>>864
C FAQ 4.12
http://www.kouno.jp/home/c_faq/c4.html#12

配列名と関数名が特殊なのは、ポインタに成り下がるからなんだそうだ
構造体はどうだろうか?
874デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/14(金) 15:04:40.25ID:ZvHE7cBu0
>>866
その「先生」もプログラマじゃなさそうに聞こえる
どこのチームに入っても「こいつのクセうぜえ」と思われたらあかん
K&Rだのオールマンだのと言うが純粋なK&Rや純粋なオールマンはむしろ少数派で
たいていなにがしか方言があり、それを無視して原理主義に走ると
標準語を使っているはずの自分のほうが訛っていることにされてしまう
保護色ができないやつがプログラマの世間を知っているのか疑わしい
もしくは、元プログラマでも引退してからずいぶん長いとかな


プログラマ以外の世間でも「前の会社では」が口癖の新入りが干されるのと同じで
狭い世界の狭い正義にとらわれたスッパマンに居場所はない
2017/07/14(金) 15:11:15.53ID:UhIUjxkr0
そこのコーディング規約に従うまで

ただ、古典だけあってK&Rスタイルに近くなると話が早くなる
2017/07/14(金) 15:54:44.39ID:TDDe5YT10
c#はオールマンだし、どっちでもいいな
2017/07/14(金) 18:24:36.67ID:TDGI45F00
え?C#はオールマンなの?
2017/07/14(金) 19:07:42.77ID:pMddghpW0
コーディングスタイルなんて、GNUスタイルとかいう汚物じゃなければ何でもいいわ
2017/07/14(金) 19:09:37.89ID:TDGI45F00
あなたの色に染まります!
2017/07/14(金) 19:46:42.57ID:g8QLqbc9M
>>877
そうらしい

C#
マイクロソフトはC# のコーディング規則を発表しており、これは、BSD/オールマンのスタイルに基づいている。
https://ja.m.wikipedia.org/wiki/%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB
881デフォルトの名無しさん (ワッチョイ 8a1c-UU3S)
垢版 |
2017/07/14(金) 21:40:14.77ID:ZvHE7cBu0
汚物は消毒だ〜!!
882デフォルトの名無しさん (エーイモ SE9e-RQIi)
垢版 |
2017/07/15(土) 15:35:51.02ID:mwrVMnVyE
clangにはソースコードを解析してコードを補完する機能がありますけど
gccにはこういう機能はないのでしょうか?
2017/07/15(土) 16:17:52.28ID:4RmHy8z30
>>858
> x には b へのポインタが入るの?
> それとも 1 が入るの?
その仕様にした場合は、 x の型によって決まる。
多分、結局のところは、float->doubleのような暗黙のキャスト、
structPtr* -> *structPtr を許すかどうかだろう。
許しても大した問題はないように思えるが。

ポインタを使える最近の言語はGoとRustか?
詳しい奴がいれば聞いてみればいいのではないかな。
C言語で問題だった点は当然改修されているだろうし。
2017/07/15(土) 16:57:34.95ID:hu77KrcYM
>>883
> その仕様にした場合は、 x の型によって決まる
struct s { size_t *a; size_t *b; };
void f(struct s *sp){
size_t c[] = {1, 2};
sp.a = &c[0];
sp.b = &c[1];
x = sp.b - sp.a;
ってされたらどうするおつもり?
デリファレンスしてもしなくても結果は size_t だよ
2017/07/15(土) 17:11:06.39ID:4RmHy8z30
>>884
だからxの宣言によって決まるだろ。
Cにはvarはないんだよアホ。
お前根本的に型を分かってないだろ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況