!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
■ このスレッドは過去ログ倉庫に格納されています
1sage (ワッチョイ fbf0-ofdD)
2022/10/31(月) 14:29:35.57ID:J5sgTSch0782デフォルトの名無しさん (スッップ Sdff-c2mE)
2022/12/15(木) 07:27:41.09ID:dbf8SNdVd でかい声出しても人を小馬鹿にしても
それでハッシュでないものがハッシュになるわけでなし
無駄で関係ない努力をし、そのために他人に迷惑が及んでも
構わないという自己中心的なやつ
それでハッシュでないものがハッシュになるわけでなし
無駄で関係ない努力をし、そのために他人に迷惑が及んでも
構わないという自己中心的なやつ
783デフォルトの名無しさん (アウアウウー Sa6b-2vTk)
2022/12/15(木) 07:31:15.67ID:hWaEpCH1a >>768
一人二(+a)役でピンポンしてるだけでは
一人二(+a)役でピンポンしてるだけでは
784デフォルトの名無しさん (ワッチョイ a7f0-exKU)
2022/12/15(木) 07:50:47.01ID:YuqRQs180 >>745でわからないアホと会話するのは不可能
785デフォルトの名無しさん (ワッチョイ ffa4-+9+b)
2022/12/15(木) 07:52:47.62ID:0irp5Zs10786デフォルトの名無しさん (テテンテンテン MM8f-0RkQ)
2022/12/15(木) 12:23:36.75ID:WaHslr7gM787デフォルトの名無しさん (テテンテンテン MM8f-0RkQ)
2022/12/15(木) 12:47:10.10ID:WaHslr7gM hashのレスはあんまり読んでいないんだけど、c++標準のhashの話だよね?
c++標準と関係の無いhashをc++スレで持ち出してhash hash 言っているわけじゃないよね?
まさかそんなアホいないよね?
c++標準と関係の無いhashをc++スレで持ち出してhash hash 言っているわけじゃないよね?
まさかそんなアホいないよね?
788デフォルトの名無しさん (ワッチョイ df01-0RkQ)
2022/12/15(木) 13:55:56.86ID:adPtbWG70 いまだにハッシュガーとか言ってるのは何が悔しいのか粘着キチだからスルーでOk
789デフォルトの名無しさん (スッップ Sdff-c2mE)
2022/12/15(木) 16:19:30.66ID:dbf8SNdVd >>787
いやC++に限らない一般論としてハッシュとは何が明らかに分かってないやつが暴れてんの
いやC++に限らない一般論としてハッシュとは何が明らかに分かってないやつが暴れてんの
790デフォルトの名無しさん (スッップ Sdff-c2mE)
2022/12/15(木) 16:24:26.31ID:dbf8SNdVd 見たところPerlスレ民のほうが
キチガイを追い出すのはうまかったようだな
キチガイを追い出すのはうまかったようだな
791デフォルトの名無しさん (ワッチョイ a701-u86g)
2022/12/15(木) 19:54:56.58ID:SaYQ/lLy0 Perl民は70代中心だからな。
792デフォルトの名無しさん (ワッチョイ df28-GD9R)
2022/12/16(金) 00:24:44.89ID:kaubkXoa0 心の欲するところに従えども矩を踰えず、
793デフォルトの名無しさん (ワッチョイ dfad-KKgq)
2022/12/16(金) 08:43:50.12ID:Sk8Nrr7L0 名前、それ自体がハッシュだよ
ありとあらゆるものが名前を与えられることによって唯一性・独自性を確保する
つまり、人間の脳は万物をハッシュで管理している
ありとあらゆるものが名前を与えられることによって唯一性・独自性を確保する
つまり、人間の脳は万物をハッシュで管理している
794デフォルトの名無しさん (スッップ Sdff-c2mE)
2022/12/16(金) 08:57:47.68ID:3/NVi56ad ほらな
何にもわかっちゃいねえ
乱数や暗号との違いが言えねえぞコイツ
何にもわかっちゃいねえ
乱数や暗号との違いが言えねえぞコイツ
795デフォルトの名無しさん (スップ Sd7f-exKU)
2022/12/16(金) 09:10:39.36ID:wsa7u1K/d C++の話しようぜ
796デフォルトの名無しさん (ワッチョイ ffa4-+9+b)
2022/12/16(金) 10:09:11.46ID:zTEnSqew0 c++20のコンセプトとかモジュールとか<=>とか誰か使ってる?
797デフォルトの名無しさん (スフッ Sdff-exKU)
2022/12/16(金) 10:24:14.76ID:8MYQQby5d <=> 使ってる
798デフォルトの名無しさん (ワッチョイ e701-3npV)
2022/12/16(金) 11:19:29.52ID:rgyul2GY0 >>796,797
へー 初めて知った
へー 初めて知った
799デフォルトの名無しさん (アウアウウー Sa6b-DK8R)
2022/12/16(金) 12:00:08.46ID:8wSlC2cWa ウホッ演算子
800デフォルトの名無しさん (スッップ Sdff-c2mE)
2022/12/16(金) 12:09:30.80ID:3/NVi56ad <=>は便利だね
使い出すとやめられん
使い出すとやめられん
801デフォルトの名無しさん (ワッチョイ 675f-k8RX)
2022/12/16(金) 12:26:19.15ID:YwJTJAAR0 <=>初めて知ったけどめちゃ便利だな
うちの環境じゃ使えないのが残念だけど
うちの環境じゃ使えないのが残念だけど
802デフォルトの名無しさん (スプッッ Sd7f-GCrc)
2022/12/16(金) 15:18:01.45ID:h3Zax2und operator==のdefaultは便利だわ
803デフォルトの名無しさん (アウアウエー Sae2-oWW1)
2022/12/17(土) 02:36:30.45ID:ufrS8am+a a > b, a < b, a == b を一度に判定するだけの演算子の何がそんな便利やねん!
とおもったらこれ一つ定義するだけで各種比較演算子全部児童生成してくれるのね
なるほどこりゃ便利かも
とおもったらこれ一つ定義するだけで各種比較演算子全部児童生成してくれるのね
なるほどこりゃ便利かも
804デフォルトの名無しさん (ワッチョイ dbf0-gxLW)
2022/12/17(土) 05:21:21.32ID:dncno9m70 unorderedの比較の実装は相変わらず迷う
805デフォルトの名無しさん (ワッチョイ 3ebb-FgI+)
2022/12/17(土) 08:51:24.48ID:SViislQC0 ロリコンショタ歓喜じゃん
806デフォルトの名無しさん (ワッチョイ dbda-gxRJ)
2022/12/17(土) 09:11:20.17ID:rODQUlPF0 using rel_ops だとスコープ全体に影響でるから使用控えてたけど、operator<=>で全部解決出来るようになったのはいいな
807デフォルトの名無しさん (スップ Sd2a-gxLW)
2022/12/17(土) 09:32:05.93ID:XBBLmCjVd 3方があると4方も欲しくなる
a < b
a = b
a > b
unordered
結局戻り値4値の関数を作ることになる
a < b
a = b
a > b
unordered
結局戻り値4値の関数を作ることになる
808デフォルトの名無しさん (ワッチョイ 4a28-zlOH)
2022/12/17(土) 11:46:18.72ID:QZoKK6jA0 宇宙船演算子……!
ってオーバーロード……!
可能なの……?!
ってオーバーロード……!
可能なの……?!
809デフォルトの名無しさん (ワッチョイ 0f7c-NBcO)
2022/12/17(土) 12:25:08.76ID:dQNfWhWG0 >>807
std::partial_ordering返すようにすれば<=>で4方出来るぞ
std::partial_ordering返すようにすれば<=>で4方出来るぞ
810デフォルトの名無しさん (ワッチョイ dbda-gxRJ)
2022/12/17(土) 12:44:09.97ID:rODQUlPF0811デフォルトの名無しさん (ワッチョイ becf-DiWi)
2022/12/17(土) 14:06:58.32ID:t4TbQFP40 ストリーム入出力に使っていけ(※冗談です)
812デフォルトの名無しさん (ワッチョイ 4a28-zlOH)
2022/12/17(土) 14:23:32.76ID:QZoKK6jA0813デフォルトの名無しさん (スッップ Sd8a-kgXK)
2022/12/20(火) 07:42:37.51ID:louNKIVjd NaN同士の比較とかあるからな
814デフォルトの名無しさん (ワッチョイ db2d-ZR1D)
2022/12/20(火) 14:22:24.61ID:UPRI61by0 このスレ見てるとわかるがC++が好きって言ってるやつって知能低いな
815デフォルトの名無しさん (ワッチョイ a301-CLTW)
2022/12/20(火) 15:05:44.24ID:0942ga5D0 このスレには周囲に天才と言われる人がいるからそれは違うな
816デフォルトの名無しさん (ササクッテロロ Spb3-7wYa)
2022/12/20(火) 15:17:57.65ID:/qMRbodsp 自称だけどな
817デフォルトの名無しさん (スッップ Sd8a-kgXK)
2022/12/20(火) 15:21:56.61ID:louNKIVjd あんなやつに褒められても嬉しかねえよってやつに
どう思われようが関係ねーなあ
どう思われようが関係ねーなあ
818デフォルトの名無しさん (ワッチョイ 236f-s0Sd)
2022/12/25(日) 18:29:48.93ID:Dw6urQXv0 namespace std {
template <class T, std::size_t N>
struct array;
}
みたいに標準ライブラリの前方宣言を自作のヘッダに書くのってやっぱり未定義動作なんですかね?
template <class T, std::size_t N>
struct array;
}
みたいに標準ライブラリの前方宣言を自作のヘッダに書くのってやっぱり未定義動作なんですかね?
819デフォルトの名無しさん (ワッチョイ cf7c-5mfr)
2022/12/25(日) 18:51:26.23ID:PNih05NQ0 stdに勝手に宣言加えていいのは既存テンプレートの特殊化だけ
他は未定義
他は未定義
820はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/25(日) 20:29:17.71ID:8blj/qJt0 >>818
原則としては std 名前空間になんらかの宣言や定義を追加したら未定義ということになってる。
https://timsong-cpp.github.io/cppwp/n4861/namespace.std
その事例も該当すると思う。
条件付きで許されている特殊化はあるが C++20 から制限が強化された。
(従来は条件付きで「テンプレートの特殊化を追加できる」だったのが「クラステンプレートの特殊化を追加できる」に改められている。)
ユーザー定義型ごとのカスタマイズを許したい場面では Customization Point Object (CPO) を
活用する方向性なので特殊化でどうにかする必要もないし制限が強くなることはあっても緩和されることはないんじゃないかな。
原則としては std 名前空間になんらかの宣言や定義を追加したら未定義ということになってる。
https://timsong-cpp.github.io/cppwp/n4861/namespace.std
その事例も該当すると思う。
条件付きで許されている特殊化はあるが C++20 から制限が強化された。
(従来は条件付きで「テンプレートの特殊化を追加できる」だったのが「クラステンプレートの特殊化を追加できる」に改められている。)
ユーザー定義型ごとのカスタマイズを許したい場面では Customization Point Object (CPO) を
活用する方向性なので特殊化でどうにかする必要もないし制限が強くなることはあっても緩和されることはないんじゃないかな。
821デフォルトの名無しさん (ワイーワ2 FF33-kjyB)
2022/12/25(日) 21:15:27.65ID:BoLdymVdF そんな堅苦しい事なんて言わんでもええやん?
どんな弊害があるん?
どんな弊害があるん?
822デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/25(日) 22:24:02.06ID:9/OfwQI/0 >>821 標準ライブラリの変更にあたって、 std に宣言追加しているソースへの影響を考えないといけなくなる。
823デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/25(日) 22:39:45.88ID:8rnFU1jp0 >>822
リンクで失敗するので修正すれば良いだけでは?
リンクで失敗するので修正すれば良いだけでは?
824デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/25(日) 22:40:44.04ID:8rnFU1jp0 「未定義」ってほどには深刻な問題はないと思うんだよね
825デフォルトの名無しさん (ワッチョイ cf7c-5mfr)
2022/12/25(日) 23:02:22.44ID:PNih05NQ0 コンパイラがstdに勝手宣言がないことを前提にしたあらゆる最適化の結果を受け入れるなら別にいいと思うよ
俺は絶対に嫌だから関わらないでくれよ
俺は絶対に嫌だから関わらないでくれよ
826デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/25(日) 23:15:00.75ID:8rnFU1jp0827はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 01:10:32.66ID:OBkbHJZM0 >>826
何が起きるか具体的にわからないから恐ろしいんだよ。
何が起きるか具体的にわからないから恐ろしいんだよ。
828デフォルトの名無しさん (ワッチョイ 8d01-s0Sd)
2022/12/26(月) 01:18:22.88ID:D/1vl6x80 >>827
ワクワクしてこないか?
ワクワクしてこないか?
829デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 01:20:46.52ID:YnLWxzzl0 >>827
oresamaライブラリの中でoresama名前空間があって
arrayが定義されていたとして
oresamaライブラリとは別のプロジェクトで
oresama::array前方宣言したときに
起こりうることは予想がつくよね?
それがstd名前空間だと動作が未定義だとのことだけども
何が違うのか分かります?
oresamaライブラリの中でoresama名前空間があって
arrayが定義されていたとして
oresamaライブラリとは別のプロジェクトで
oresama::array前方宣言したときに
起こりうることは予想がつくよね?
それがstd名前空間だと動作が未定義だとのことだけども
何が違うのか分かります?
830デフォルトの名無しさん (ワッチョイ cf7c-5mfr)
2022/12/26(月) 01:30:35.37ID:2gdEMUwk0 >>829
コンパイラ様はstd以下を思うままに特別扱いしてカオスでアドホックな最適化処理をいくらでも入れることが許されてる
コンパイラ様はstd以下を思うままに特別扱いしてカオスでアドホックな最適化処理をいくらでも入れることが許されてる
831デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 01:51:58.67ID:YnLWxzzl0832はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 02:20:44.42ID:OBkbHJZM0 >>831
コンパイラの内部に興味を持って調べたいならどんどんやればいいよ。
詳しい人が増えるならそれはたいへん喜ばしい!
でも、リッチな C++ コンパイラのソースコードを読んで様々な最適化がどう組み合わさるかまで把握するのは
相当に高い技能を持った達人でないと無理なのでこのスレ程度ではなんもわからんと思う。
世の中にはこれを保守している人がいるんだからありがたい話だよな。
私がどこかで見たおぼろげな記憶では標準テンプレート関連の一部で
マングルのルールが異なる (名前が短くなるようにしてる?) というのがあるので
変なことをすると破綻することもあるのかもしれない。
コンパイラの内部に興味を持って調べたいならどんどんやればいいよ。
詳しい人が増えるならそれはたいへん喜ばしい!
でも、リッチな C++ コンパイラのソースコードを読んで様々な最適化がどう組み合わさるかまで把握するのは
相当に高い技能を持った達人でないと無理なのでこのスレ程度ではなんもわからんと思う。
世の中にはこれを保守している人がいるんだからありがたい話だよな。
私がどこかで見たおぼろげな記憶では標準テンプレート関連の一部で
マングルのルールが異なる (名前が短くなるようにしてる?) というのがあるので
変なことをすると破綻することもあるのかもしれない。
833デフォルトの名無しさん (ブーイモ MM5b-5fcg)
2022/12/26(月) 02:29:01.84ID:2Z6X9F6ZM なぜこうもわざわざ未定義動作を踏み抜きたいやつが多いのか
834はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 02:33:59.35ID:OBkbHJZM0 コンパイラをナメてるからだろ。
「未定義動作つってもどうせこうなるだろう」という予測が出来ると信じている。
無理なのに。
「未定義動作つってもどうせこうなるだろう」という予測が出来ると信じている。
無理なのに。
835デフォルトの名無しさん (ワッチョイ 1301-iijX)
2022/12/26(月) 05:51:34.26ID:+xP92Jxa0 まあ単なるテンプレートライブラリなのにstdだけを特別扱いして最適化を図るのはちょっとやりすぎな気がしなくもない
836デフォルトの名無しさん (ワッチョイ ebda-w5mw)
2022/12/26(月) 07:41:41.79ID:zTKHQ8850 clangのソースコードはC++プログラムの書き方の勉強になりますね
837デフォルトの名無しさん (スプッッ Sddb-lg2t)
2022/12/26(月) 08:06:50.83ID:FVIubv9sd std::arrayってなんらかのusingであることが(コンパイラ側への制限として)許されてたりするんか?
もしarrayの実体がこんな実装だったら
namespase std::__internal {
template<class T, size_t>class array{...};
}
namespase std:: {
template<class T, size_t>using array=__internal<T,size>;
}
勝手にこれ書いたらまずくならんか?
namespase std{
template<class T, size_t>class array;
}
もしarrayの実体がこんな実装だったら
namespase std::__internal {
template<class T, size_t>class array{...};
}
namespase std:: {
template<class T, size_t>using array=__internal<T,size>;
}
勝手にこれ書いたらまずくならんか?
namespase std{
template<class T, size_t>class array;
}
838デフォルトの名無しさん (スプッッ Sdaf-tLuz)
2022/12/26(月) 09:12:05.09ID:5S/2UDN2d なるね
839デフォルトの名無しさん (ワッチョイ 8f7c-PRRE)
2022/12/26(月) 11:35:27.15ID:v25C8vnQ0 >>818
それやると特定のC++バージョン、特定のコンパイラでしか
コンパイルできないコードになりかねないし、
普通に #include <array> すればいいだろ。
それともそれが出来ない理由があるとか?
それやると特定のC++バージョン、特定のコンパイラでしか
コンパイルできないコードになりかねないし、
普通に #include <array> すればいいだろ。
それともそれが出来ない理由があるとか?
840デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 12:12:38.12ID:YnLWxzzl0841デフォルトの名無しさん (アウアウウー Sa1f-SvsN)
2022/12/26(月) 13:31:39.98ID:6bMfB0bxa >未定義動作ってほど酷いこと
は?
は?
842はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 13:38:20.67ID:OBkbHJZM0 >>840
未定義動作と定義されているんだから未定義動作としか言えんだろ。
未定義動作と定義されているんだから未定義動作としか言えんだろ。
843デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 13:49:22.29ID:YnLWxzzl0 >>841
未定義動作とはコンパイルもリンクも通って実行できるけど
どんな動作をするか分からない(未定義)ので
事前に分かるコンパイルエラーやリンカーエラーに比べて
「酷い」と表現しました
いわゆる「鼻から悪魔」
未定義動作とはコンパイルもリンクも通って実行できるけど
どんな動作をするか分からない(未定義)ので
事前に分かるコンパイルエラーやリンカーエラーに比べて
「酷い」と表現しました
いわゆる「鼻から悪魔」
844デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 13:51:12.76ID:YnLWxzzl0 >>842
まぁ規格に書かれちゃってるんだからそりゃそうですね
まぁ規格に書かれちゃってるんだからそりゃそうですね
845はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 14:17:52.01ID:OBkbHJZM0 もしも「必ずエラーとして報告されるべき」みたいな仕様にしたら std の特別扱いが要るから
標準ヘッダのファイルに素朴に書くだけな実装はやりにくくなるし……。
標準ヘッダのファイルに素朴に書くだけな実装はやりにくくなるし……。
846デフォルトの名無しさん (ワッチョイ 2b01-s0Sd)
2022/12/26(月) 14:22:21.57ID:uyDYkqVs0 void InitBoard(void) // 盤を初期化
{
int x, y;
for (y = 0; y < YMAX; y++)
{
for (x = 0; x < XMAX; x++)
{
board[x][y] = 0;
}
for (x = 0; x < XMAX; x++)
{
num[x] = 0;
}
}
}
この処理の無駄を省くコードおしえてください
{
int x, y;
for (y = 0; y < YMAX; y++)
{
for (x = 0; x < XMAX; x++)
{
board[x][y] = 0;
}
for (x = 0; x < XMAX; x++)
{
num[x] = 0;
}
}
}
この処理の無駄を省くコードおしえてください
847デフォルトの名無しさん (アウアウウー Sa71-XYq7)
2022/12/26(月) 14:26:27.90ID:A7MLr6bua848デフォルトの名無しさん (スップ Sd03-FNX1)
2022/12/26(月) 14:26:50.08ID:9plh3gB/d memset(board, 0, sizeof board);
memset(num, 0, sizeof num);
memset(num, 0, sizeof num);
849デフォルトの名無しさん (ワッチョイ 95da-Axul)
2022/12/26(月) 14:33:45.39ID:a6eE731v0 >>846
つbzero,ZeroMemory
つbzero,ZeroMemory
850デフォルトの名無しさん (ブーイモ MMb3-5fcg)
2022/12/26(月) 14:39:30.42ID:EnLBjT8OM 標準に <iosfwd> あるくらいだし動機はわかるけども
あんま詳しくないけどモジュールはよってことなんかね?
あんま詳しくないけどモジュールはよってことなんかね?
851デフォルトの名無しさん (スプッッ Sddb-tLuz)
2022/12/26(月) 14:44:20.75ID:2wvNEB42d 禁止と言われて、そうですかと聞き分ける人と、ゴネる人がいるってことだ。
852デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 14:49:02.84ID:YnLWxzzl0853はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 14:50:30.84ID:OBkbHJZM0 >>846
std::fill を使うのが妥当じゃないかな?
memset でも普通は問題は起きないと思うけど
メモリブロック (バイト列) に対する操作だから board の型によっては
問題が起こることはなくもない。
std::fill を使うのが妥当じゃないかな?
memset でも普通は問題は起きないと思うけど
メモリブロック (バイト列) に対する操作だから board の型によっては
問題が起こることはなくもない。
854デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 14:51:24.85ID:YnLWxzzl0 >>851
そういうことではない
文法的にダブルスタンダードになってるのが気持ち悪い
名前空間stdもoresamaも同じ取り扱いである方が
文法的に美しいって感じているから
実際には最適化のためにstdは特別扱いが規定されている
そういうことではない
文法的にダブルスタンダードになってるのが気持ち悪い
名前空間stdもoresamaも同じ取り扱いである方が
文法的に美しいって感じているから
実際には最適化のためにstdは特別扱いが規定されている
855デフォルトの名無しさん (アウアウウー Sa71-ufqB)
2022/12/26(月) 15:04:20.66ID:rUBUe8yFa (自分の環境だと)酷いことにはなってないから
未定義踏んでてもOK派?
勘弁してください
未定義踏んでてもOK派?
勘弁してください
856デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 15:10:52.71ID:YnLWxzzl0 >>855
煽ってものらないよw 誰もそんなことは書いていない
酷いことになる事例を教えてねってことを書いています
どういうこと(最適化?)を想定してダブルスタンダードにしたのか
動機を知りたくないですか?
煽ってものらないよw 誰もそんなことは書いていない
酷いことになる事例を教えてねってことを書いています
どういうこと(最適化?)を想定してダブルスタンダードにしたのか
動機を知りたくないですか?
857デフォルトの名無しさん (ワッチョイ 95da-Axul)
2022/12/26(月) 15:12:35.95ID:a6eE731v0 fill_n(num,__countof(num),0)
上のboardは自分で考えるんだ
上のboardは自分で考えるんだ
858はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 15:26:40.53ID:OBkbHJZM0 >>854
自分が作ったライブラリの名前空間に何を追加されても正しく動く (または必ずエラーになる) ように保証してんのか?
各ライブラリごとの挙動に保証していることと保証してないことがあるのは当たり前のことだろ。
お前のライブラリについての保証はお前がするから「言語では」関知しないってだけで、
oresama に何を追加してもよいことが保証されてるわけではない。
自分が作ったライブラリの名前空間に何を追加されても正しく動く (または必ずエラーになる) ように保証してんのか?
各ライブラリごとの挙動に保証していることと保証してないことがあるのは当たり前のことだろ。
お前のライブラリについての保証はお前がするから「言語では」関知しないってだけで、
oresama に何を追加してもよいことが保証されてるわけではない。
859デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 16:14:39.95ID:YnLWxzzl0 >>858
たぶん伝わってないな
以下をユーザが自分のソースに書くのは>>820の言うように規格で禁じられている
namespace std {
template <class T, std::size_t N>
struct array;
}
同じくoresama::ARRAYなるカスタムのクラステンプレートが定義されていたとして
以下をユーザがソースに書くのは合法
namespace oresama {
template <class T, std::size_t N>
struct ARRAY;
}
これをダブルスタンダードで気持ちが悪いと思っている
最適化との説だけども
具体的なことを知っている人がいたら聞きたいな
たぶん伝わってないな
以下をユーザが自分のソースに書くのは>>820の言うように規格で禁じられている
namespace std {
template <class T, std::size_t N>
struct array;
}
同じくoresama::ARRAYなるカスタムのクラステンプレートが定義されていたとして
以下をユーザがソースに書くのは合法
namespace oresama {
template <class T, std::size_t N>
struct ARRAY;
}
これをダブルスタンダードで気持ちが悪いと思っている
最適化との説だけども
具体的なことを知っている人がいたら聞きたいな
860デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/26(月) 16:17:49.67ID:+99B24rl0 >>846
そのboard[x[][y]はゼロフィルしても良い配列?
盤外に飛び出す桂馬飛びの高速判定テクニックとして実はboard[-1][-2]が壁のコードになっている
とかありそう
※ 全くの想像です
※ 未定義動作と言われても知らそんこの場合アセンブリコードが正しくて速ければええんじゃ
※ この場合2次元配列はやめてカラム数が2のべきの1次元配列であるべき
※ ここまで全くの妄想です
そのboard[x[][y]はゼロフィルしても良い配列?
盤外に飛び出す桂馬飛びの高速判定テクニックとして実はboard[-1][-2]が壁のコードになっている
とかありそう
※ 全くの想像です
※ 未定義動作と言われても知らそんこの場合アセンブリコードが正しくて速ければええんじゃ
※ この場合2次元配列はやめてカラム数が2のべきの1次元配列であるべき
※ ここまで全くの妄想です
861デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/26(月) 16:19:44.55ID:+99B24rl0 説明が抜けた;;;
board[-1][-2]が壁のコードになるような思想の場合は
board[0..][0..]にも当然盤を取り囲むように壁のコードが配置される
board[-1][-2]が壁のコードになるような思想の場合は
board[0..][0..]にも当然盤を取り囲むように壁のコードが配置される
862はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 16:26:57.23ID:OBkbHJZM0863デフォルトの名無しさん (ブーイモ MM21-kjyB)
2022/12/26(月) 16:30:53.99ID:/571GBxYM864はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 16:34:00.09ID:OBkbHJZM0865デフォルトの名無しさん (ブーイモ MM21-kjyB)
2022/12/26(月) 16:44:01.34ID:/571GBxYM >>864
前方宣言を許さない設計なんて本当にあるの?
前方宣言を許さない設計なんて本当にあるの?
866デフォルトの名無しさん (ワッチョイ 6d5f-aH43)
2022/12/26(月) 16:54:23.72ID:QSsdq8qk0 >>865 あるよ。標準ライブラリがそう。
867デフォルトの名無しさん (ワッチョイ ebda-w5mw)
2022/12/26(月) 16:55:15.06ID:zTKHQ8850 かまってちゃん
868はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 16:55:21.28ID:OBkbHJZM0869デフォルトの名無しさん (ブーイモ MM21-kjyB)
2022/12/26(月) 17:07:33.78ID:/571GBxYM870デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/26(月) 17:11:08.06ID:+99B24rl0 namespaceはシンボルの衝突を防ぐためのしくみなのに
後から要素を追加できる仕様の方がおかしいfinalizeできるべき
だいたいnamespace oresama にX=サンが "bar.h" にて void oresama:foo()を定義して、
C++の標準ライブラリ仕様しか見ていないY=サンが "baz.h" にて同じシグネチャで異なる実装の
void oresama:foo() が実装されてしまう危険性が避けられない
のだから第三者によるnamespace内への後付けは本来言われるまでも無く禁止されるべき事項、
同一シグネチャで異なる実装があったらリンク時にエラーになる、と気体することは場合に掘っては全くできない
http://0xcc.net/blog/archives/000060.html
ちなVS2010だともっと簡単に(スタティックリンクでも)起こせるorz
後から要素を追加できる仕様の方がおかしいfinalizeできるべき
だいたいnamespace oresama にX=サンが "bar.h" にて void oresama:foo()を定義して、
C++の標準ライブラリ仕様しか見ていないY=サンが "baz.h" にて同じシグネチャで異なる実装の
void oresama:foo() が実装されてしまう危険性が避けられない
のだから第三者によるnamespace内への後付けは本来言われるまでも無く禁止されるべき事項、
同一シグネチャで異なる実装があったらリンク時にエラーになる、と気体することは場合に掘っては全くできない
http://0xcc.net/blog/archives/000060.html
ちなVS2010だともっと簡単に(スタティックリンクでも)起こせるorz
871デフォルトの名無しさん (ワッチョイ 5328-gB2L)
2022/12/26(月) 17:13:25.25ID:+99B24rl0 訂正orz
誤1: C++の標準ライブラリ仕様しか見ていないY=サン
正1: oresamaのオリジナルの仕様書しか見ていないY=サン
誤2: 場合に掘っては全く
正2: 場合によっては全く
誤1: C++の標準ライブラリ仕様しか見ていないY=サン
正1: oresamaのオリジナルの仕様書しか見ていないY=サン
誤2: 場合に掘っては全く
正2: 場合によっては全く
872デフォルトの名無しさん (ブーイモ MM21-kjyB)
2022/12/26(月) 17:15:26.88ID:/571GBxYM873はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6d3e-aH43)
2022/12/26(月) 17:58:37.42ID:OBkbHJZM0 >>872
前方宣言自体はいいよ。
そのライブラリ内でどう定義されているかわかっていて**妥当な前方宣言を出来るなら**。
将来のライブラリの更新があっても妥当でありつづける (または妥当でなくなったときに追従する) なら。
いちいちライブラリが保証していない内部仕様を調査して妥当かどうか確かめなきゃならない、どんな干渉が起きるかわからない
ってのは (ライブラリの仕様としては) 未定義じゃろ。
前方宣言自体はいいよ。
そのライブラリ内でどう定義されているかわかっていて**妥当な前方宣言を出来るなら**。
将来のライブラリの更新があっても妥当でありつづける (または妥当でなくなったときに追従する) なら。
いちいちライブラリが保証していない内部仕様を調査して妥当かどうか確かめなきゃならない、どんな干渉が起きるかわからない
ってのは (ライブラリの仕様としては) 未定義じゃろ。
874デフォルトの名無しさん (スプッッ Sddb-tLuz)
2022/12/26(月) 18:28:18.27ID:gLGPMU9jd875デフォルトの名無しさん (ワッチョイ 1301-iijX)
2022/12/26(月) 18:40:09.55ID:+xP92Jxa0 >>846
C言語はboard[x][y]のy側が連続に配置されるから for(x = ...){ for(y = ...){ ... } } の順にネストした方が効率的になる可能性が高いので俺なら
for (x = 0; x < XMAX; x++){
for (y = 0; y < YMAX; y++){
board[x][y] = 0;
}
num[x] = 0;
}
って書くと思う
C言語はboard[x][y]のy側が連続に配置されるから for(x = ...){ for(y = ...){ ... } } の順にネストした方が効率的になる可能性が高いので俺なら
for (x = 0; x < XMAX; x++){
for (y = 0; y < YMAX; y++){
board[x][y] = 0;
}
num[x] = 0;
}
って書くと思う
876デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 21:17:05.02ID:YnLWxzzl0877デフォルトの名無しさん (ワッチョイ b101-jXNG)
2022/12/26(月) 21:18:30.60ID:YnLWxzzl0878デフォルトの名無しさん (ワッチョイ 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が狂うパターンとかあるかも。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★2 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も [1ゲットロボ★]
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 ★4 [煮卵★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 「日本をなめるな」と言ってた参政党、何故か沈黙 [256556981]
- 安倍&高市経済ブレーン(10月9日)「1ドル155円を超えて円安が進むとは考えにくい」→現在155円突破 [237216734]
- 高市コイン、155円突破wwwwwwwwww [246620176]
- 最近日本民主の玉木って影薄くね?
- (´・ω・`)よくねえな、どうにも
- 高市早苗の中国問題、「オーバーツーリズムが解消されてウザい中国人が消えるから日本の勝ち」という風潮になってしまう [562983582]
