前スレ
C++相談室 part160
https://mevius.5ch.net/test/read.cgi/tech/1649979572/
探検
C++相談室 part161
■ このスレッドは過去ログ倉庫に格納されています
2022/05/21(土) 21:23:29.59ID:kYXfaM+5
2022/05/21(土) 21:44:08.96ID:G0xPeqqL
C(ちんちん)+(ぷら)+(ぷら)
2022/05/22(日) 00:57:58.97ID:SQ8NOhuX
おいおいまだ続けんのかよ!
2022/05/22(日) 03:20:20.13ID:sZoQvYay
ODRってC++処理系の仕様?
処理系はODRの記述を含まない仕様だけあればその通り作ったら
合理的な手間で検知可能な範囲のODR違反コードをエラーにする
ふるまいになるというのが当然で、つまりODRは仕様の結果であってODRを仕様に含めるのは論理的に冗長という印象
どっちかというとODRは正しく動くためにプログラマーが従わねばならないルール、という認識やったわ、
この観点ではinlineがODRの例外というのは例外も糞もなくてそんなプログラムは書いたらあかんからODR違反
コンパイラが合理的な手間でそれを検出できなかったり、それがあってもコードの動きに破綻が無いこととは関係無い
的な、
処理系はODRの記述を含まない仕様だけあればその通り作ったら
合理的な手間で検知可能な範囲のODR違反コードをエラーにする
ふるまいになるというのが当然で、つまりODRは仕様の結果であってODRを仕様に含めるのは論理的に冗長という印象
どっちかというとODRは正しく動くためにプログラマーが従わねばならないルール、という認識やったわ、
この観点ではinlineがODRの例外というのは例外も糞もなくてそんなプログラムは書いたらあかんからODR違反
コンパイラが合理的な手間でそれを検出できなかったり、それがあってもコードの動きに破綻が無いこととは関係無い
的な、
2022/05/22(日) 09:08:20.74ID:1lbS1FjX
ちんちん!シュッ!シュッ!シュッ!
7はちみつ餃子 ◆8X2XSCHEME
2022/05/22(日) 09:12:58.50ID:9X/55aF0 >>5
One definition rule は仕様に項目がある。
https://timsong-cpp.github.io/cppwp/n3337/basic.def.odr
インライン関数は同じアドレスを持つ (事実上統合することの要求) というのも仕様にある動作。
https://timsong-cpp.github.io/cppwp/n3337/dcl.fct.spec
no diagnostic と書いてある部分については (可能であれば処理系も検出するけど) どちらかというとユーザに対する要求というニュアンスはあるかも。
One definition rule は仕様に項目がある。
https://timsong-cpp.github.io/cppwp/n3337/basic.def.odr
インライン関数は同じアドレスを持つ (事実上統合することの要求) というのも仕様にある動作。
https://timsong-cpp.github.io/cppwp/n3337/dcl.fct.spec
no diagnostic と書いてある部分については (可能であれば処理系も検出するけど) どちらかというとユーザに対する要求というニュアンスはあるかも。
8デフォルトの名無しさん
2022/05/22(日) 19:47:14.24ID:WUnKKX5R 有料無料関係なしで最高のIDEってなに?
9ハノン ◆QZaw55cn4c
2022/05/22(日) 19:52:14.59ID:rj0GqvkC >>7
>インライン関数は同じアドレスを持つ (事実上統合することの要求)
それはもうインラインではないですね…
そうではなくて、extern なインライン関数をリンクする際には、同一のアドレスであるべき、という意味でしかないでしょう、つまり私の実装案
https://mevius.5ch.net/test/read.cgi/tech/1649979572/996
>実装的には inline のついた関数定義が外部にリンクされる可能性があれば、すなわち extern な iniline 関数があれば、リンクのためのコード体を、各所に inline に展開されるコード体とは別に(こっそり)用意しておく、見たいな感じで十分に実装可能ですね
を支持する内容であり、extern な inline 関数において定義を持たないコンパイル単位にでは inline の指示があっても inline しなくてもいいといっているに等しいですね‥‥
7.1.2.4
(略)外部リンクをもつインライン関数は、すべての翻訳単位で同じアドレスを持たなければならない。
外部インライン関数内の静的ローカル変数は、常に同じオブジェクトを参照する。
externインライン関数の本体内の文字列リテラルは、異なる翻訳単位で同じオブジェクトを指す。
>インライン関数は同じアドレスを持つ (事実上統合することの要求)
それはもうインラインではないですね…
そうではなくて、extern なインライン関数をリンクする際には、同一のアドレスであるべき、という意味でしかないでしょう、つまり私の実装案
https://mevius.5ch.net/test/read.cgi/tech/1649979572/996
>実装的には inline のついた関数定義が外部にリンクされる可能性があれば、すなわち extern な iniline 関数があれば、リンクのためのコード体を、各所に inline に展開されるコード体とは別に(こっそり)用意しておく、見たいな感じで十分に実装可能ですね
を支持する内容であり、extern な inline 関数において定義を持たないコンパイル単位にでは inline の指示があっても inline しなくてもいいといっているに等しいですね‥‥
7.1.2.4
(略)外部リンクをもつインライン関数は、すべての翻訳単位で同じアドレスを持たなければならない。
外部インライン関数内の静的ローカル変数は、常に同じオブジェクトを参照する。
externインライン関数の本体内の文字列リテラルは、異なる翻訳単位で同じオブジェクトを指す。
10はちみつ餃子 ◆8X2XSCHEME
2022/05/22(日) 20:04:27.44ID:9X/55aF02022/05/22(日) 20:07:42.95ID:ZvvsRMN9
12はちみつ餃子 ◆8X2XSCHEME
2022/05/22(日) 20:15:45.42ID:9X/55aF0 >>8
人によって使いやすさって違うからアドオンとかドキュメントの量とかが重要になってくるんだよ。
いくら潜在的に良い出来栄えであってもちょっとしたカスタムを全部自分で書かなきゃならないようでは面倒くさすぎる。
どこをどういじればいいのかいちいちソースコードを見ないとわからないのではダルい。
なんだかんだ不満があってもユーザ人口の多いものは全体としては良い選択になりがち。 物量重要。
人によって使いやすさって違うからアドオンとかドキュメントの量とかが重要になってくるんだよ。
いくら潜在的に良い出来栄えであってもちょっとしたカスタムを全部自分で書かなきゃならないようでは面倒くさすぎる。
どこをどういじればいいのかいちいちソースコードを見ないとわからないのではダルい。
なんだかんだ不満があってもユーザ人口の多いものは全体としては良い選択になりがち。 物量重要。
2022/05/22(日) 20:19:45.26ID:sBUJB3wj
vs以外だとIDEっていうよりエディタとコマンドでやってるイメージ
ボーランドとか死にかけだしなあ
ボーランドとか死にかけだしなあ
15デフォルトの名無しさん
2022/05/22(日) 20:37:44.89ID:WUnKKX5R■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国】日本のアニソン歌唱中に強制中断 上海、照明落とされ音楽止まる★4 [♪♪♪★]
- 中国通ジャーナリスト「高市首相が反省、撤回必要ない…こういう外交待っていた」「日本のレッドラインを明確に示した」 [お断り★]
- 芸能界ケンカ最強番付を発表「リングなら岡田准一」 横浜流星&新田真剣佑の名前も 1番強いのは誰か [牛丼★]
- 「報道特集」山本恵里伽アナ、日中緊張で「当たり前のことがはっきり言いづらい空気…ショック」 [首都圏の虎★]
- 落ち度はゼレンスキー氏に 内政混乱、市民怒り [蚤の市★]
- 「まだ朝7時に通勤してるんですか?」にじさんじVTuberがXの投稿で炎上、YouTubeで釈明と謝罪 [muffin★]
- 【実況】博衣こよりのえちえちラムベガス🧪★3
- 【実況】博衣こよりのえちえちラムベガス🧪★4
- 高市早苗に3,000万円の献金を渡した団体、限界突破wwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 🏡
- 今見ても面白いドラマ「踊る大捜査線」「ロングバケーション」「お金がない」👈あとひとつは? [519998392]
- TBS山本恵里伽アナ「当たり前のことをハッキリ言いづらい空気、ショック」高市発言騒動に関連して [369521721]
