- 1 名前:デフォルトの名無しさん mailto:sage [2021/12/25(土) 12:11:46.61 ID:xxeaCAplM.net]
- !extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C17 www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf 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/ ※前スレ C言語なら俺に聞け 157 https://mevius.5ch.net/test/read.cgi/tech/1624846971/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 255 名前:はちみつ餃子 mailto:sage [2022/02/23(水) 23:26:41.88 ID:o4j3GXmb0.net]
- 個々の場面で不適切でもチーム全員が適切に判断できないようなら
比較的マシそうな側に統一するルールにも合理性はある。 それとか「わからんかったらこうしとけ」みたいな口伝が 拡大解釈されていったりするのもありそうな話だ。
- 256 名前:はちみつ餃子 mailto:sage [2022/02/24(木) 00:03:57.70 ID:KIw+63Ii0.net]
- >>249
Google のガイドでは if や for の後に空白を入れる方針になってる。 私は入れないけど。
- 257 名前:はちみつ餃子 mailto:sage [2022/02/24(木) 00:21:21.22 ID:KIw+63Ii0.net]
- >>247
それが無限ループになるというのが読み取り難いからではないかな。 初期化やインクリメントの部分を省略したら単に何もしないのだろうと類推できるけど、 省略された条件式が真に判定されるのか偽に判定されるのかというのは例外規則として知ってなきゃわからない。 慣用句 (イディオム) と化してるので慣れてしまうと普通に読めるけど、 while(1) のほうが明示的な分だけわかりやすいのかもしれない。
- 258 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 00:27:00.80 ID:DLFV0+Dqa.net]
- 関数っぽさをなくすためにスペース空ける方がいいと思う
- 259 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 02:22:52.59 ID:9O+r6lMKM.net]
- >>252
while文で無限ループを作れるにも関わらず Rustではloop式を導入してる点が興味深いよね loop文ではなくloop式なのでbreak 値; で値を返せて凄く便利
- 260 名前:はちみつ餃子 mailto:sage [2022/02/24(木) 02:31:22.55 ID:KIw+63Ii0.net]
- >>254
ループとしては無限ループにしておいて break で抜けるような構造は良くないといえばあんまり良くないんだけど、 そうは言っても存在する以上はその場合を明示的に表せるような構文があると便利ってのも確かで、 そのあたりは設計思想の違いとしか言いようがないよな……。
- 261 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 02:44:45.66 ID:9O+r6lMKM.net]
- >>255
その構造が良くないというのは自分も昔はそうだったが単なる思い込みだと気付いたw さらにwhileは先頭でif break、do whileは最後でif breakしているだけであるし ある程度計算を進めてから途中でようやくif breakできないとwhileだと困ることもloop式で解決された さらにループを抜けてbreakしたい時は値を返したい時が多いからloop文ではなくloop式が非常に便利
- 262 名前:ハノン mailto:sage [2022/02/24(木) 05:13:17.42 ID:SpBJKMB7H.net]
- >>251,249
K&R2 では if や for, switch の後にはスペースを入れますね 私は基本的に K&R2 に沿って書きますが、関数の始まりを示す { は例外的に宣言に続けて書きます int main() { return 0; }
- 263 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 06:47:25.50 ID:iDpw9I/70.net]
- >>247
俺は使うよ while(1) だと警告出るから
- 264 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 06:53:42.23 ID:MBzpszCI0.net]
- 俺もマジックナンバーがないほうが好き
- 265 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 08:03:43.62 ID:PbuedMT9d.net]
- #define FOREVER for(;;)
- 266 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 08:20:28.13 ID:MBzpszCI0.net]
- >>260
こう書くとbreakやgotoが嘘つきに見えるな
- 267 名前:デフォルトの名無しさん [2022/02/24(木) 11:30:55.34 ID:XK2EQ9NF0.net]
- #define DEATH_MARCH for(;;)
- 268 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 12:02:15.07 ID:7WoYZRJzd.net]
- #define DISALLOW_BREAK for(;;)
#define FOREVER for(;;) DISALLOW_BREAK FOREVER{ ... if(...)break; }
- 269 名前:デフォルトの名無しさん [2022/02/24(木) 17:23:09.91 ID:bIfpVEhP0.net]
- >>261
正規表現ライブラリとか使って、複雑な制御を見えなくするのも一つの手かも? 自分のところのbreak continueは嫌がられるが、他所なら見えないので。 結局機械語になれば、中でGoto(jmp)しまくっているわけなので。
- 270 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:32:25.81 ID:MBzpszCI0.net]
- jmp命令は構造化プログラミングで問題視されるgotoとは違うぞ
- 271 名前:はちみつ餃子 mailto:sage [2022/02/24(木) 17:36:24.61 ID:KIw+63Ii0.net]
- 抽象度が違う話だからなぁ。
- 272 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:36:30.96 ID:MBzpszCI0.net]
- ダイクストラは「高級言語では」という限定をつけてgotoを問題視していたのであって
アセンブラや機械語に出てくる分岐命令はあの議論の対象外だ
- 273 名前:はちみつ餃子 mailto:sage [2022/02/24(木) 17:38:56.51 ID:KIw+63Ii0.net]
- >>267
だから >>264 は見えないところでやってる分には知らんって言ってるんだろ。
- 274 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:43:46.24 ID:MBzpszCI0.net]
- >>268
てことは結局何も言ってないのと同じだな Cを使えばjmpが見えなくなるなんてくだらん話は break continueを禁止する理由とは無関係だ
- 275 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:44:23.55 ID:5fQRd2wi0.net]
- SQL埋め込みのC言語goto使いまくってた
- 276 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:50:29.88 ID:PbuedMT9d.net]
- K&Rでもgotoは醜いが使わないと余計な変数や不自然な構造が必要になるからねーとクギをさしてる
- 277 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:53:57.59 ID:8VCxJpwXa.net]
- コードが80x120に収まれば俺はgotoなんて気にしない
- 278 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:55:30.50 ID:9O+r6lMKM.net]
- >>271
そういうのもloop式導入で解決するから導入しよう
- 279 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:02:28.06 ID:Qe3Dm4uv0.net]
- 抜け出しgotoは分かる
飛び込みgotoはつらい
- 280 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 13:00:32.72 ID:2Pynziee0.net]
- 構造化プログラミングを盲信する気は毛頭ないが
それは違うぞ 抜けだしであろうが飛び込みであろうが ループの端に設定された条件に従わない分岐は ダイクストラが問題視する対象だ
- 281 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 13:19:00.10 ID:Eg3DloqN0.net]
- MISRA-C でも、制御パスを変える、
goto, 複数return, (多重脱出からの?)break/continue などは禁止。 だから、ループ内で、やたらとフラグを持ち回る でも、Linux では、 早期return, goto でエラー処理をまとめたりするから、フラグを持ち回らない
- 282 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 13:35:54.50 ID:aDhOSI3tM.net]
- >>275
そんな無意味な制約を課しているとダメなプログラマーになってしまうね >>276 MISRA-Cは本末転倒としか言いようがないね 結局その無意味な制約によって目的としたメモリ安全性などの成果を得られなかった その長年の未解決だった課題はRustが全く別方向からようやく解決した
- 283 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 16:58:20.86 ID:2Pynziee0.net]
- >>277
おまえさんもダイクストラみたいに学会誌に投稿したら?
- 284 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:42:38.47 ID:iGO9Qf02a.net]
- break;とかcontinue;はいいの?
- 285 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 12:15:17.30 ID:qblu1Z+O0.net]
- switch以外のbreakは制御式にない条件での脱出
continueは違う
- 286 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 12:24:02.66 ID:QP0iZO8FM.net]
- どこでもexit
- 287 名前:デフォルトの名無しさん [2022/03/03(木) 13:53:35.02 ID:2Y1y5HDI0.net]
- グローバル変数禁止プロジェクトがあって、固定値が全てリテラルでばらまかれていたので、仕様変更でチーム員は苦労してた。
自分の担当箇所は謎関数を一つ作り、そこから値を得ていた。
- 288 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 14:05:48.79 ID:o7MH0vY5M.net]
- グローバル変数禁止なのになんで定数まで禁止なんだ
- 289 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 14:16:38.79 ID:bgg8zGG60.net]
- >>282
グローバル「変数」と「固定」値がリテラルでばら撒かれてるのは全然違う話だが? 苦労してるのはお前さんの能力に問題があるんじゃ…
- 290 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 14:18:42.95 ID:iO+E/Lewd.net]
- マクロは使わんのか?
ただの素人のスパゲッティだな
- 291 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 15:16:49.50 ID:dDnSjvDO0.net]
- センス悪いやつがいるせいで
必要なものまで制限されるんだよな ロクに精査もせずに横暴な制限を作るやつらも センス悪いやつの一員
- 292 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 15:48:11.59 ID:NNobhPIrM.net]
- 昔グローバル変数はなるべく使わないようにねってお願いしたら、グローバル変数が関数内のstatic変数になって返ってきて状況悪化させしまったことを思い出した…
依頼は正確でないとな
- 293 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 15:52:02.14 ID:nN/xu0Sn0.net]
- >>287
望んだ改善ではないにしてもグローバル変数よりは関数内static変数のほうがマシで、悪化はしてないのでは?
- 294 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 15:55:02.85 ID:7Ur+27OW0.net]
- 必要なものが制限されるのは腹立たしいだろうけど、
現実にセンスないやつが今、現場にいる状況で比較的マシにしようと思ったら制限も已むなし。
- 295 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 15:55:56.96 ID:9ZWmTo8BM.net]
- 君は関数内static変数の破壊力を知らない
- 296 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 16:02:36.91 ID:dDnSjvDO0.net]
- int *just_function(void)
{ static int not_global_variable; return ¬_global_variable; } struct common_variables { int fool; int jerk; int idiot; }; struct common_variables *a_function(void) { struct common_variables cv; return &cv; }
- 297 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 16:03:41.51 ID:dDnSjvDO0.net]
- static struct common_variables cv;
だった 笑い処でミスってどうするw
- 298 名前:はちみつ餃子 mailto:sage [2022/03/03(木) 16:09:12.32 ID:7Ur+27OW0.net]
- やりたいことは分割統治なんだよね。 プログラムを機能単位ごとに分割して部品にしたいの。
部品を束ねた部品があって、それを束ねて大きな部品にして……という綺麗に階層的な依存関係にしたいの。 色んなところからアクセスされるものがあるのが目に付くと綺麗に分割できてねぇなあと感じるという話であって 言語機能としての「グローバル変数」を使わないようにすれば綺麗になるというわけではない。
- 299 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 16:17:38.32 ID:9ZWmTo8BM.net]
- グローバル変数一つ新規に作るのに何枚も書類を書かないといけないプロジェクトがあって、
その時は一つだけ管理テーブルという名称の構造体を作成登録した。 その後は必要に応じて構造体にメンバーを追加した。 追加の場合には許可がいらない。
- 300 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 16:23:37.12 ID:dDnSjvDO0.net]
- 俺のジョークそのまんまかw
- 301 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 16:28:52.42 ID:rhQumEoNd.net]
- int型のグローバル変数が2つあればvoid*アドレスを分割して突っ込める
291みたいなstructへのポインタ突っ込んどきゃやりたい放題だよやったね!
- 302 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 08:30:10.22 ID:kn6yruMU0.net]
- C++ の singleton クラスと
関数内static から戻ってくるのも 似たようなものになる?のか?
- 303 名前:デフォルトの名無しさん [2022/03/06(日) 14:20:18.71 ID:RiucPZY70.net]
- ref class SampleCls
{ internal: property int A[int] { int get(int n) { int value = n * 100; return value; } void set(int index,int n) { } } }; SampleCls objを実体化させた後に s = s + "n= " + obj.A[i]+ "\n"; を5回繰り返したら0,100,200,300,400になったのですが 0に100をかけると100になるのでしょうか?
- 304 名前:デフォルトの名無しさん [2022/03/06(日) 14:24:03.50 ID:RiucPZY70.net]
- A[i]の値がどんなふうに決まっているのか知りたいのですがよくわかりません
どなたか教えていただければ幸いです。
- 305 名前:デフォルトの名無しさん [2022/03/06(日) 14:42:22.06 ID:RiucPZY70.net]
- すみません、解決しましたSet()とget()の動きをちゃんと理解していなかったことが
原因でした。
- 306 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 16:10:19.16 ID:g5zD4gJoM.net]
- まず、自分が何の言語で書いてるか理解したらもっと早く答えが手に入ると思うよ…
- 307 名前:デフォルトの名無しさん [2022/03/07(月) 04:27:05.03 ID:t70FSnsj0.net]
- ダイクストラって名前を聞くたびに大工が屋根の上で仕事をしている姿が浮かんでしまう
- 308 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 06:18:54.97 ID:RhJCMKRm0.net]
- キャスバルレム大工ん
- 309 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 12:29:53.09 ID:Ki3D6geg0.net]
- アルゴリズム系でかっこいい名前はダイクストラとラグランジュ
- 310 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 14:05:47.68 ID:0fUGXJlMd.net]
- 構造化プログラミングはアルゴリズムじゃない
- 311 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 20:30:43.45 ID:Ki3D6geg0.net]
- ダイクストラ法な
- 312 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 01:38:28.31 ID:D4BPG9+J0.net]
- 大屑虎
- 313 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 20:38:39.30 ID:kXeE1dtK0.net]
- malloc,freeを多用すると断片化でいずれOSが落ちるってのは
Windows11やLinuxでも起きる問題ですか?
- 314 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 20:42:14.86 ID:4CPsM6xv0.net]
- 使い方間違えていればOS問わず不味いだろ
- 315 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 21:22:58.66 ID:kXeE1dtK0.net]
- 正しく使っていれば問題ないということでOK?
なんか、正しく使っていても断片化が発生するみたいなのを聞いたもので
- 316 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 21:47:12.08 ID:0nt+oQbsF.net]
- 昔のCPUならともかく
MMUを使ってるOSなら断片化しないだろ
- 317 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 22:40:12.59 ID:iIk3GhqfM.net]
- MMUのページサイズとmalloc/freeの管理サイズは全然違うぞ
- 318 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 14:14:05.09 ID:Yxv/2BSs0.net]
- >>308,310
断片化は発生するだろうけど、そのせいでOSが落ちるなんてことは最近のOSではたぶん無い。 断片化によるメモリ確保失敗によってアプリが落ちることはあるかもしれない。 「正しく使っていれば」という条件で質問されても何をもって正しいと言うのか示してもらわないと答えようがない。
- 319 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 21:28:24.41 ID:FGXUCKCr0.net]
- 1MiB以上と未満で挙動を分けているmallocはよく見かけるね
- 320 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 21:50:14.89 ID:o502mXGNM.net]
- >>308
実装を知っていれば意図的にフラグメントは起こせる、という程度で気にしなければ普通起きない
- 321 名前:デフォルトの名無しさん [2022/03/12(土) 00:08:34.44 ID:NOu0XfGq0.net]
- >>310
32bit環境なら大きい領域は早めに確保するか、 あるいはmallocじゃなくAPIで確保したい領域のアドレスを逆方向から取得
- 322 名前:デフォルトの名無しさん [2022/03/12(土) 01:41:51.18 ID:NpUzvYny0.net]
- >>308
普通のアプリ動かしているだけなのにOSが落ちるとすると、そのOSは何かおかしい。OSにバグがあるのではないか?
- 323 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 13:07:51.07 ID:aRaeBtiY0.net]
- 普通に車を運転してたら事故った
車に欠陥があるはず
- 324 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 15:32:14.60 ID:XvQpUkSW0.net]
- 九州のタクシー暴走事故はプリウスのせいだと思っている。
- 325 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 16:34:06.63 ID:aRaeBtiY0.net]
- プリウスの制御プログラムを書いた人、ここにいませんか?
- 326 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 18:00:40.48 ID:WugjRoTQM.net]
- 仮にいたとしても名乗り出ないだろw
- 327 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 18:10:20.20 ID:kaM/Ypx70.net]
- >>318
当然、疑うことだね
- 328 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 18:29:57.19 ID:0pfFD5zX0.net]
- ドライバーの単体テストは実施してたんですか?
- 329 名前:デフォルトの名無しさん [2022/03/12(土) 23:53:51.20 ID:NpUzvYny0.net]
- >>318
それは今回の話には当てはまらない。普通のアプリを動かしていたらアプリが落ちた、だったら当てはまる。 今回の話を喩えるなら普通の車を運転していたら道路が陥没したみたいになる。OSの方が落ちたんだから。
- 330 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 23:56:33.44 ID:aRaeBtiY0.net]
- そうか?
池袋事故では最後まで車の欠陥を主張してたぞ 普通にって表現は、あくまでも本人の主観だからな
- 331 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 00:27:55.58 ID:8TmiOcWs0.net]
- 上級国民は医師に運転を止められていた欠陥アプリなので、譬喩に用いるには特殊すぐる。
- 332 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 00:30:40.49 ID:giayljWn0.net]
- 事故起こした奴って自分が原因だと思ってないだろう
- 333 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 06:05:08.20 ID:g8VV1ENe0.net]
- 常に自分を疑え、なんて根性論めいた主張には興味ないし
弁護士に譲歩的なことを言うなと指示されて本当に思っていることと違うことを陳述するのもこの議論とは関係ない
- 334 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 06:10:49.96 ID:kdm08K3Td.net]
- >>308
多用、ってのがおかしいな 一ヶ月も動かし続けてたらどうしても多用になる それで落ちるようなことはWin95とかの時代の話だろ
- 335 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 11:39:10.82 ID:HQz48e8Z0.net]
- >>308
malloc,freeを多用すると 解放し忘れが多くなり メモリが断片化して 新規メモリが確保できなくなってエラー吐いてんのに エラーチェックもせずにポインターにアクセス そしてプログラムが落ちる さらにOSを巻き込んでPCごと落ちる でも今時のOSは生半可なことでは巻き込まれない
- 336 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 17:40:39.42 ID:5qwn5s+60.net]
- 解放し忘れ(メモリリーク)と断片化は別概念
16byteを4回確保した後に1回目と3回目で確保したメモリだけ解放すると、 合計32byte空いてるのに飛び地になってるから32byte領域として扱えない
- 337 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 22:53:37.11 ID:A2eUK16/a.net]
- malloc/freeを多用すると解放忘れが多くなるものなのか?
- 338 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 01:27:18.72 ID:OOlFm33n0.net]
- そりゃプログラムがおかしいだけ
- 339 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 10:46:27.63 ID:z8DyGqYY0.net]
- C言語ではなくスクリプトだが、
無限にSubdirを掘り続ける奴書いて動かしたら、OS落ちたな XPだったが
- 340 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 11:00:21.69 ID:GQP59fXj0.net]
- fork爆弾みたいな実験か
- 341 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 16:40:21.91 ID:LP3GQSIPd.net]
- OS名はあえて書かないが
Visual C++のmallocで1GBを256回確保しただけで落ちたな
- 342 名前:デフォルトの名無しさん [2022/03/14(月) 17:46:29.09 ID:OOlFm33n0.net]
- Windowsは昔から落ちやすい印象
なんというか、OS自体もなんか少しユルい上にみんなして色んなドライバ作って組み込むもんだから余計に落ち易くなってんじゃないかな。
- 343 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 17:51:09.33 ID:L/zgcwZ50.net]
- Win98で512バイトぐらいをいくつmalloc出来るかと試したことがあって、
10万回ちかくでNULL返した・・・いや、1万回だったかな?。 とりあえずOSもアプリも落ちなかった。
- 344 名前:デフォルトの名無しさん [2022/03/15(火) 21:09:49.60 ID:uaV7elHUM.net]
- >>249
教えられてないし誰も知らないしwhile(1)で事足りるから ::printfとかもな わざわざ使ってるやつはアホだと思う
- 345 名前:デフォルトの名無しさん mailto:sage [2022/03/15(火) 21:12:16.49 ID:oV08M4Ak0.net]
- あなたの基準では世界中アホだらけやな
- 346 名前:デフォルトの名無しさん [2022/03/15(火) 21:19:55.67 ID:uaV7elHUM.net]
- 一部のバカに対して言ってる
マジで::printfなんて使ってるやつなんて滅多にいない
- 347 名前:デフォルトの名無しさん [2022/03/15(火) 21:22:08.63 ID:uaV7elHUM.net]
- 誰も使ってない表記法使うアホのせいで改めて調べないといけなくなる
使われてないから敢えて教科書に書かれてないし教科書に書かれてないんだから知らないやつが多数派ってことがわからんバカ
- 348 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 00:50:46.44 ID:HRRT9pv8r.net]
- 知らなくて馬鹿にされたのかな?辛かったね、大変だったね。カワイソウニ(´;ω;`)ウッ…
- 349 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 05:23:40.43 ID:sZ1wd+Ly0.net]
- 有効範囲解決演算子はスレ違いだぞ
- 350 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 13:21:40.48 ID:IYkrMFX0r.net]
- Cに namespace の概念ってある?
- 351 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 13:45:31.87 ID:EozDCnXud.net]
- gotoラベル
構造体のtag名 構造体のメンバ名 それ以外 という概念のnamespaceならある typedef struct A{int A;} A; int main(){ A: return 0;} で4種類のAを区別できるというだけで、ns::A とかの話ではないが
- 352 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 14:57:34.41 ID:IYkrMFX0r.net]
- ああ
それぞれで固有の識別子を記憶する空間があるから ぱっとみの文字が衝突しててもセーフ という概念か コンパイラ記述するときにめんどくさそうね 文意からこっちのテーブルを参照すべきとか
- 353 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 11:24:46.11 ID:fvSihUDg0.net]
- 初歩的な質問ですが、
b = a++; という式はbにaの値を代入してからaをプラス1しますが、 演算子の優先度を考えると、++が優先度高く、=は右優先です 優先度の高い++をしてから代入するように感じるのですが そうならない理由をご教示ください
- 354 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 11:57:41.89 ID:VgIBj69P0.net]
- a++が返す値は、aをインクリメントする前の値だからだよ
- 355 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 12:07:43.36 ID:X795CU5ld.net]
- b=a++;
のインクリメントが実行されるのは式を評価した後
|

|