[過去ログ]
C言語なら俺に聞け 160 (1002レス)
C言語なら俺に聞け 160 http://mevius.5ch.net/test/read.cgi/tech/1672191630/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
844: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/08(土) 21:37:43.61 ID:vkc2i7uPa size_t と off_t ぐらいは使えよ http://mevius.5ch.net/test/read.cgi/tech/1672191630/844
845: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/08(土) 21:42:59.63 ID:ymsLMaB30 終端ヌル文字列の長さが符号ビット分まであったらそれは異常ではなかろうか オンメモリで処理できるデータじゃないから見直すべき http://mevius.5ch.net/test/read.cgi/tech/1672191630/845
846: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/08(土) 22:47:03.50 ID:iv8dl0Z8M >>845 んなこたーない 巨大なファイルを扱う時にはそういうこともあり得る http://mevius.5ch.net/test/read.cgi/tech/1672191630/846
847: デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/09(日) 01:33:51.48 ID:hSdkmotY0 2.2GBのテキストファイル http://mevius.5ch.net/test/read.cgi/tech/1672191630/847
848: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/09(日) 09:21:07.72 ID:J2NWn1GHd >>846 そんなもんstrlenで処理するなw いちいち数えてるのアホらしい 長さを別に持つべき http://mevius.5ch.net/test/read.cgi/tech/1672191630/848
849: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 10:02:17.83 ID:mGUCWnYwM >>848 100Bだろうが4GBだろうが、テキストファイルをロードする時にはゼロ終端文字列にするだろ それをstrlenするかどうかは俺の知ったことではない 4GBのゼロ終端文字列が異常ではないというだけだ http://mevius.5ch.net/test/read.cgi/tech/1672191630/849
850: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 10:03:11.35 ID:Lsx68Nkda ファイルから読むこんで文字列処理する場合とかINT_MAXサイズ以上になる可能性もあるけどINT_MAXの範囲までしか処理しちゃいけないの? http://mevius.5ch.net/test/read.cgi/tech/1672191630/850
851: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 10:23:33.31 ID:S22RS/pW0 シークしなよ http://mevius.5ch.net/test/read.cgi/tech/1672191630/851
852: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 10:29:43.09 ID:Mq6Pc04Ma 一方向のみに進むだけならシークでいいけど、対応する値を探したりするには場所情報もいるから http://mevius.5ch.net/test/read.cgi/tech/1672191630/852
853: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/09(日) 10:55:25.78 ID:SXWU02gid >>849 なんで? サイズわかってるのに終端つける意味がないわ >>852 場所を自分で保持してればいいだけだろ http://mevius.5ch.net/test/read.cgi/tech/1672191630/853
854: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 11:20:12.19 ID:JaCyVsO8a その場所情報を残すためにintじゃ足りないから大きな型を使ったりするけど シークじゃ戻って対象の文字列の間の処理を再起やってまた進んでってのが面倒くさい http://mevius.5ch.net/test/read.cgi/tech/1672191630/854
855: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 11:36:10.69 ID:aX3VhQL60 面倒くさがる人はプログラムに向いていません http://mevius.5ch.net/test/read.cgi/tech/1672191630/855
856: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 11:49:17.45 ID:K99TBVjYa やりやすい方法があるのに複雑にして分かりにくくするのがプログラマーならプログラマーじゃなくていいや http://mevius.5ch.net/test/read.cgi/tech/1672191630/856
857: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 12:08:18.91 ID:aX3VhQL60 あるならそれを使えば良いだろ 相談するまでもない http://mevius.5ch.net/test/read.cgi/tech/1672191630/857
858: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 12:24:20.87 ID:mGUCWnYwM >>853 LoadTextFile()っていう関数を作ったら戻り値は何だ? const char*だろ ゼロ終端文字列が返ると思うだろ もちろん追加でサイズも引数経由で返しても良い 悔しいからって屁理屈をこねるな http://mevius.5ch.net/test/read.cgi/tech/1672191630/858
859: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/09(日) 12:31:45.31 ID:kBYq2/2r0 >>853 mainは第1引数がサイズで、第2引数の指す先はNULL終端されてるね http://mevius.5ch.net/test/read.cgi/tech/1672191630/859
860: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/09(日) 13:05:09.35 ID:bTpPccPGd >>858 例えば 終端に移動するとき サイズと比較して超えていたらエラーか終端に切り詰める データを追加する場合 終端まで移動 こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある よって終端記号はムダだよ http://mevius.5ch.net/test/read.cgi/tech/1672191630/860
861: デフォルトの名無しさん (スッップ Sd22-VdbI) [sage] 2023/04/09(日) 13:39:50.90 ID:8g05NYDAd >>858 すげー、なんでそんなの決められるの? サイズ最適なロードしたデバイス名とか途中で割り込まれた回数とかカウントしないんだ、、、 http://mevius.5ch.net/test/read.cgi/tech/1672191630/861
862: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 14:32:05.77 ID:FxGMQKOnM >>860 strlenを使うかどうかは関知しないと言ってるだろ それでもゼロ終端文字列を返すんだよ それがC言語のプロトコルだ 1byteケチって何がしたいんだよw だから屁理屈をこねるなと言ってる http://mevius.5ch.net/test/read.cgi/tech/1672191630/862
863: デフォルトの名無しさん (エムゾネ FF22-QGEt) [sage] 2023/04/09(日) 14:42:47.16 ID:LpKuKnylF >>862 そんなプロトコルはないよ 例えばread() は読み込んだバイト数を返す 妄想プログラムは程々にな http://mevius.5ch.net/test/read.cgi/tech/1672191630/863
864: デフォルトの名無しさん (エムゾネ FF22-QGEt) [sage] 2023/04/09(日) 14:44:30.71 ID:LpKuKnylF >>859 mainの第一引数はargvの個数であってサイズじゃないよ http://mevius.5ch.net/test/read.cgi/tech/1672191630/864
865: デフォルトの名無しさん [sage] 2023/04/09(日) 15:09:35.01 ID:zFNH8tsS0 >こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある “こういった普通の作業”をしない場合はstrlenで良いってことだろ? なんでもかんでもstrlenを使うって話じゃないし なんでもかんでもサイズはどこかに保持する必要があるわけじゃなくて 用途に合わせて使い分けるのがプログラマーじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1672191630/865
866: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 15:13:43.40 ID:S22RS/pW0 小生はゴミを分別できるプログラマーになりたい http://mevius.5ch.net/test/read.cgi/tech/1672191630/866
867: デフォルトの名無しさん [sage] 2023/04/09(日) 15:20:34.92 ID:zFNH8tsS0 いちいちstrlenを呼び出す、と言っているけど ゼロ終端文字列を返す関数はあるしゼロ終端文字列からサイズを得るためstrlenは呼び出すよね? その後は処理を高速にするためにそのサイズを維持しつつというのはあると思うよ けどその後呼び出す文字列処理関数があるとして、その関数が削除した文字数や追加した文字数を返してくれるとは限らないわけで その場合、その都度strlenを呼び出さなきゃいけない場合もあり得るよね? それぞれが想定する状況がかみ合っていないだけとも思うんだけどね 結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ? http://mevius.5ch.net/test/read.cgi/tech/1672191630/867
868: デフォルトの名無しさん [sage] 2023/04/09(日) 15:21:53.57 ID:zFNH8tsS0 最後変だわ ×結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ? 〇結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいと言いたいわけではないでしょ? http://mevius.5ch.net/test/read.cgi/tech/1672191630/868
869: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 16:50:03.25 ID:S22RS/pW0 小生だって燃えないゴミを燃えるゴミと言いたいわけじゃないさ http://mevius.5ch.net/test/read.cgi/tech/1672191630/869
870: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/09(日) 18:08:42.61 ID:I9Qf3W7D0 環境商法は嘘でも乗っからないと文句言われるからつれーよな http://mevius.5ch.net/test/read.cgi/tech/1672191630/870
871: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:17:37.00 ID:aX3VhQL60 同じプラスティックを、燃えるゴミ、燃えないゴミ、分別込み、どれで出してもOKらしい あれはやってますアピールなんだとか http://mevius.5ch.net/test/read.cgi/tech/1672191630/871
872: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:24:47.66 ID:aX3VhQL60 分別よりも、粗大ゴミ、家電ゴミなどの有料ゴミは厳格に扱われる 迂闊に持ち帰ると大目玉食らうらしい http://mevius.5ch.net/test/read.cgi/tech/1672191630/872
873: デフォルトの名無しさん [sage] 2023/04/09(日) 18:45:27.28 ID:zFNH8tsS0 問題があるからそうしているわけじゃなくて限りある資源をリサイクルだからそうしている 「どれで出してもOKらしい」と言うのは論点が間違ってる あと指定された場所にあるゴミは所有権の放棄じゃなくて自治体への譲渡みたいなモノだから持ち帰りは窃盗になる http://mevius.5ch.net/test/read.cgi/tech/1672191630/873
874: デフォルトの名無しさん (ラクッペペ MM66-DefY) [sage] 2023/04/09(日) 18:45:49.74 ID:qh8VxmjLM 条例と法令の違い http://mevius.5ch.net/test/read.cgi/tech/1672191630/874
875: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:49:28.88 ID:aX3VhQL60 いや実際そうだぞ 汚れているプラスティックを分別ゴミに混ぜられると迷惑なんだそうだ 洗剤でゴシゴシ洗って綺麗にしてから出せだとさ http://mevius.5ch.net/test/read.cgi/tech/1672191630/875
876: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:51:41.97 ID:aX3VhQL60 実際PETボトルは回収しても資源として再利用するのに手間が掛かる だから、飲料メーカーもPETからアルミ容器に切り替えている アルミはリサイクルが簡単なんだそうだ http://mevius.5ch.net/test/read.cgi/tech/1672191630/876
877: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 19:02:34.53 ID:aX3VhQL60 迂闊に持ち帰ると大目玉、はゴミ収集業者の話な http://mevius.5ch.net/test/read.cgi/tech/1672191630/877
878: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/09(日) 19:07:33.05 ID:I9Qf3W7D0 基本リサイクルはコスト的にデメリットしかない 一部ではやってますよアピールをしつつ、大半は分別したのをわざわざまとめて燃やしたり他所に押し付けるのが現実 環境商法は理想アピールとかけ離れた現実が弱みになって反社が入り込みやすいジャンルになってるから関わると危険だよ http://mevius.5ch.net/test/read.cgi/tech/1672191630/878
879: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:12:09.18 ID:ONc2duBhM >>863 お前の大好きなstrlenがそれだろw 支離滅裂過ぎてもはや自分が何言ってるか分かってなさそうw お大事に… http://mevius.5ch.net/test/read.cgi/tech/1672191630/879
880: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:15:10.49 ID:ONc2duBhM 文字列とストリームの区別が付いてないアホに付き合わないといけないとはな… そういう奴のコードはバグだらけだろうなw http://mevius.5ch.net/test/read.cgi/tech/1672191630/880
881: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:22:58.30 ID:ONc2duBhM ま、Cの文字列はバグり易いのは間違いないがな 特にmmapを使うと悲劇が起こりやすい なのでテキストファイルの読み込みには、LoadTextFileの様な明確な名前を付けて専用に用意するのが常套手段 もちろんゼロ終端文字列を返す http://mevius.5ch.net/test/read.cgi/tech/1672191630/881
882: デフォルトの名無しさん (スッップ Sd22-VdbI) [sage] 2023/04/09(日) 19:27:24.15 ID:8g05NYDAd strlenとか使う馬鹿がいるのか ラベル低すぎ http://mevius.5ch.net/test/read.cgi/tech/1672191630/882
883: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 20:52:59.04 ID:ONc2duBhM Linux Kernelでも使われてるけど、ラベル低すぎとは知らなかったw http://mevius.5ch.net/test/read.cgi/tech/1672191630/883
884: デフォルトの名無しさん (ワッチョイ b902-VdbI) [sage] 2023/04/09(日) 23:27:25.54 ID:rzCgDpP30 strlen strcpy strcatのストラ三兄弟は使うな 普通はマクロ定義でスピードアップ http://mevius.5ch.net/test/read.cgi/tech/1672191630/884
885: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/10(月) 00:09:17.40 ID:IbkX37li0 どんなマクロなんだい http://mevius.5ch.net/test/read.cgi/tech/1672191630/885
886: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/10(月) 05:24:42.66 ID:hibmPNuj0 >>864 データサイズの話じゃなかったのかよ? なんで配列のサイズかどうかになるんだ http://mevius.5ch.net/test/read.cgi/tech/1672191630/886
887: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/11(火) 00:17:24.82 ID:KrSp3HQhd >>883 なんかこの人おかしくないか?ラベル…? >>884も変だけど…ストラ3兄弟って…ギャグか?w 最終的に関数名をちゃんとすればどうにかなるみたいだし そんな話誰が信じるんだよw >>886 859に言ってくれ 明らかな誤りが含まれていたので訂正した http://mevius.5ch.net/test/read.cgi/tech/1672191630/887
888: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/11(火) 02:28:47.80 ID:MidqBNVpM >>887 >>882に言えよ http://mevius.5ch.net/test/read.cgi/tech/1672191630/888
889: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 06:49:02.21 ID:dFL5vcfn0 >>887 訂正ってどこ? 具体的なレス番plz http://mevius.5ch.net/test/read.cgi/tech/1672191630/889
890: デフォルトの名無しさん (ワッチョイ a910-Ay2p) [sage] 2023/04/11(火) 07:47:26.88 ID:lpXrKUt40 Cを捨ててCStringを使うC++へ行けってことだろ。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/890
891: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 08:08:42.83 ID:dFL5vcfn0 std::stringではなくCStringな変人きたな http://mevius.5ch.net/test/read.cgi/tech/1672191630/891
892: デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 08:55:39.31 ID:ozkx3imqd >>889 訂正は>>864だが>>859を読んですぐおかしいと思わなかったなら理解できないと思う http://mevius.5ch.net/test/read.cgi/tech/1672191630/892
893: デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/11(火) 09:23:43.71 ID:Q4R/j+cb0 >>859 の言ってるのは argv[argc] == NULL となる規定のことでしょ。 それ自体は正しいので訂正することも無い。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/893
894: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/11(火) 09:41:53.28 ID:7OwUdYTT0 MFCに帰ろう http://mevius.5ch.net/test/read.cgi/tech/1672191630/894
895: デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 09:52:04.87 ID:ozkx3imqd >>893 文字列サイズの話をしているのに文字列配列の要素数の話で「サイズ」と言うのは不自然 859はargvについて誤解してると思う http://mevius.5ch.net/test/read.cgi/tech/1672191630/895
896: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 15:56:45.30 ID:dFL5vcfn0 >>895 残念ながら俺は文字列サイズとかいう造語の話はしてない 853曰く > サイズわかってるのに終端つける意味がないわ に対してあえて冗長な設計にする場合があると指摘したまで >>864もそうだがどうもおまえさんサイズという語の意味を都合良く変動させているようだな http://mevius.5ch.net/test/read.cgi/tech/1672191630/896
897: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/11(火) 19:04:39.28 ID:7OwUdYTT0 小生は文字列の長さを表すとき、strlenに習ってlengthという語を用いますん http://mevius.5ch.net/test/read.cgi/tech/1672191630/897
898: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/11(火) 19:20:48.37 ID:1aMyTP0X0 文字列サイズなんて聞くと、配列要素数かと受け取ってしまう http://mevius.5ch.net/test/read.cgi/tech/1672191630/898
899: デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 19:50:55.63 ID:ozkx3imqd >>896 くだらない言い訳だ 文字列をロードしたサイズの話をしているのにコマンドラインの引数の個数の話にするのは不自然だと感じた どうでもいいが文字列の終端までの長さをなんと呼ぶのかね http://mevius.5ch.net/test/read.cgi/tech/1672191630/899
900: デフォルトの名無しさん [sage] 2023/04/11(火) 20:01:03.76 ID:eL0kPSHK0 文字列長 文字の長さ 文字列の長さ 長さ http://mevius.5ch.net/test/read.cgi/tech/1672191630/900
901: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/11(火) 20:41:17.09 ID:1aMyTP0X0 あと、文字数というのも入れてあげて http://mevius.5ch.net/test/read.cgi/tech/1672191630/901
902: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:49:44.30 ID:1sJZVfCp0 文字の長さ 3m 重さ 5kg http://mevius.5ch.net/test/read.cgi/tech/1672191630/902
903: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:52:08.54 ID:1sJZVfCp0 https://www.shinjuku-i-land.jp/assets/img/art/img_art-list_3.jpg http://mevius.5ch.net/test/read.cgi/tech/1672191630/903
904: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:53:14.30 ID:1sJZVfCp0 とても長くて太くて大きくて重そう http://mevius.5ch.net/test/read.cgi/tech/1672191630/904
905: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 06:48:43.44 ID:NgkNjGWQ0 >>899 それってあなたの感想ですよね http://mevius.5ch.net/test/read.cgi/tech/1672191630/905
906: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/12(水) 08:59:58.23 ID:HQz+hF5G0 もうそれ秋田 http://mevius.5ch.net/test/read.cgi/tech/1672191630/906
907: デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:42:14.25 ID:+8HledSTa 0終端の良い所は可変長でどんなに長い文字列でもメモリが許す限り文字列を続けられる もちろんデメリットは長さがすぐに判らない 逆に長さを持って struct {size_t len; char hoge[0]} Str; みたいな構成にするのもありだが 例えば Str *s = (Str *)malloc(len + sizeof(Str)); で確保して使う 後者のデメリットは size_t len の最大値までしか文字を格納出来ないこと struct {short len; char hoge[0]} Str; みたいな実装もたまに観るからあなどれない http://mevius.5ch.net/test/read.cgi/tech/1672191630/907
908: デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:51:49.32 ID:+8HledSTa >>838 C++だと vector の size() が size_t を還して for(int i = 0; i < v.size(); ++i) って描くと警告出るので for(int i = 0; i < (int)v.size(); ++i) にするとさらに警告出て鬱陶しいから for(size_t i = 0; i < v.size(); ++i) にするアホな例はよく観るってどっかのサイトに描いてあった http://mevius.5ch.net/test/read.cgi/tech/1672191630/908
909: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/12(水) 12:32:16.29 ID:81IdaWl4M C++ならイテレーター使えよ… http://mevius.5ch.net/test/read.cgi/tech/1672191630/909
910: デフォルトの名無しさん (ワッチョイ 495f-cPl8) [sage] 2023/04/12(水) 12:42:43.03 ID:Q+QfGKpq0 vectorはランダムアクセスがウリだからイテレータ使わないこともよくあるね http://mevius.5ch.net/test/read.cgi/tech/1672191630/910
911: デフォルトの名無しさん (スプープ Sd82-VdbI) [sage] 2023/04/12(水) 13:01:34.03 ID:N6w93SJGd >>899 「文字列の終端までの長さ」ですが何か? http://mevius.5ch.net/test/read.cgi/tech/1672191630/911
912: デフォルトの名無しさん (ワッチョイ c5c9-hq/O) [sage] 2023/04/12(水) 13:23:26.32 ID:3jp3M04i0 (文字列の)文字数 http://mevius.5ch.net/test/read.cgi/tech/1672191630/912
913: デフォルトの名無しさん (ワッチョイ c69a-gTA8) [sage] 2023/04/12(水) 13:42:24.69 ID:dS1BcMQZ0 >>909 コードによってはインデックスでアクセスしたいこともあるから... http://mevius.5ch.net/test/read.cgi/tech/1672191630/913
914: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:15.96 ID:gJHWYvs7a 「アホな例」と書く意味が分からん ちゃん型を使うべきだろ http://mevius.5ch.net/test/read.cgi/tech/1672191630/914
915: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:40.50 ID:gJHWYvs7a ちゃんと型を使うべきだろ http://mevius.5ch.net/test/read.cgi/tech/1672191630/915
916: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:59:47.55 ID:gJHWYvs7a そもそも「アホな例」じゃないとLP64でおかしなことになるよね http://mevius.5ch.net/test/read.cgi/tech/1672191630/916
917: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:05:32.31 ID:NgkNjGWQ0 struct X; void func(struct X[]); //error struct Y { int a; }; void func(struct Y[]); //ok 不完全型の場合、仮引数の[]はポインタにならない?? ちな、gccではエラー、clでは通る http://mevius.5ch.net/test/read.cgi/tech/1672191630/917
918: デフォルトの名無しさん (スップ Sd82-qF+M) [] 2023/04/12(水) 14:17:34.62 ID:mayblUPzd C++だと通ったね gcc/clangのCだとX[]は許されないけどX*は許される 関数宣言より前にX型の定義がないとコンパイルが通らなかった http://mevius.5ch.net/test/read.cgi/tech/1672191630/918
919: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:55:48.73 ID:NgkNjGWQ0 どっちが正しいのかね http://mevius.5ch.net/test/read.cgi/tech/1672191630/919
920: デフォルトの名無しさん [sage] 2023/04/12(水) 15:04:32.82 ID:219MxBT/0 >>907 馬鹿な私に少しだけアドバイスを それってsize_tのビット幅 < システム(OS)のビット幅と言う条件下での話なんでしょうか? size_tがシステム(OS)のビット幅と同じならメモリで管理できるものは必然的にsize_tでも表現できると思うのですが メモリ上で管理できているゼロ終端文字列をsize_tで表現できない場合ってあるんですか? まあ一部の組み込みとかならあるかも知れませんが…… けどそういう環境の場合strlenなどのsize_tで返す場合でも表現できなくなるわけで、結局size_tに依存することになってどっちでも同じじゃないかと思うんですがどうなんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1672191630/920
921: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/12(水) 15:07:46.44 ID:gccG0Jwg0 >>919 規格は知らんけど配列とポインタは違うんだからエラーで弾くのは正論だと思うけどね 通す処理系はその後の整合性をユーザーが担保する前提の思想なんでしょ http://mevius.5ch.net/test/read.cgi/tech/1672191630/921
922: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:09:16.06 ID:NgkNjGWQ0 >>921 仮引数に限っては*と[]は同じはず 不完全型だけ例外というのは気持ち悪い http://mevius.5ch.net/test/read.cgi/tech/1672191630/922
923: デフォルトの名無しさん [sage] 2023/04/12(水) 15:15:29.08 ID:219MxBT/0 >>908 もう一つ無知なる私にアドバイスをお願いします size_t len までは文字を格納出来ると>>907から読み取りましたが sizeof(size_t)==sizeof(int) の場合 vector v のサイズがINT_MAX以上だった場合、 i < (int)v.size() ではプログラマーが予期しない動作になりませんか? http://mevius.5ch.net/test/read.cgi/tech/1672191630/923
924: デフォルトの名無しさん (ワッチョイ 412d-dXWb) [sage] 2023/04/12(水) 15:27:40.89 ID:7SV2gFKB0 size_t が符号なし整数型 int が符号付き整数型 http://mevius.5ch.net/test/read.cgi/tech/1672191630/924
925: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/12(水) 15:34:06.47 ID:gccG0Jwg0 >>922 はずだかなんだか知らねーけど、そんなことはどうでも良くてサイズの分からないオブジェクトの配列は作れんって言ってんだよ 操作上の違いはともかく配列として宣言したんなら関数内では配列として扱うってことを示唆してるわけだろ 仮にそのfuncだかって名前の関数の中にX[3]とかX+5って書かれたらどうやってアドレス出すんだってことよ 動作に違いがあるってことは規格がそれを許してる箇所なんだろうけど弾いてる処理系はそういう考えなんだろう http://mevius.5ch.net/test/read.cgi/tech/1672191630/925
926: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:53:08.00 ID:NgkNjGWQ0 >>925 仮引数はその場に配列を作り出したりはしないという基本が合意できない以上 これ以上おまえさんと話すのは無駄だな http://mevius.5ch.net/test/read.cgi/tech/1672191630/926
927: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:53:49.38 ID:NgkNjGWQ0 > 規格は知らんけど この時点で気付くべきだった http://mevius.5ch.net/test/read.cgi/tech/1672191630/927
928: デフォルトの名無しさん (ワッチョイ a910-Ay2p) [sage] 2023/04/12(水) 15:55:21.15 ID:1mphmeyq0 Cはアセンブラの代用言語。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/928
929: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea) [sage] 2023/04/12(水) 16:36:09.61 ID:bThMVtxz0 >>917 規格的には (関数定義の一部ではない) 宣言の段階なら不完全型であることを許しているように読める。 C99 だと 6.7.5.3 の第 12 段落に書かれている。 > If the function declarator is not part of a definition of that function, > parameters may have incomplete type and may use the [*] notation in their sequences of > declarator specifiers to specify variable length array types. > 関数宣言子が関数定義の一部ではない場合,仮引数の型は不完全型でもよく, > また宣言指定子列に [*] を使って可変長配列型を指定してもよい。 ちなみに GCC だと以下のようなものもエラーだが MSVC だと通る。 struct X; typedef struct X Y[10]; http://mevius.5ch.net/test/read.cgi/tech/1672191630/929
930: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 16:59:41.80 ID:NgkNjGWQ0 >>929 ㌧X 安心した http://mevius.5ch.net/test/read.cgi/tech/1672191630/930
931: デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/12(水) 23:57:31.43 ID:ysjFLZAD0 >>917 Cではエラーになるのが規格準拠の動作。 ただし宣言の形式を変えるだけで通る理不尽な制約でありC++では許されるように改められている。 https://stackoverflow.com/questions/50503501/an-error-about-c-struct-array-in-formal-parameter http://mevius.5ch.net/test/read.cgi/tech/1672191630/931
932: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea) [sage] 2023/04/13(木) 00:37:34.59 ID:y5cvZaYN0 >>931 そこでも言及されてるけど 型調整 (配列がポインタに読み替えられる) が優先されるか配列宣言子としての解釈が優先されるかって曖昧じゃない? 読み替えより先に配列宣言子として解釈すべきと確信できるような記述ってある? 常識的には曖昧なら厳しい側の制約で解釈すべきだわなーとは思うけど陽には書かれてないように思う。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/932
933: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/13(木) 02:04:44.32 ID:o3x890Fi0 >>907 昔々の PASCAL はそんな感じだったな。先頭1バイトに文字列のバイト数が入っていてその後に文字列がある。 当然それだと255バイトまでしか入らないのでもっと長い文字列を扱いたい時に苦しむことになる。 まあでも 8 bit とか 16 bit CPU のマイコンやパソコンにそういう高い要求は最初の頃はあまりなかったのでなんとかなっていた。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/933
934: デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/13(木) 02:23:46.11 ID:jklAk1E50 >>932 プログラム内に制約 (constraint) 違反がある状態なので、前後関係がどっちだろうと 少なくとも制約違反について診断メッセージを出力しないと規格準拠とは言えない。 > A conforming implementation shall produce at least one diagnostic message ... > ... if a preprocessing translation unit or translation unit contains a violation > of any syntax rule or constraint, ... 「通る」が警告も出ずプログラム実行までできる状態と解釈してたけど、 エラーにはならないものの警告が出ているならそれも規格準拠とは言えそう。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/934
935: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/13(木) 08:28:10.40 ID:zEEI4t8g0 https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_047.html 仮引数の[]は、一旦は配列として受理し、その後でポインタに調整されるってことか http://mevius.5ch.net/test/read.cgi/tech/1672191630/935
936: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/13(木) 08:28:50.25 ID:zEEI4t8g0 VCで通るのは、VLAがないからってこと? http://mevius.5ch.net/test/read.cgi/tech/1672191630/936
937: デフォルトの名無しさん (スップ Sd82-VdbI) [sage] 2023/04/13(木) 23:35:55.91 ID:DvwX4ZoKd 間違ってる http://mevius.5ch.net/test/read.cgi/tech/1672191630/937
938: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/13(木) 23:48:57.98 ID:wWKtbXV/0 マスク無死でラーメン食いたい奴は、まず住所を書いて見てよ その場所にノーマスクで食えるラーメン屋作らないといけないんだろ? 政府が作るのかな? http://mevius.5ch.net/test/read.cgi/tech/1672191630/938
939: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/13(木) 23:55:11.99 ID:wWKtbXV/0 ごめん、誤爆 http://mevius.5ch.net/test/read.cgi/tech/1672191630/939
940: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/13(木) 23:55:19.80 ID:o3x890Fi0 はあ http://mevius.5ch.net/test/read.cgi/tech/1672191630/940
941: デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/14(金) 01:01:11.22 ID:E99e4anP0 そのキモいレスをどこで発表するつもりだったのか http://mevius.5ch.net/test/read.cgi/tech/1672191630/941
942: ◆QZaw55cn4c (ワッチョイ 07e6-DPrL) [sage] 2023/04/15(土) 19:42:43.70 ID:JbgATxBi0 最近のLANカードで他力給電のものばかりのようですね、クロスケーブルでピアツーピアできるPCIe のカードって存在しないものですかね… 結局 hub を使っちまった、もったいないなあ http://mevius.5ch.net/test/read.cgi/tech/1672191630/942
943: ◆QZaw55cn4c (ワッチョイ bfba-DPrL) [sage] 2023/04/16(日) 20:11:08.29 ID:4UlFU6Wr0 chatGPTって面白いね…もうgoogle はいらないや http://mevius.5ch.net/test/read.cgi/tech/1672191630/943
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 59 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s