[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 14:08 / Filesize : 51 KB / Number-of Response : 231
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++で新しい文字列クラスをつくろう 2



1 名前:デフォルトの名無しさん [2006/12/26(火) 20:24:15 ]
CString , string , wstringに負けないものをみんなで作ろうね。

前スレ: pc8.2ch.net/test/read.cgi/tech/1044098312/

205 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:40:06 ]
ほんとに「完璧」な文字列クラスを作ろうとすると、

・各種エンコーディングの相互変換
・各種エンコーディングの自動判別
・文字列←→整数、小数への変換
・検索、置き換え(正規表現対応で)
・マルチバイト、ワイド文字(2バイト、4バイト両方)に対応

最低でもこれくらいは必要になるからめちゃくちゃ大変。

206 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:21:47 ]
ヘッダーファイル一つインクルードするだけで使えるようなのがいいんだけどなぁ。
正規表現まで対応するとなるとかなりの量になるよね。

207 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:51:45 ]
当然イテレータで要素巡回できるようにしてほしいし、
ついでに、レンジやコンテナの要件も満たしていてほしい。

208 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:23:45 ]
wstringのサロゲートなんとかするだけでもいいっすよ

209 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:29:08 ]
そうするとchar_traitsだけじゃ足りないんだよな。

210 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:13:40 ]
海外のプログラマーはどうしてるんかね?
マルチバイトカンケーネーであまり気にしないんだろうか。

普段はstd::stringでも構わないんだけど
GetWindowTextとか使うときに不便だから
ここらへんを一まとめにしたようなのどこかにないかね。

211 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:07:59 ]
中国人とかも困ってるだろうにね。

212 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 18:58:13 ]
>>210
今度の改定でstd::basic_string<>も
vector同様に要素がメモリ上で連続されることが保証されるようになるらしい。

213 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:50:47 ]
中国人は字が読めるヤツは英語も読めて
英語出来ないヤツは字も読めないから問題ないんだよ



214 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:52:32 ]
国内向けアプリは普通中国語で作るんだろ?

215 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:24:57 ]
それはどうかな

216 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:32:36 ]
仕事でパソコンを使う奴は英語でいいし、英語を読めない奴にパソコンを教えても使えないから問題ない。

217 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:28:31 ]
ワープロやエディタのように英語が読めてもデータとして中国語を扱う必要もあるだろうに。

218 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:21:56 ]
その場合は、中国語だけを扱えばいいから何の問題もない

219 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:04:42 ]
アニメ「さよなら絶望先生」には

 糸色 望(いとしき のぞむ) → 絶望
 糸色 命(いとしき みこと) → 絶命
 糸色 交(いとしき まじる) → 絶交

こういったネタが出てくるのですが、これって文字コードの正規化の一種ですよね?
人気アニメでも使われるくらいなので、かなりニーズのある処理だと思うのですが、
残念ながらこういった「文字の結合」ができるライブラリを寡黙にして知りません。
そこでお願いなのですが、是非新たな文字列クラスにはこういった機能をデフォルトで組み込んでもらえませんか?

220 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:40:08 ]
>こういったネタが出てくるのですが、これって文字コードの正規化の一種ですよね?
いいえ。

>残念ながらこういった「文字の結合」ができるライブラリを寡黙にして知りません。
それを言うなら、「寡聞にして存じ上げません」でしょう。

221 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:41:52 ]
 雲
雲雲
 龍   ←これで一字
龍龍

>>これって文字コードの正規化の一種ですよね?
>いいえ。

222 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 13:34:06 ]
>>221
言葉遊びとごっちゃにしてませんか?

223 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:01:13 ]
糸色 = 文字コードの正規化
>>221 = 言葉遊び

なぜそう言いきれるのか理由を説明してくれ。
コンピュータにも分かるように。



224 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:33:56 ]
>>223
逆。
>219は言葉遊び。通称「絶望」先生は、本名「糸色望」なのだから。

225 名前:デフォルトの名無しさん [2008/02/18(月) 19:19:25 ]
>>205
エンコーディングの自動判別機能については文字列クラスじゃなく、
フリー関数かlocaleを表現するクラスのメンバ関数に持たせるべきだと思う。
国際化された検索機能などを文字列クラス自体が持つとすると、
文字列はエンコーディングとバイト列の組になっているか、
あるいは特定の内部コードに正規化されているはずだけど
自動判別アルゴリズムの入力は「バイト列」と「エンコーディングの候補」になる。
これらを与えることが可能な場所はコンストラクタしかないが、
コード変換しないでエンコーディングだけ知りたい場合に困ってしまう。

226 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:58:32 ]
きっと>>219が言いたかったのは
文字コードで悩むならいっそ画像化して画像解析すればいいじゃない
ってことだろう。

無いな。

227 名前:219(本物) mailto:sage [2008/02/19(火) 18:01:30 ]
私の言いたかったことは
「言葉遊びで言葉遊びを説明する・・・
そんな言葉遊びを言葉遊び的に言葉遊びで言葉遊びするという
言葉遊びを言葉遊びしてほしい」
ということです

228 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:12:30 ]
縦読みも正規化だな

229 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 22:31:12 ]
俺は>>198ではないがオレ流に作ってみたので晒してみる
つ ttp://sij.dip.jp/strjp/

話にならんってレベルだったらスルーしてくれ…


230 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:49:20 ]
>>229
亀レスだが、文字コードによって文字列クラスを変えるのはどうかと思う。
内部フラグか何かでどうにかならんかな?

こういうことがしたい)
strjp sjis("Shift_JIS文字", encoding::sjis);
strjp euc("EUC文字", encoding::euc);
sjis = euc;
euc = sjis.conv_to(encoding::euc);






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<51KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef