!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
C++相談室 part161
https://mevius.5ch.net/test/read.cgi/tech/1653135809/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C++相談室 part162
レス数が950を超えています。1000を超えると書き込みができなくなります。
1sage (ワッチョイ fbf0-ofdD)
2022/10/31(月) 14:29:35.57ID:J5sgTSch0878デフォルトの名無しさん (ワッチョイ cf7c-5mfr)
2022/12/26(月) 21:37:30.08ID:2gdEMUwk0 前方宣言のつもりがこういうので意味変わっても知らんぞ
http://d.hatena.ne.jp/DigitalGhost/20090216/1234793122
http://d.hatena.ne.jp/DigitalGhost/20090216/1234793122
879デフォルトの名無しさん (ブーイモ MM21-5fcg)
2022/12/26(月) 21:37:34.67ID:Luv0983hM oresama 名前空間に前方宣言が追加されると未定義動作になるような例って実際作れる?
std についてはコンパイラマジックでも何でもありだが
std についてはコンパイラマジックでも何でもありだが
880デフォルトの名無しさん (ワッチョイ f176-lg2t)
2022/12/26(月) 21:47:21.55ID:6ywYYiev0 未定義動作は未定義だよ
意図通り動いても、
デバッグするのに便利な例外が投げられても、
まともに動いてるように見えてメモリ壊してても、
コンパイルエラーになっても問題ない
コンパイラと実行環境は求められる動作が決まってないから
意図通り動いても、
デバッグするのに便利な例外が投げられても、
まともに動いてるように見えてメモリ壊してても、
コンパイルエラーになっても問題ない
コンパイラと実行環境は求められる動作が決まってないから
881デフォルトの名無しさん (スッププ Sd2b-daZ2)
2022/12/26(月) 22:12:49.76ID:NZGNd7w4d 変な宣言が追加されるとSFINAEが狂うパターンとかあるかも。
882デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/26(月) 23:28:38.90ID:8d7AMOhX0883デフォルトの名無しさん (ワッチョイ 7fbb-tgY1)
2022/12/26(月) 23:47:11.05ID:5EhwIIVK0 はちみつはもう冬休みなのか。裏山
885デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:01:58.89ID:QO3hLMTW0 >>820
思ったんだけどさ前方宣言は`declarations'に入ってないってことはないかな?
以下が原文なんだけども
>Unless otherwise specified, the behavior of a C++ program is undefined
>if it adds declarations or definitions to namespace std or to a
>namespace within namespace std.
文からは入ってるとも入ってないとも俺には判断がつかない
確かな見解がある人はいるかな?
思ったんだけどさ前方宣言は`declarations'に入ってないってことはないかな?
以下が原文なんだけども
>Unless otherwise specified, the behavior of a C++ program is undefined
>if it adds declarations or definitions to namespace std or to a
>namespace within namespace std.
文からは入ってるとも入ってないとも俺には判断がつかない
確かな見解がある人はいるかな?
886デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:11:56.45ID:9ztV+U0x0887デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 00:13:15.81ID:fnhKiHjQ0 >>884 >859の言う「ダブルスタンダード」は>862-864で否定されて終わってるだろ。
889デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:16:20.11ID:9ztV+U0x0 >>888
ゴミめ
ゴミめ
890デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:18:30.98ID:9ztV+U0x0 ヘッダファイルそのものを改造することだってできる
ISO/IEC14882のヘッダファイルだけ改造しちゃいけなくて
それ以外のヘッダファイルは改造していいことにしたいのかよ
ダブスタだからって? バカか
ISO/IEC14882のヘッダファイルだけ改造しちゃいけなくて
それ以外のヘッダファイルは改造していいことにしたいのかよ
ダブスタだからって? バカか
891デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:20:13.94ID:9ztV+U0x0 標準のヘッダファイルを書き換えるななんてバカ用の説明が規格票の中に書いてあるかどうか知らんが
そういうレベルの屁理屈ならべてんなボケが
そういうレベルの屁理屈ならべてんなボケが
892デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:21:11.64ID:QO3hLMTW0893デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:22:43.58ID:QO3hLMTW0 >>889
3行目に書いてあるから読みなよ
3行目に書いてあるから読みなよ
894デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:23:47.05ID:QO3hLMTW0 >>890,891
何で標準のヘッダファイルを書き換える話を始めてるの?
何で標準のヘッダファイルを書き換える話を始めてるの?
895デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:28:00.93ID:QO3hLMTW0 >>820
>>>818
>原則としては std 名前空間になんらかの宣言や定義を追加したら未定義ということになってる。
>https://timsong-cpp.github.io/cppwp/n4861/namespace.std
>その事例も該当すると思う。
これが正しいかもしれんし違うかもしれん
>>>818
>原則としては std 名前空間になんらかの宣言や定義を追加したら未定義ということになってる。
>https://timsong-cpp.github.io/cppwp/n4861/namespace.std
>その事例も該当すると思う。
これが正しいかもしれんし違うかもしれん
896デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:33:27.20ID:9ztV+U0x0897デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:34:29.25ID:9ztV+U0x0898デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:36:22.67ID:QO3hLMTW0899デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:36:52.90ID:9ztV+U0x0 作者がするなということをなぜしたいんだよ
脱獄したきゃ勝手にやってろ
誰も止めやしねえよ
バカ一匹どうなろうが誰も知ったこっちゃねえ
脱獄したきゃ勝手にやってろ
誰も止めやしねえよ
バカ一匹どうなろうが誰も知ったこっちゃねえ
900デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:37:18.87ID:QO3hLMTW0901デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:41:27.03ID:QO3hLMTW0902デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:42:11.81ID:9ztV+U0x0 ああそうかい
勝手に思ってな
勝手に思ってな
903デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:43:47.73ID:QO3hLMTW0 >>902
規格は読んだのかな?
規格は読んだのかな?
904デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/27(火) 00:47:28.29ID:R1/11RYB0905デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:49:39.31ID:QO3hLMTW0906デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/27(火) 00:50:13.48ID:R1/11RYB0 「勝手に」が抜けてたorz
X=サンが*勝手*に追加した "bar.h" にて void oresama:foo()を定義のを知らずに
Y=サンが "baz.h" にて同じシグネチャで異なる実装の void oresama:foo() が実装されてしまう
と言う場合は覿面に意図しない動きになる(ことがある
X=サンが*勝手*に追加した "bar.h" にて void oresama:foo()を定義のを知らずに
Y=サンが "baz.h" にて同じシグネチャで異なる実装の void oresama:foo() が実装されてしまう
と言う場合は覿面に意図しない動きになる(ことがある
907デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/27(火) 00:51:22.27ID:R1/11RYB0 >>905
定義の無い前方宣言とか何のためにするんじゃ……
定義の無い前方宣言とか何のためにするんじゃ……
908デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:53:18.15ID:QO3hLMTW0909デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:54:50.91ID:QO3hLMTW0910デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:54:51.28ID:9ztV+U0x0911デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:56:18.99ID:QO3hLMTW0912デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 00:58:30.57ID:9ztV+U0x0 >>911
前方宣言て何? JIS X3014の規格票を検索してもヒットしないんだが
前方宣言て何? JIS X3014の規格票を検索してもヒットしないんだが
913デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 00:59:25.89ID:QO3hLMTW0 forward declarationじゃないかな? ない?
914デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 01:03:39.45ID:9ztV+U0x0 さあ知らんね
おまえの曖昧さを俺が処理してやる義理はない
おまえの曖昧さを俺が処理してやる義理はない
915デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 01:06:05.88ID:9ztV+U0x0 技術板で煽りネタが英語力とかくだらんな
英語圏在住のバカと同類だってアピールしたら格好いいんかよw
英語圏在住のバカと同類だってアピールしたら格好いいんかよw
916デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 01:08:38.87ID:QO3hLMTW0917デフォルトの名無しさん (ワッチョイ a1c2-dmhP)
2022/12/27(火) 01:12:56.49ID:9ztV+U0x0 煽っても無駄だよ
義理のないことの特別サービスをさせたいようだが
世の中そう甘くはない
暇人と違って明日も朝から仕事なんだよ
バイバイ
義理のないことの特別サービスをさせたいようだが
世の中そう甘くはない
暇人と違って明日も朝から仕事なんだよ
バイバイ
918デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/27(火) 01:14:43.51ID:QO3hLMTW0919はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/27(火) 01:34:54.20ID:G9AKlNLO0 前方宣言が宣言でない可能性なんて考えたこともなかったが
たとえば単にポインタと書いてあるときにメンバ関数ポインタを含んでなかったりすることを
思い出せば変な用語になってる可能性は考慮にいれるという姿勢は必要かもしれない。
あらためて検討してみたところ、前方宣言という用語の直接的な定義はないが仕様中で
前方宣言 (forward declaration) と呼ばれているものは宣言に該当するし、
単に宣言の位置が前方である宣言のことを前方宣言と呼んでいると解しても良いと思う。
たとえば単にポインタと書いてあるときにメンバ関数ポインタを含んでなかったりすることを
思い出せば変な用語になってる可能性は考慮にいれるという姿勢は必要かもしれない。
あらためて検討してみたところ、前方宣言という用語の直接的な定義はないが仕様中で
前方宣言 (forward declaration) と呼ばれているものは宣言に該当するし、
単に宣言の位置が前方である宣言のことを前方宣言と呼んでいると解しても良いと思う。
920デフォルトの名無しさん (ワッチョイ 5b10-WyE/)
2022/12/27(火) 02:38:42.00ID:Kk7zAeAV0 未定義動作だから宣言禁止してるんじゃない
宣言禁止してるから未定義動作になったんだ
宣言禁止してるから未定義動作になったんだ
921デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 02:48:53.38ID:fnhKiHjQ0 >>892
>865の質問は>866,868で答えが出てて、その前の話に影響無いし・・・と読み進めると
>872で「前方宣言は規格で合法」とかいう当たり前に見える意味不明な話につづいており・・・
どうも>859以降の「合法」が↓のようなよくある解釈とは違うようであることに気付いた。
https://cpprefjp.github.io/implementation-compliance.html
> 合法 (legal)・違法 (illegal): これらの語はプログラムに対しても慣用されるが、具体的な意味は明確でない。 プログラムの正しさには複数の水準があるためである。 適格、またはすべての規則を満たす、または未定義の動作を含まないなどが考えられる。
明確な言葉で言い換えられるまで下手に考えても不毛そう。
「前方宣言は」というのも「ユーザー側コードに~な前方宣言を加えて利用していた場合にライブラリ更新があっても~」
とかいう意味になりそうだけど端折りすぎて意味不明になってる。
「鼻から悪魔」は未定義動作と同じ意味のつもりで使ってそうだけどコンパイルエラーやリンクエラーは除くようでもあり
これも未定義動作とは違う何か。
さっきキレちらかしてた人もこんな感じで我慢できなくなったんだろう。
明確な用語を使うように気を付けて主張を整理しないと、君とまともに会話してくれる人居なくなると思うよ。
>865の質問は>866,868で答えが出てて、その前の話に影響無いし・・・と読み進めると
>872で「前方宣言は規格で合法」とかいう当たり前に見える意味不明な話につづいており・・・
どうも>859以降の「合法」が↓のようなよくある解釈とは違うようであることに気付いた。
https://cpprefjp.github.io/implementation-compliance.html
> 合法 (legal)・違法 (illegal): これらの語はプログラムに対しても慣用されるが、具体的な意味は明確でない。 プログラムの正しさには複数の水準があるためである。 適格、またはすべての規則を満たす、または未定義の動作を含まないなどが考えられる。
明確な言葉で言い換えられるまで下手に考えても不毛そう。
「前方宣言は」というのも「ユーザー側コードに~な前方宣言を加えて利用していた場合にライブラリ更新があっても~」
とかいう意味になりそうだけど端折りすぎて意味不明になってる。
「鼻から悪魔」は未定義動作と同じ意味のつもりで使ってそうだけどコンパイルエラーやリンクエラーは除くようでもあり
これも未定義動作とは違う何か。
さっきキレちらかしてた人もこんな感じで我慢できなくなったんだろう。
明確な用語を使うように気を付けて主張を整理しないと、君とまともに会話してくれる人居なくなると思うよ。
922デフォルトの名無しさん (ワッチョイ cf7c-5mfr)
2022/12/27(火) 07:37:18.96ID:GSvWJ+1+0 「天才のぼくちんの完璧なレスを理解できない無能なお前らが悪い!」って暴れ出すいつもの奴だからもう放っとけよ
923デフォルトの名無しさん (ワッチョイ 07cf-4Ar3)
2022/12/27(火) 07:46:03.70ID:nX/ozHbV0 事実と挙動だけ書けばいい
924デフォルトの名無しさん (スプッッ Sddb-tLuz)
2022/12/27(火) 08:04:36.52ID:l/ni+ylad ハッシュ小僧か
925デフォルトの名無しさん (ワッチョイ b101-JhXQ)
2022/12/27(火) 11:12:03.63ID:QO3hLMTW0926デフォルトの名無しさん (ワッチョイ b101-JhXQ)
2022/12/27(火) 11:18:29.54ID:QO3hLMTW0927デフォルトの名無しさん (スプッッ Sdaf-tLuz)
2022/12/27(火) 11:39:33.69ID:2fUOYjFgd はいはい、別人なんでちゅね~
ニヤニヤ
ニヤニヤ
928デフォルトの名無しさん (ワッチョイ b101-JhXQ)
2022/12/27(火) 11:43:36.77ID:QO3hLMTW0929デフォルトの名無しさん (スプッッ Sdaf-tLuz)
2022/12/27(火) 11:44:56.74ID:2fUOYjFgd それでそれで?
930デフォルトの名無しさん (ワッチョイ b101-JhXQ)
2022/12/27(火) 11:45:14.64ID:QO3hLMTW0 おんなじワッチョイ検索してね
931デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 11:45:28.77ID:fnhKiHjQ0 「いつもの奴」が一人ということも無いからな。悲しいことに。
コテハン付けてくれない?
コテハン付けてくれない?
932デフォルトの名無しさん (ワッチョイ b101-JhXQ)
2022/12/27(火) 11:46:04.33ID:QO3hLMTW0 天才くんほどの実力はないです
933デフォルトの名無しさん (ワッチョイ b101-JhXQ)
2022/12/27(火) 11:46:30.13ID:QO3hLMTW0 >>931
どうやってつけるの?
どうやってつけるの?
934デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 11:58:22.17ID:fnhKiHjQ0936デフォルトの名無しさん (ブーイモ MM21-5fcg)
2022/12/27(火) 12:03:58.07ID:ifNnQS7gM >>837
本題と関係ないけどこれって CTAD 関連含めて挙動完全に大丈夫なんか?少なくとも C++17 ではダメだが
本題と関係ないけどこれって CTAD 関連含めて挙動完全に大丈夫なんか?少なくとも C++17 ではダメだが
937天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 12:04:16.27ID:QO3hLMTW0 俺は天才なんて呼ばれたことはないが
天才と呼ばれた人だこのスレで呼ばれたw
天才と呼ばれた人だこのスレで呼ばれたw
938天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 12:04:54.10ID:QO3hLMTW0 天才と呼ばれた人だ<と>このスレで呼ばれたw
939デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 12:12:33.94ID:fnhKiHjQ0 ありがとうございます。助かります。
940天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 12:13:50.33ID:QO3hLMTW0 いえこちらこそ
941デフォルトの名無しさん (スッップ Sd57-Xl/E)
2022/12/27(火) 12:17:08.49ID:XYKyOOkrd942天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 12:29:08.28ID:QO3hLMTW0943デフォルトの名無しさん (スッップ Sd57-Xl/E)
2022/12/27(火) 12:55:07.85ID:XYKyOOkrd まずあなたがどっちもdeclarationなのにただのテクニックである前方宣言が含まれない理由を示すべきだろう
944天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 13:01:14.48ID:QO3hLMTW0945デフォルトの名無しさん (スップ Sd03-4fWv)
2022/12/27(火) 13:09:43.62ID:WVVp8u06d946デフォルトの名無しさん (スプッッ Sddb-FNX1)
2022/12/27(火) 13:10:56.66ID:8Y7pY2Mbd それは違うだろ
947デフォルトの名無しさん (スップ Sd03-4fWv)
2022/12/27(火) 13:18:26.61ID:WVVp8u06d 違わないよ
何でも起こりうるのが未定義動作だ
お前はコンパイルエラーの方が鼻悪魔出現よりも非現実度が高いと思ってるの?
何でも起こりうるのが未定義動作だ
お前はコンパイルエラーの方が鼻悪魔出現よりも非現実度が高いと思ってるの?
948天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 13:19:13.33ID:QO3hLMTW0949デフォルトの名無しさん (スップ Sd03-4fWv)
2022/12/27(火) 13:22:50.11ID:WVVp8u06d 現実的な話としては、未定義動作静的解析で見つけ出してillーformed扱いしてコンパイル拒否するコンパイラがあったとして、それは規格違反ではない
当たり前だろ、だって未定義なんだから
当たり前だろ、だって未定義なんだから
950デフォルトの名無しさん (スッップ Sd57-Xl/E)
2022/12/27(火) 13:23:40.85ID:XYKyOOkrd951デフォルトの名無しさん (スップ Sd03-4fWv)
2022/12/27(火) 13:24:42.77ID:WVVp8u06d >>948
未定義動作の「動作」(undefined behaviourのbehaviour)は実行時動作だけ意味してるわけじゃない
未定義動作の「動作」(undefined behaviourのbehaviour)は実行時動作だけ意味してるわけじゃない
952天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 13:27:30.62ID:QO3hLMTW0953天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 13:35:30.55ID:QO3hLMTW0 >>951
初めて聞いたよ
初めて聞いたよ
954デフォルトの名無しさん (スプッッ Sddb-FNX1)
2022/12/27(火) 13:35:53.60ID:8Y7pY2Mbd955デフォルトの名無しさん (スップ Sd03-4fWv)
2022/12/27(火) 13:43:49.52ID:WVVp8u06d956天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 13:44:55.47ID:QO3hLMTW0 ソースがWikipediaで申し訳ないが
未定義動作とはコンパイルやリンクを通るものを言う
https://ja.wikipedia.org/wiki/%E6%9C%AA%E5%AE%9A%E7%BE%A9%E5%8B%95%E4%BD%9C
名前空間stdにビルドできるコードを追加しても
動作が意図通りになるか分からんよ
動作は未定義だよってのが>>820の指摘だよ
未定義動作とはコンパイルやリンクを通るものを言う
https://ja.wikipedia.org/wiki/%E6%9C%AA%E5%AE%9A%E7%BE%A9%E5%8B%95%E4%BD%9C
名前空間stdにビルドできるコードを追加しても
動作が意図通りになるか分からんよ
動作は未定義だよってのが>>820の指摘だよ
957デフォルトの名無しさん (スプッッ Sddb-FNX1)
2022/12/27(火) 13:46:12.79ID:8Y7pY2Mbd 未定義じゃなくても「必ず通らなきゃならない」なんて記述はないと思うけど
958デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 13:56:51.44ID:fnhKiHjQ0959デフォルトの名無しさん (スッップ Sd57-Xl/E)
2022/12/27(火) 13:57:29.46ID:XYKyOOkrd960デフォルトの名無しさん (スップ Sd03-4fWv)
2022/12/27(火) 13:59:01.95ID:WVVp8u06d961デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/27(火) 13:59:36.79ID:fnhKiHjQ0962はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/27(火) 14:01:35.95ID:G9AKlNLO0 >>956
仕様上の定義では未定義の挙動は翻訳中にも生じる。
> https://timsong-cpp.github.io/cppwp/n4861/defns.undefined
> during translation or program execution
仕様上の定義では未定義の挙動は翻訳中にも生じる。
> https://timsong-cpp.github.io/cppwp/n4861/defns.undefined
> during translation or program execution
963天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 14:23:44.32ID:QO3hLMTW0964デフォルトの名無しさん (ワッチョイ cf9c-iijX)
2022/12/27(火) 14:42:36.98ID:kLAEuBfs0 >>956
未定義動作はc++標準の規定外というだけで、エラーになるかどうかは全く関係無い。エラーにしてもエラーにしなくてもc++標準には違反しない。
www.open-std.org/jtc1/sc22/wg21/docs/standards
N4849.
3.28 未定義の動作
この文書が要求していない動作
[項目への注記 1: 未定義の動作は,この文書が動作の明示的な定義を省略したとき,又はプログラムが誤った構成又は誤ったデータを使用したときに予想されるかもしれない。
未定義動作は,この文書が動作の明示的な定義を省略した場合又はプログラムが誤った構成若しくは誤ったデータを使用した場合に想定される。許容される未定義の動作
予測できない結果をもたらす状況の完全な無視から、翻訳中またはプログラム実行中に特徴的な文書化された方法で動作することまで、許容される未定義動作の範囲があります。
環境に応じて文書化された方法でプログラムの実行を行う(診断メッセージの発行の有無は問わない)。
また、翻訳や実行を終了する(診断メッセージを発行する)こともあります。)
多くの誤ったプログラム構成は、未定義の動作を発生させるものではなく、診断が必要なものである。
定数式の評価は、本書第 4 条から第 15 条で明示的に未定義と指定された動作にはならない。
から第15項(7.7)までに明示的に未定義と指定された動作を示すことはない。- エンディングノート]
未定義動作はc++標準の規定外というだけで、エラーになるかどうかは全く関係無い。エラーにしてもエラーにしなくてもc++標準には違反しない。
www.open-std.org/jtc1/sc22/wg21/docs/standards
N4849.
3.28 未定義の動作
この文書が要求していない動作
[項目への注記 1: 未定義の動作は,この文書が動作の明示的な定義を省略したとき,又はプログラムが誤った構成又は誤ったデータを使用したときに予想されるかもしれない。
未定義動作は,この文書が動作の明示的な定義を省略した場合又はプログラムが誤った構成若しくは誤ったデータを使用した場合に想定される。許容される未定義の動作
予測できない結果をもたらす状況の完全な無視から、翻訳中またはプログラム実行中に特徴的な文書化された方法で動作することまで、許容される未定義動作の範囲があります。
環境に応じて文書化された方法でプログラムの実行を行う(診断メッセージの発行の有無は問わない)。
また、翻訳や実行を終了する(診断メッセージを発行する)こともあります。)
多くの誤ったプログラム構成は、未定義の動作を発生させるものではなく、診断が必要なものである。
定数式の評価は、本書第 4 条から第 15 条で明示的に未定義と指定された動作にはならない。
から第15項(7.7)までに明示的に未定義と指定された動作を示すことはない。- エンディングノート]
965天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 14:53:01.92ID:QO3hLMTW0966デフォルトの名無しさん (スッップ Sd57-Xl/E)
2022/12/27(火) 15:32:40.76ID:XYKyOOkrd stdだと未定義とするって仕様なのにstd保留してどうするんだ
未定義にならずにコンパイラが仕様通りの解釈して動作するだけだろ
未定義にならずにコンパイラが仕様通りの解釈して動作するだけだろ
967はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/27(火) 15:37:36.05ID:G9AKlNLO0 言語的には仕様通りの解釈をするがそれがそのライブラリにとって想定外であるような、
つまり本来の動作と異なる結果を引きおこすような形での前方宣言がありうるかという意味だろ。
つまり本来の動作と異なる結果を引きおこすような形での前方宣言がありうるかという意味だろ。
968はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/27(火) 15:58:07.39ID:G9AKlNLO0 それっぽい例を作れた!
https://wandbox.org/permlink/6utNhLox1WhOaBV8
とはいっても適切な前方宣言になっていないから起こっていることではあるので、
「ヘッダを見て間違いなく前方宣言としては適切になるように書いたけど挙動には影響ある」という例にはなってない。
https://wandbox.org/permlink/6utNhLox1WhOaBV8
とはいっても適切な前方宣言になっていないから起こっていることではあるので、
「ヘッダを見て間違いなく前方宣言としては適切になるように書いたけど挙動には影響ある」という例にはなってない。
969天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 16:01:30.79ID:QO3hLMTW0970デフォルトの名無しさん (ワッチョイ 73f0-4Ar3)
2022/12/27(火) 19:17:57.55ID:7IKxcRBS0 じゃ小学生の自由研究の時期が終わったら呼んでください
971デフォルトの名無しさん (ワッチョイ 95da-Axul)
2022/12/27(火) 20:34:13.81ID:AOBUz6/T0 ボクちゃんの痛い自由研究
「stdネームスペースに落書き」
「stdネームスペースに落書き」
972デフォルトの名無しさん (ワッチョイ 8d01-s0Sd)
2022/12/27(火) 21:38:26.75ID:Q5qxYeje0 じゃあ、ISOで未定義の時は、コンパイラの仕様を調べて使えば良いのでは?
973デフォルトの名無しさん (ササクッテロロ Spa9-Ij4T)
2022/12/27(火) 21:40:51.41ID:FdHzEXmap 移植とかでコンパイラ変わったら意図しない実行するとか平気ならな
974天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 22:06:21.35ID:QO3hLMTW0975天災 ◆41t0I.PYBW0z (ワッチョイ b101-jXNG)
2022/12/27(火) 22:15:15.29ID:QO3hLMTW0 >>972,973
俺は絶対にstdはいじらないね
俺は絶対にstdはいじらないね
976デフォルトの名無しさん (ワッチョイ 8d01-s0Sd)
2022/12/27(火) 22:17:12.44ID:Q5qxYeje0 じゃあ俺もそうする。
977デフォルトの名無しさん (ワッチョイ 97ad-dxp0)
2022/12/27(火) 22:18:07.71ID:xkGd3ITG0 自作クラスでendlなどのマニピュレータをオーバーライドするにはstd名前空間に入れるしかないじゃない?
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
- 今猛烈に食べたいもの挙げてけwwwwwwww
- 橋下徹「口だけ番長の日本が中国に喧嘩負け。なんとカッコ悪い日本か!」高市にバチーン!✴ [153490809]
