C++相談室 part166 (768レス)
上下前次1-新
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
754: (ワッチョイ 4d7c-2tyn) 11/16(日)01:00 ID:oagsDxeg0(1) AAS
こういう人が仕様書読んで実装すると思うとこわい
755(1): (アウアウウー Sa85-H7iN) 11/16(日)13:18 ID:0LN83zrSa(1) AAS
横からだけど
>>747 で充分判る
>>748 は本当に日本人か?
756: (ワッチョイ 7901-djhR) 11/16(日)13:32 ID:Xh/GBEYv0(1) AAS
C++ばっかりやっとるからだよ
日本語を使え
757(1): (ワッチョイ 0dda-43h0) 11/16(日)16:38 ID:r6khXsKc0(1) AAS
>>755
>748だけど日本人だよ。
>747日本語の文法としておかしいと思うんだが分かるんか…。
こっちが年食ったんかなぁ…。
758: (ワッチョイ 22f2-43h0) 11/16(日)16:49 ID:D8AV/AUw0(1) AAS
あんたは機能的非識字なんでしょ
歳とか関係ないって
759: (ワッチョイ 91df-iLwu) 11/16(日)18:20 ID:fnmgx6dT0(1) AAS
747は、日本語の文法としておかしなところは別にないけれども、748のような読み方も許すという点で多義的な文にはなっているかな。
「C++より〜ように」という前半の文脈があるので748のような受け取り方はしない方が普通だと思うが、文法的には748のような読み方も一応可能だろう。
「使用可能(ということ)で良かった」としたら、完全に一義的になっているとまでは言えないまでも、多少ニュアンスは明確になっているかな。そうでもないか。
760: (ワッチョイ 11da-ZOUt) 11/16(日)19:06 ID:B8gkzotY0(1) AAS
>>757
文字なんでニュアンスが伝わりづらいだけだよ
「この前の件だけど、両方出来るようになったよ」
「他と同じように片方のみで良かったと思うよ」
まあ誤解を与えない書き方とすると
「他と同じように片方のみで良かったのにと思うよ」
って感じで「のに」をいれた方が残念がっている様子が伝わってくるよね
761(2): (ワッチョイ e9f6-iLwu) 11/17(月)09:06 ID:g7E0m0EQ0(1) AAS
C++はよく分からないので、cpprefjpにはいつもお世話になっているんだけど、生文字列リテラルのところにある「改行が入力された場合、改行の制御文字 '\n' に変換される」というのは説明として正確なのかな。
raw文字列リテラルのところの規格にはそれっぽいことは書いていないように思うし、改行文字は通常の文字としてそのままraw文字列リテラルに含められるだけであって、別に「変換」とかはされていないんじゃないかと思うんだけど。
762: はちみつ餃子◆8X2XSCHEME (ワッチョイ 4d32-o1Ob) 11/17(月)10:18 ID:DdlSQj440(1/2) AAS
>>761
'\n' に変換するという説明は誤りだと私も思う。
規格内の例中では \n と同等というような説明はあるのでこれを変換と誤解したのかも?
外部リンク:timsong-cpp.github.io
763(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 4d32-o1Ob) 11/17(月)10:27 ID:DdlSQj440(2/2) AAS
余談だけど生文字列リテラルの扱いにはちょっと変な特別扱いがある。
C++ では処理の初期段階で行を連結 (改行を削除) してしまうことになっていて、その時点では各改行が生文字列リテラルの中なのかどうか認識してない。
外部リンク[2]:timsong-cpp.github.io
後でトークンを分割するときになって生文字列リテラルを認識したらその範囲では連結を「取り消す」という処理が入る。
外部リンク[1]:timsong-cpp.github.io
結果としては改行はそのまま含まれるだけなんだけど、理屈としては色々な操作 (変換?) はされてる。
ただ、これは C++ の言語の解釈の話であって処理系の実装方法ではない。
省2
764(2): (ワッチョイ e9a6-Bso2) 11/17(月)20:16 ID:3c799E+W0(1) AAS
>>761
gccにCRLF改行のソースコードを食わせてもLF(\n)だけになったので変換はされてるんじゃないか
他のコンパイラの動作はしらね
765(1): (ワッチョイ 6e10-iLwu) 11/18(火)02:43 ID:oTdu6LNz0(1) AAS
>>763
削除されるのは「\(改行)」(Pythonとかでは明示的な行継続と言われているやつ)みたいなやつだけで、(\ に後続しない)単なる改行はwhitespace文字として扱われるだけかと思っていたんだけど。
>>764
改行をLFだけにする(正規化?)のは、raw文字列リテラルに限らない共通の処理なのでは。
766(1): (ワッチョイ 4d7c-2tyn) 11/18(火)07:15 ID:cPKOUaFd0(1) AAS
規格が決めてるのはソース中の論理的な「改行」の振る舞いであって、そのバイト表現は知ったこっちゃないって奴じゃないの
知らんけど
767: はちみつ餃子◆8X2XSCHEME (ワッチョイ 4d32-o1Ob) 11/18(火)10:05 ID:BySuHnsX0(1) AAS
>>766
従来はそうだったはずだけど C++23 からは Unicode (UTF-8) のコードポイントの並びで規定されていて、 CRLF が単一の改行に置き換えられる規則が明記されてる。
ただ、 Unicode 系以外の文字コードから処理系定義の規則で Unicode に適当にマッピングするようなのも認めているので実態はあまり変わらない。
768: (アウアウウー Sa85-H7iN) 11/18(火)23:53 ID:+AochNn2a(1) AAS
>>764-765
termcapだかterminfoだかでゴニョゴニョ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.010s