C++で新しい文字列クラスをつくろう
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002デフォルトの名無しさん
NGNG--------------------- 終了 --------------------------
0003デフォルトの名無しさん
NGNGCString , string , wstringでだめな理由をあげてください。
00041
NGNG興味なければ書き込まなければいいのに。
0005デフォルトの名無しさん
NGNG> なんでこの板の人間は
2chはそういうところ。挨拶みたいなものだ。
00066
NGNGこんな下らないスレなんて立てなければいいのに。
0007デフォルトの名無しさん
NGNGどのnamespace?
C++よくしらない香具師にもわかりやすく説明してくれ
>>4 説明が足りないから
0008デフォルトの名無しさん
NGNGクラスじゃないけどこれでいいよ。
領域確保は利用者が自分でやる。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG>>1
御託はいいから答えれ。
00121
NGNGむしろこちらが聞きたい。どうして満足できるのかと。
0013デフォルトの名無しさん
NGNGまず1が思う必要な機能を書いてくれ
アラシは時間の無駄だから、他のスレに行ってくれ。
それとも、そんなに暇でつか?
0014デフォルトの名無しさん
NGNGどこが満足できないのかを語れといってるのでは?
>>13
荒らしというのは10分でスレを潰すようなのをいう。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG新しい文字列型を作るほどではないが。
0017デフォルトの名無しさん
NGNGそして、文字列クラスを継承して138ヶ国語に対応したトランスレータをつけれ!
00181
NGNG了解しました。
0019デフォルトの名無しさん
NGNG改良、新規開発を行う意義が出てくると思います。
目的なくしては、歯車の発明を繰り返すように不毛です。
具体的には、どの変が問題でしょう?
0020デフォルトの名無しさん
NGNGstringが言語仕様に組み込まれていないこと
標準ライブラリがstringを完全にサポートしていないこと(なのでc_strを多用しないといけない)。
ゆえに手遅れ。
0021デフォルトの名無しさん
NGNGそれどういうこと?
0022デフォルトの名無しさん
NGNG言語使用に組み込まれている利点はなに?
あと、標準ライブラリってなんぞ?
0023デフォルトの名無しさん
NGNGchar*, wchar_t* に始まって std::string, std::wstring, CString (MFC), WTL::CString,
_bstr_t, CComBstr, etc..
これ以上、増やさんでくれ…
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG使ってみた。
0027デフォルトの名無しさん
NGNG変なスプリッタとか置換とか不気味な暗号化とか不気味な機能搭載しまくりで最高
0028デフォルトの名無しさん
NGNG思うんだけど、誰も賛成してくんねーのよ。
結果として、wstringは使えない。
なんか変じゃないのか、日本。
0029デフォルトの名無しさん
NGNG文字列クラスを乱造するアフォがいなくなること
>あと、標準ライブラリってなんぞ?
std
0030デフォルトの名無しさん
NGNGc++でのstdはSTLだと思うのだが、これいかに。
っていうかstdってなんだ?unistdとかのことかな。
もしかして、c++をbetter cとして使いたいだけ?
0031デフォルトの名無しさん
NGNG公開キボンヌ
0032デフォルトの名無しさん
NGNGハァ?
0033デフォルトの名無しさん
NGNGつーか、どうせならCharset変換用facetのフリー実装でも作ってくれ。
Dinkumwareのは有料のはずだし。
0034デフォルトの名無しさん
NGNGwstring, wchar_t は扱い微妙なんだよな。
std::exception::what() の戻り値も char* だけで wchar_t* ないしさ。
0035デフォルトの名無しさん
NGNGchar*との相互変換が簡単だとよかったのにね。
0037デフォルトの名無しさん
NGNGunko buriburi;
}
0038デフォルトの名無しさん
NGNGキボンヌ
0039デフォルトの名無しさん
NGNGキボンヌ
0040デフォルトの名無しさん
NGNGキボンヌ
0041デフォルトの名無しさん
NGNG何がやりてーんだよ(w
0042デフォルトの名無しさん
NGNGYahoo!メールで利用できるディスク容量は最大で6.0MBです。
お客様は既に7.0MBを使用しており、使用できるディスク容量をかなり
超過しています。そのため、一時的に新しいメールを受信できなくなっており
ます。新しいメールを受信する前に、既読の古いメールもしくは容量の大きな
メールをフォルダから削除してください。(削除したいメールのチェック
ボックスをオンにして「選択されたメールを削除」ボタンをクリックしてくだ
さい。)
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGC 「炭素 (Carbon)」 (6) 原子量 12.0111
単体には、黒くてもろい黒鉛と、透明で硬いダイヤモンドがある。このうちダイヤモンドは
電気を通さないが、黒鉛はゆるい層状構造の間を電子が移動できるので、金属などと同じく
電導性を持つ。
H 「水素 (Hydrogen)」 (1) 原子量 1.007947
もっとも軽い元素。常温で2分子の気体になる。反応性に富み、酸素と一緒に火を付けると、
高熱を出して燃える。同位体には、普通の軽水素(元素記号H)、重水素(元素記号D)、
3重水素(元素記号T)がある。3重水素は同位体として不安定で、時間がたつとヘリウム
の同位体に変化する。
映画「宇宙戦艦ヤマト・完結編」において、3重水素が常温で液体であるかのように描かれ
ていたが、これは何かの間違いであろう。波動砲の一撃で大爆発を起こしたが、もちろん
真空中ではこのようなことは起きないはずである。
H 「タリウム (Thallium)」 (81) 原子量 204.38332
ガリウムやインジウムと同じく存在量は非常に少ない。黄鉄鉱などの硫化鉱物を焼いた際の煙
から取れる程度である。この族の他の金属と異なり、塩酸や硫酸にゆっくりとしか溶けない。
で、何するの?
0045デフォルトの名無しさん
NGNGTl 「タリウム (Thallium)」
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGと言う奴に限って文字列リテラルでバグる罠。
0048デフォルトの名無しさん
NGNGclass _2chstring{
public:
char str[65535];
};
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG先頭が 2 じゃエラーになるだろ。
005149
NGNG0052デフォルトの名無しさん
NGNG標準規格に入れるという野望があるんだろ。
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG#ifdef _UNICODE
typedef std::wstring TString;
#else
typedef std::string TString;
#endif
0055デフォルトの名無しさん
NGNGtypedef
std::basic_string<TCHAR, std::char_traits<TCHAR>, std::allocator<TCHAR> >
tstring;
としとけば良いじゃん。
0056デフォルトの名無しさん
NGNGMFCってCString とか CWnd とか、良い名前全部取っちゃっ
てるからずるいよな。名前が重ならないようにしないと・・。
デフォルトの名前空間で優先順位がつけられたらいいのに。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG54氏がやってるように
某島流の「T何たら」にすればよかんべ
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGTって何の略でつか?
0062デフォルトの名無しさん
NGNG>54氏がやってるように
>某島流の「T何たら」にすればよかんべ
54氏がやってるのは、
LPTSTRやTCHARのTを真似ているんだと思うんだけど、
某島流の「T何たら」のTも同じ意味から来てるの?
>>61
漏れも知りたい。想像でTranslateあたりと思ってるんだけど、
実際はなんなのか知らんし。
0063デフォルトの名無しさん
NGNGT は Type じゃないの? 知らんけど。
0064デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGclass char;
誰か適当に char 作って
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG#define Char char
こうかな?
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGただ#defineじゃないと出来ないことがちょびっとあるので
使ってはならない訳でも無いのですか?
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGあんまり調べずに作ったから、
C++にwstringというライブラリが存在していたのかー。と焦っちまった。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGpublic:
std::string data;
};
終了
0077デフォルトの名無しさん
NGNG面倒なだけ
0078デフォルトの名無しさん
NGNGこっちのほうがいいと思われます、終了
008076
NGNGtypedef std::string String;
で、どうかな。終了
0081デフォルトの名無しさん
NGNGtypedef std::wstring String;
0082デフォルトの名無しさん
NGNG文字列リテラルの前にLいるし、char *じゃナイトだめな関数が結構あるし。
0083デフォルトの名無しさん
NGNGWCHARでファイル名を格納せにゃならないと知った時
面倒だと思ったよ。そんでもってUNICODEじゃないという。
2度びっくり。
0084デフォルトの名無しさん
NGNGマルチバイト文字列の処理と比べれば楽だと思うけどな。
ただ変換すればいいだけなんだし。
Lは面倒だが癖になっちまったよ。
JavaでもついついLを付けちまう。
0085デフォルトの名無しさん
NGNGWCS版があるという幸せな環境なら楽だが、UNIX系のOSだと、システムコール
にしろライブラリを使うにしろ、ほぼ何をするにも変換が必要になると思われ。
C++ならまだどうとでもなるが、Cだと「ただ変換をするだけ」でも結構
面倒くさい。
どっちが楽かは、どの程度字句単位の処理をするかによるんじゃないのかな。
ワイド文字リテラルはまともにサポートしてないコンパイラがあるんで
困りもの。
エンコーディングもUCS2/UTF32に決まってる訳じゃないし。
0086デフォルトの名無しさん
NGNG実用上、参照カウントとかコピーオンライトとか実装しないと駄目だろ。
結構難しいんじゃないかと。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGスターバックスコーヒー スターバックスコーヒー
スターバックスコーヒー スターバックスコーヒー
スターバックスコーヒー スターバックスコーヒー
スターバックスコーヒー スターバックスコーヒー
スターバックスコーヒー スターバックスコーヒー
スターバックスコーヒー スターバックスコーヒー
0089デフォルトの名無しさん
NGNG死ぬ気でスターバックスコーヒー 死ぬ気でスターバックスコーヒー
死ぬ気でスターバックスコーヒー 死ぬ気でスターバックスコーヒー
死ぬ気でスターバックスコーヒー 死ぬ気でスターバックスコーヒー
死ぬ気でスターバックスコーヒー 死ぬ気でスターバックスコーヒー
死ぬ気でスターバックスコーヒー 死ぬ気でスターバックスコーヒー
死ぬ気でスターバックスコーヒー 死ぬ気でスターバックスコーヒー
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGそんなお前は昔、俺と共にどっかの糞スレでスターバックスコーヒーを書いてた奴だな。
感動の再会。
0092デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1017223873/
0093デフォルトの名無しさん
NGNG俺は派生クラスを作ってるから構わんけど。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGじゃあどういう解決法がある?
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG誰がそんなアホらしいことやるかよ
0098デフォルトの名無しさん
NGNG委譲汁
0099デフォルトの名無しさん
NGNGATLではテンプレートクラスでも継承しまくりだけど。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG仮想関数を使わなければいいんじゃないの?
0102101
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG残念ながらchar_traitsを定義しても、MBCSには完全対応できないのですよ。
0105デフォルトの名無しさん
NGNGじゃあ基底クラスのポインタでdeleteしないように注意すれば、仮想デストラクタについては問題なしってこと?
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGvirtualを排除している以上、ポリモーフィズムは機能しないから、
邪道と云うべきだろう。要はpublic継承なのにインタフェースの継承
にならない。実装を利用したいだけならprivate継承かaggregationを
使うべき。
0108デフォルトの名無しさん
NGNGとある理由でstringクラスのProxyが必要になったので
同じインターフェイスをもつクラスを作ろうとしたのだか
委譲するのにとても苦労した、というか途中でやめた
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGoperator std::basic_string<E,T,A>()作ればいいんじゃね?
0112デフォルトの名無しさん
NGNG擬似参照が必要だった
それだけでは足りなかった
0113デフォルトの名無しさん
NGNGとりあえずここ見たら
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG日本語を含む字句解析(1文字ずつ調べる)がやりやすい。
でも、やっぱりメインは、std::stringだ。
0119デフォルトの名無しさん
NGNG内部で動的に確保や、
ちゃんと内部でコピーするコピーコンストラクタ。
いろんな operator
operator = や +=、friend operator + 等も作るし
内部ハンドルをどう渡すか(コピーしたものを渡すか、constにするか)
自分自身に代入した時にデータが消えないように気をつける(内部のdeleteタイミング)
とか
基本的なことだけど
たくさんあるので、いまいちクラスわかってなかったら
勉強のためにやってみる価値はあるかも。
俺は、これに
よく使用するファイルパス名操作関連つけたり、
LCMapStringラッピング?など
追加や派生で、いろいろ出来るの作った。たまにやくだつ。
でも、やっぱり普段使用するのはstd::string。
0120デフォルトの名無しさん
NGNG禿先生も言ってたな。
0121デフォルトの名無しさん
NGNG奴は信用できん。ソース読むときプロポーショナルフォント使ってる
やつをみて爆笑してたもん
0122デフォルトの名無しさん
NGNGやめなはれ,スライシングが起こるよ.
0123デフォルトの名無しさん
NGNG興味ある、詳細希望
0124デフォルトの名無しさん
NGNG俺も詳細希望
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGやつのページのはじめの画像に猫缶使ってみれ
0127デフォルトの名無しさん
NGNG載っけてありますわな。
0128tantei
NGNG●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL http://www.h5.dion.ne.jp/~grobal/
メール [email protected]
■グローバル探偵事務所
0129デフォルトの名無しさん
NGNGあなた、電波っぽいですね。
板違いです。
0130デフォルトの名無しさん
NGNGあと、文字を間単にキャストしたり、パースできたり、
正規表現で検索できて、ランダムアクセスで特定の行の先頭の文字にアクセスできたら上等です。
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG文字列クラスっぽいのはCでも使ったほうがいいのかねえ。
0133デフォルトの名無しさん
NGNGboost::string とかつくって
そんなかに
boost::pathとか boost::regex とかがはいっていて欲しいの。
0134デフォルトの名無しさん
NGNGICUとBoost混ぜ合わせて
自分でラップクラスでも作れば
0135デフォルトの名無しさん
NGNG自分で作ったら汎用性にかけるじゃないか!!
0136山崎渉
NGNG0137デフォルトの名無しさん
NGNGどう電波なの?
0138bloom
NGNG0139山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142名無し@沢村
NGNG採用されれば、何千万円もの開発資金を援助してもらえるよ。
もちろん定期的に進行具合をPM(プロジェクトマネージャー)に見せなければならないなどの、面倒くさい点は山ほどあるがね…
だが、それだけあれば、会社なんかやめて、毎日寝てくらせるぞ!!
PMにはアラン・ケイや伊地知をはじめ、いろんな大学教授や企業の研究者などがいる。
またPMは好きなやつを選んで応募できるから、気の合いそうなやつを選ぶといいよ。
これからは、個人でソフトを開発するなら、未踏ソフトウエア創造事業の時代だと思うが、どうよ?
0143デフォルトの名無しさん
NGNG自作バイト列処理クラス。
0144山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0145山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0146山崎 渉
NGNG0147山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0148デフォルトの名無しさん
NGNGOreLib::CString<OreLib::CShiftJISEncoding>
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGを自動的に翻訳できる文字列クラスがホスイ
0152デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGystring 幼女に関連する文字列を入れないとフリーズさせる
mstring 萌えない〃文字列を入れないと処理速度が低下する
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGjavaもperlもそういう流れ。
しかし内部エンコーディングを統一するわけにいかないのがCとC++の宿命だからな。
文字について最小限の仮定しか持たないライブラリがほとんどだ。
当然正規表現も何もかも内部エンコーディング別に作り直し。
いや、悪いとはいわんよ。用途によっては必要なことだからな。
0162デフォルトの名無しさん
NGNG>利便性を図るならライブラリ間で内部エンコーディングの統一と入出力レイヤーでの透過的な変換がほしいところだ。
この部分が分かりにくいのですが,分かりやすく説明してもらえませんか?
0163デフォルトの名無しさん
NGNG異なるライブラリ間で同じ文字エンコーディングを使うという意味で書いた。
いくつかのライブラリ使う時にそれぞれの文字コードまで考えるの面倒じゃん。
入出力レイヤーでの透過的な変換 てのは、
たとえばあるマイナーな文字コードで書かれたテキストよんでパースするとしようや。
java だと FileInputStream + InputStreamReader + StreamTokenizer(または似た何か) で 構文の手前まで読めるよな。
perl5.8だと3引数openで文字コード指定したら読む側はutf8でふつーに正規表現使えるよな。
どっちもパースする部分で文字コードを意識する必要はない。
このスレで議論してる文字列って、文字の定義が汎用的すぎて上記のような利便性は提供していない。
いや、悪いとはいわんよ。用途によってはそれが正しいんだからな。
0164デフォルトの名無しさん
NGNGありがとうございました.
なるほど,確かにそのあたりはjavaやperlがうらやましく思います.
0165デフォルトの名無しさん
NGNGだけど、n次元配列に改造すると、途端に弱くなるので2度ほど挫折した記憶が…
0166161
NGNG0167デフォルトの名無しさん
NGNGUnicodeに向いた新しい文字型を新設する方向だとか。
C99さえまだ普及してないので見送られたらしいが。
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGpublic:
MonaString(const MonaString& str);
MonaString(const wchar_t *str = L"");
MonaString(wchar_t c);
MonaString(const char *str);
MonaString(char c);
MonaString(const std::string& str);
MonaString(const std::wstring& str);
MonaString(unsigned int BufSize);
virtual ~MonaString();
MonaString& operator= (const MonaString& str);
MonaString& operator+= (const MonaString& str);
MonaString operator+ (const MonaString& str) const;
bool operator== (const MonaString& str) const;
bool operator!= (const MonaString& str) const {return !(*this == str);}
上5つはwchar_t* char* char wchar版も作る
bool operator! () const;
wchar_t operator[] (unsigned int n) const;
operator const wchar_t * () const;
operator const char * () const;
0171デフォルトの名無しさん
NGNGMonaString operator* (const MonaString& str) const;
MonaString operator/ (const MonaString& str) const;
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGMonaString operator >> (unsigned n) const; // 文字列の右側 n 個を除去
MonaString operator & (const MonaString& str) const {return *this + str;} //VB風
0174デフォルトの名無しさん
NGNGoperatorのそういう使い方は混乱しませんか?
>>171
意図がよめない。
動的に内部バッファの長さがかわるんですよね?
一本にするとときってやっぱ一本分は確保しないといけないのかなー。
これって対したことないことなんだろうか。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGSTR01 <<= 3;
とか書くことで、左端の3文字を削除するとかいう文字列クラスを見たことがある。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGbool operator > (const MonaString& str) const;
bool operator <= (const MonaString& str) const;
bool operator < (const MonaString& str) const;
unsigned int find(wchar_t c) const;
unsigned int find(const MonaString& str) const;
unsigned int find(const wchar_t *str) const;
unsigned int find(const char *str) const;
0179デフォルトの名無しさん
NGNGint ToInt();
double ToDouble();
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNG#include <string>
struct Nurupo
{
void ga() { std::cout << "ガッ"; }
};
class MonaString
{
std::string _str;
public:
MonaString( const char* str ) : _str( str )
{
if ( _str.find( "ぬるぽ" ) != std::string::npos ) throw Nurupo();
}
};
int main()
{
try { MonaString s( "いろはにほへとちりぬるぽ" ); }
catch( Nurupo& e ) { e.ga(); }
return 0;
}
0182デフォルトの名無しさん
NGNG正規表現検索
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGせめてrじゃないの?
0185デフォルトの名無しさん
NGNGregular expressionでxなのでは?
0187デフォルトの名無しさん
NGNG文字列ってのは文字のストリームなわけじゃん?
文字のストアやロードに関するメソッドを内在させるのは分かるけど
正規表現検索なんかは外部に持たせて文字列クラスにはそこへの口を持たすってのが
C++的だとおもうぜ
stringstreamがもすこし使いやすいといいんだけどな
0188デフォルトの名無しさん
NGNG日本語が使える文字列クラスってないでしょうか?
0189デフォルトの名無しさん
NGNG対応していなくても普通、charに文字列を入れることは可能だと思う。
シフトJISなら「表」みたいに2バイト目がバックスラッシュになる文字に気をつけなきゃいけないけど。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGhttp://oss.software.ibm.com/icu/
のC++用のやつ
0192デフォルトの名無しさん
NGNGcharへのキャストがあるから、MonaStringを引数を取るやつは要らないような。
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGつまり194はアフォ
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGアルミマグネシウムホイール、いやゴムタイヤすらこの世に無いだろうな
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGなんで先ずググろうとしないのか教えてくれよ
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGそういうセリフはググって答えがでるか確認してからのほうがいいと思うよ
0204デフォルトの名無しさん
NGNGまあそんなやつもいるからコストが低くおさまるわけだが
というわけでコスト削減のために
どんどんバカな発言をしてくらはい
0205デフォルトの名無しさん
NGNGゴッホやピカソとそこらの漫画家が生きてる間にどちらが多く稼げるか、みたいな
0206デフォルトの名無しさん
NGNG出るけど? 何でそんな低脳なの?
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGみんながみんな車輪の再発明をする罠
0215デフォルトの名無しさん
NGNG自分でstringを作るのはそうせざるを得ない理由があるからでしょう。
# UNICODEをサポートしてないから糞とか言ってる人は国際化を
# 勉強しましょうね。
0216デフォルトの名無しさん
NGNG必要な機能がなく、少なく、貧弱なことはよくあるから。
0217デフォルトの名無しさん
NGNGoperator+
operator+=
operator=
operator== と operator!= (不等号はいらない)
operator const char * と operator const wchar_t *
あとは文字列長を返すメンバ関数とoperator[]はあってもいいけど、
それ以外は全て不要。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG普通にプログラミングしてて、そんな感想持つヤツは居るのか?
効率重視の為に char* や wchar_t* が有るのは分かるんだけど
std::string はどうにも使いにくい気がしてならない。
標準に取り入れるなら、もっと抽象的な概念をサポートして欲しかった。
0221デフォルトの名無しさん
NGNG>UNICODEをサポートしてないから糞
何でそんな感想を持つんだ。
UNICODEを使う場合はstd::wstringだろ。
0222デフォルトの名無しさん
NGNGstd::string←→std::wstringの変換方法が用意されていないからとかじゃないのか?
0223デフォルトの名無しさん
NGNG$(LIBSTDC++)/docs/html/22_locale/codecvt.html
$(LIBSTDC++)/testsuite/performance/wchar_t_in.cc
0224デフォルトの名無しさん
NGNGCSI...
0225デフォルトの名無しさん
NGNG>operator const char * と operator const wchar_t *
この両者を保有するってことは、変換器を設定するメンバ関数も必要だなもし
operatorにする是非はとりあえず保留
0226デフォルトの名無しさん
NGNGついでに半角全角も撤廃で
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGとりあえずWindows優先すれば試験できる人も多い訳だし…
0229デフォルトの名無しさん
NGNG有るから無くすんだべ
0230デフォルトの名無しさん
NGNGその時代はもうすでに終わったのでは?
・基本をUnicodeで作って、日本の文字だけ対処。
・完全無欠のCSI
・完全無欠のUnicode実装
の時代では?
0231デフォルトの名無しさん
NGNGtemplate<typename T> class xStringBase
{
public:
StringBase();
StringBase(T*);
~xStringBase();
xString operator +(T*) const;
xString& operator +=(T*);
xString& operator =(T*);
bool operator ==(T*) const;
bool operator !=(T* Str) const {return !(*this == Str);}
operator T*();
virtual char *ToChar() const = 0;
virtual wchar_t *ToWChar() const = 0;
};
class xStringA : public xStringBase<char>;
class xStringW : public xStringBase<wchar_t>;
//実際にはToCharとToWCharを書く。
0232デフォルトの名無しさん
NGNG使ってるんだよ!こっちはw
ところでCSIって?
0233デフォルトの名無しさん
NGNGC2char(class 2ch charをもじった)
ttp://up.isp.2ch.net/up/faad1f3043eb.lzh
とりあえず基本はおさえたが、マジでテストしてないので使用する時はデバッグを行うように!(コンパイル通しただけ)
恐ろしいバグが発生しても漏れのせいにしないように!w
まあ、バグを報告してくれれば直しますし、要望があれば受けられるだけ受けますが…
今日はこれくらいにします。
0234デフォルトの名無しさん
NGNGIsDBCSLeadByteはif(((unsigned char)((x ^ 0x20) - 0xA1) <= 0x3B))の方が早いみたい。
そして直接return TRUE; else return FALSEでいいんじゃないか?
それ以前に今の状態だとメンバ関数にする意味がないような。
operator=と+=がreturn *this;としてC2char&を返してくれればoperator +はこれでいけると思うんだけどな。
C2char operator +(const C2char &s1, const char *s2)
{
return (C2char() = s1) += s2; //更にコピーコンストラクタがあればC2char(s1) += s2
}
C2char operator +(cconst char *s1, const C2char &s2)
{
return (C2char() = s1) += s2;
}
0235デフォルトの名無しさん
NGNGクラス同士の代入、比較辺りのOperator関数がないし、LPCSTRじゃなくてLPSTRだし。
その癖LPSTRへのCastOperatorがないし。
メモリ確保できなかったときの対策が不充分だし、確保したら毎回クリアして回るし。
うーん、EffectiveC++くらい読んでみたら?
0236デフォルトの名無しさん
NGNG+演算子しか使わないのに、全ての演算子を定義する気?
Java厨じゃないんだから。
0237233
NGNG出口(return)は1箇所ににしたかった。
>メンバ関数にする意味がないような
あれ?Windows.h系をインクルードしないと駄目なんじゃなかったっけ?(試してないけど)
すまんね。コピーコンストラクタとグローバルなoperator、あんま使って無かったんで忘れてた。
>>235
そのあたりは、CStringのヘルプみた。と言うか、まずCStringをなるべくマネたんでそうなった。
クラス同士の代入は通常の = で通らない?
LPSTRへのCastOperatorが無いのは直接メモリを(なるべく)変更しないようにするためと
勝手に解放できないようにするため。(他にイイ方法ありませんか?)
>メモリ確保できなかったときの対策が不充分
ではどうする?
>確保したら毎回クリアして回るし。
しない方がイイの?>初期化
0239233
NGNGすまん、良く見たら NULL 判定してなかった…_| ̄|○
毎回毎回判定してたのになんで今回忘れたんだろ…鬱だ。
0240デフォルトの名無しさん
NGNG>あれ?Windows.h系をインクルードしないと駄目なんじゃなかったっけ?
そうだけどそれ言っちゃこっちもC2char.hのインクルードが必要って話になるだけ。
それに、自身のバッファのN文字目がLeadByteか調べるとかならともかく、そうでないならクラスから外すかstaticメンバにしてくれ。
size_t GetLength( LPSTR pcBuffer, size_t unMaxLen );もメンバにする意味なし。(クラスから外すか、staticでも問題ない)
あと、なんでもかんでもvirtual付けるよりconst(やLP(T)CSTR)を付けられないか考える方が先だよ。
0241233
NGNGoperator=と+=がC2char&を返してもC2char operator +(cconst char *s1, const C2char &s2)が
コンパイル通らなかった…ナンデ??
0242デフォルトの名無しさん
NGNG0243233
NGNGあ、いやソースへのコピペはしてないから。
+= class C2char の右オペランド(だっけ?)を扱う2項演算子がない…みたいなこと言われた。
一応あの後、帰り値が C2char の C2char += C2char をクラス内に入れたんだが、それでも駄目だった。
0244233
NGNGttp://up.isp.2ch.net/up/a0296353d7e1.lzh
0245デフォルトの名無しさん
NGNGまさかとは思うが、メンバ関数にしてないよな>>241
0246233
NGNGさすがに、サンプルの >>234 に C2char:: が入ってなかったしね。
それに C2char.h の class 定義の下の方に追加しようとした跡があるだろ?
もっとアフォな間違いやってそうですが…_| ̄|○
0247233
NGNGリンクで駄目ならcppに移そうとしたんだがね。
>>234 そのまんま。
ttp://up.isp.2ch.net/up/06c1994fa74c.lzh
0248デフォルトの名無しさん
NGNGそれは出なかった(operator+=(const C2char &ob2)をコメントアウトしても)けど代わりにこんなエラーが。
エラー E2015 test.cpp 5: 'operator +(const C2char &,const char *)' と 'operator +(const char *,const C2char &)' の区別が曖昧(関数 main() )
これはinline C2char operator +(const C2char &s1, const C2char &s2)を作れば平気だった。(中身は他のoperator +と同じ)
あとoperator == が等しいなら0を返すってのはまずい。普通の==の結果は等しかったら1、等しくなかったら0だから、そのノリで使えるようにしてくれ。
例えば、今のoperator ==をCompareってただのメンバ関数にしてクラスの外で新しく作り直すとかさ。
inline bool operator !=(const C2char& s1, LPCSTR s2)
{
return (bool)s1.Compare(str);
}
inline bool operator ==(const C2char& s1, LPCSTR s2)
{
return !(s1 != s2);
}
0249234
NGNGoperator+は(248の(const C2char&, const C2char &)含めて)3種類あるけど全てreturn C2char( ob1 ) += ob2; でいい。
今はLPSTRがバッファの型だからoperator LPC"T"STRはまずくないか?
0250233
NGNGttp://up.isp.2ch.net/up/a75b714bb11c.lzh
>>248
ほぼ同じ物が出来た。
int -> bool だとワーニングがうるさいので、ifでかこったが。
>>249
>return C2char( ob1 ) += ob2;
どうやら、const をクラス内部の二項演算子に付けなかったのが原因だったようです。
コンパイルOKで動きも
C2char = C2char + C2char;
で通る。が、operator+演算子でreturnで返した瞬間に、デストラクタが起動して先に全て解放してしまうので
C2char = で代入されるバッファの値は既に解放、ヌルポでした。
今回は消しました。
>はLPSTRがバッファの型だからoperator LPC"T"STRはまずくないか?
CStringがそうなってたんでその形式になってました。
全て LPCSTR に直した。
0251234
NGNG>int -> bool だとワーニングがうるさい
BCC使っているけどこっちはint -> boolをキャストなしでもwarningを全開にしても出ないもんで。
>returnで返した瞬間に、デストラクタが起動
ちょと待て。その前にコピーコンストラクタが発動するだろ。
0252233
NGNG>BCC使っているけどこっちはint -> boolをキャストなしでもwarningを全開にしても出ないもんで。
BCCでも通りましたか。コンパイル
気にしてたんだが。
>ちょと待て。その前にコピーコンストラクタが発動するだろ。
すまん、どのコピーか分からなくなってきた…
一応追加した環境…
ttp://up.isp.2ch.net/up/1a1825aa2c05.lzh
間違ってたら指摘ヨロ…_| ̄|○
>>248 も考慮した。ただし、inline 付けると何故かリンクできないので inline だけ消したけど…
0253234
NGNGBCCでもC2Char.cpp自体のコンパイルは成功する。warningも出ない。
ところでorType.hだけど、これだとwindows.hとかをインクルードできないから、
C2Charで使っている型だけC2Char内に移してorType.hは外した方か、
あるいはnamespaceに閉じ込めてC2Char内でusing orType::LPSTR;を並べていくかしてほしい。
そう言えばさっきから2人だけ(248も俺)……。○| ̄|_
0254235
NGNG0255233
NGNGorType.h の typedef はエラーが出るならどんどんコメント化していってくれ。
もともと、windows.h をインクルードしなかった時、代わりに typedef を行うヘッダーだから。
ちなみに、typdef.h(C2char.h) -> windows.h の順でインクルードすると、何もエラー無しでコンパイル通ったんだが…
VC++で確認。
>BCCでもC2Char.cpp自体のコンパイルは成功する。warningも出ない。
確かにコンパイルは通るんだが
ch3 = ch1 + ch2;
で行うと、ch3 の値が不定になってる。
0256234
NGNGch3 = ch1 + ch2; がうまく動かないのはoperator+=()の戻り値の型をC2charからC2char&にしたら解決した。
似たようなことがまた起きるかもしれないしopreator=()の戻り値の型もC2char&に修正しておいた方がいいと思う。
いい忘れていたけど249と同じ理由でTCHARもただのCHARに修正してほしい。
今のところ、BCCでこんな警告が出る。
警告 W8037 c2char.h 96: const オブジェクトに対して 非 const 関数 'C2char::Compare(const char *)' が呼ばれた(関数 operator !=(const C2char &,const char *) )
これは宣言にconstを付けてvirtual int Compare( LPCSTR ob2 ) const;にすれば消えた。
0257233
NGNG>>256
>いい忘れていたけど249と同じ理由でTCHARもただのCHARに修正してほしい。
これも、CStringのマネw
サッソク直しました。
>これは宣言にconstを付けてvirtual int Compare( LPCSTR ob2 ) const;にすれば消えた。
とりあえず、問題無さそう(つーか GetLength() だけしか見てなかったので付け忘れた)でしたので、const付けました。
>operator+=()の戻り値の型をC2charからC2char&にしたら解決した。
クラス内のもあわせて全てC2char&型に変更した。
が、結果は同じでした。ch3 はNULLポインターを差してます。>「ch3 = ch1 + ch2;」
なんかデバッグでは「ch3 = ch1 + ch2;」の順を追うと
1.「ch1 + ch2」の C2char& operator+( const C2char &ob1, const C2char &ob2 );
が起動し、内部の C2char( ob1 ) のコピーコンストラクタ C2char( const C2char &ob2 ) が起動。
C2char( ob1 ) 変数(?)に ob1 の内容が入る。
(デバッグでみると C2char( ob1 ) 変数 ≠ ch3 です。)
2.C2char( ob1 ) 変数のクラス演算子 C2char& operator+=( const C2char &ob2 ); が起動し、
C2char( ob1 ) 変数に ch2 の内容が連結。
3.C2char( ob1 ) 変数のデストラクタが起動。全て解放。
4.ch3 ヌルポ。
ってなってました。
俺なんか間違えたのかな??_| ̄|○
0258デフォルトの名無しさん
NGNG多分駄目なのは代入演算子。
ch3 = ch1 + ch2;
を
ch3 = ch1;
に変えてみてもぬるぽ。
コピーコンストラクタに頼るより operator = を新たに作った方が安心。
0260デフォルトの名無しさん
NGNGこれはまずいですね。この関数は内部でローカルなオブジェクトを生成して,
そのリファレンスを返していますが,そのオブジェクトは
関数を抜けた瞬間,残念ながら
c3 = c1 + c2;
c3 にコピーされる前に破棄されます。
C2char operator + ( ... )
にするべきです。
0261デフォルトの名無しさん
NGNGMemberInitialize() を protected にすると良いです。
外部から任意で呼ばれると,メモリリークを起こしますから。
それから。。。派生を考えての事なのかな?
MemberInitialize を virtual にしているようですが,
"コンストラクト時に一度しか呼ばれてはならない" という性質上,
あまり意味は無いように思えます。
余分な関数テーブルを減らすためにも,
virtual にはしない方がより良くなるでしょう。
0262233
NGNGいろいろ、やったが、何か解決すると複雑な処理が出来なくなる…
とりあえず operator+ は消して operator+= だけにした。
多分、operator+ だけだとどっかしらに動的メモリを取得してそれを代入する変数(C2char クラス)に
渡さないといけないと思う。
(代入する前に、デストラクタが発動してしまうため)
0263233
NGNGch3 にコピーした後、コピー元がメモリリークおきません?
つーかどうやってバッファの解放を??(いや、マジでわからん)
理想の動きといしては、ch1 と ch2 がその変数以外の C2char 変数にコピーされ
その内容が ch3 にコピー。
ch1 と ch2 からコピーした C2char の内容が破棄…
>>261
>MemberInitialize() を protected にすると良いです。
確かに外部から呼ばれるとマズイですね。
protected に移動しました。
>それから。。。派生を考えての事なのかな?
>MemberInitialize を virtual にしているようですが,
一応考えてます。まあ、この関数名で共通化すれば良いかな?くらいに。
ま、でも改造(派生)させるとなると多分無駄に終わるでしょうw
0264233
NGNG>IsDBCSLeadByteはif(((unsigned char)((x ^ 0x20) - 0xA1) <= 0x3B))の方が早いみたい。
すまん。テスト中にただの "i" 文字が先導バイトとして認識したので元に戻します。
0265233
NGNG出来た出来た。
今、テストでクラスのメンバーに入れてあるんで、グローバルにして問題無かったら、うpします。
0266233
NGNGttp://up.isp.2ch.net/up/e8d272f5f481.lzh
0267デフォルトの名無しさん
NGNGoperator +=()とかoperator =()はむしろC2char&の方がいいと思うが。
0268デフォルトの名無しさん
NGNGstr += "nullpo"; // oops!
lpm_StrBuff が NULL の場合を考慮したコードが必要ですね。
430行目と476行目の memcpy の行で
if (lpm_StrBuff) memcpy( ...
としてはどうでしょう。
ほぼどうでもいい話ですが,482行目で,もし this == &ob2 である場合
this->lpm_StrBuff == ob2.lpm_StrBuff でもあります。
「清潔なコード」を心がけたいなら,memmove を使う事も
考えておいた方がよいでしょう。
なお,将来 std::string::c_str() のようなメソッドをつけた場合,
str += str.c_str() + 1;
を正常に行えるために,あまり小さくない改造が必要になるかも
知れません。覚悟しておくべきです。
0269デフォルトの名無しさん
NGNGstr += LPCTSTR(str) + n;
これでアクセス違反が発生します。
それから
C2char str = "nullpo";
str = str;
これもアクセス違反を起こしそう。
0271234
NGNGちなみにここのNo. 3〜4に乗っているのを見つけたのだったけど、どういうときにそうなったのか気になるな。
http://homepage1.nifty.com/herumi/adv/adv40.html
0273234
NGNG返事が来ている。
ようするに「signedでもunsignedでも常にifの中でキャストしろ」ということらしい。
if ((unsigned char)((TestChar ^ 0x20 ) - 0xA1) <= 0x3B)
試してみたけどそこを直すだけでうまくいった。
http://www.coara.or.jp/~tkuri/D/019.htm#D2002-10-27
ちなみにここのコードもcharのキャスト1つで結果が変わってくる例。
>型キャスト,好きな時に適当に使ってればいいやと思っていたのですが,……
>私はすっかり型キャストをナメていました。
まさにこれだ……。orz
0274233
NGNG書いた通り、今でもあんま理解できん。
つまり、( ) で計算された結果は自然数である32bit(通常int等)に置き返られるって事か?
んで、cast が必要…と?
0275デフォルトの名無しさん
NGNG(TestChar ^ 0x20) - 0xA1をした結果が負になっても、(これには全てIsDBCSLeadByteの結果としてはfalseになる文字しかない)
unsigned charへのキャストによって負数は0x5F〜0xFFになり、SJISの1byte目に当たる文字だけが0x3B以下になるってことのようだ。
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0x80-0xFFは符合拡張されて、
0xFFFFFF80-0xFFFFFFFFになるからね。
0x3Bは0x3Bのままなんだけど。
符合拡張抑止が(unsigned char)。
0279233
NGNGhttp://up.isp.2ch.net/up/ab76303edef3.lzh
>>267
クラス内の演算子で、変更できるものは変更しました。
>>268
>this == &ob2
今回の更新で全て考慮しました。
もし他にも考慮するべき所があったらお願いします。
>>269
すまん、ちょっと言ってる事が上半分くらい分からんっす。
>>268 で考慮したんでそれでOKか?
特に str = str とかの点を。
>>276
お待たせいたしました。m(_ _)m
>>275 >>277
説明どうもっす。ムズッ!
とりあえずこの計算に直した。
0280233
NGNGコンストラクタの追加文字数指定版
GetSJIS
Insert
Mid
0281デフォルトの名無しさん
NGNG‐ー くー
´゚ ,r "_,,>、 >>233さんお元気?
ト‐=‐ァ'
` `二´'
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGCSTR::FromFileの一部
> delete [] m_str; //元の文字列を廃棄して
> m_str = new char[dwFileSize]; //読み込んだデータを入れられるようにする
> DWORD dwRead;
> if(ReadFile(hFile, m_str, dwFileSize, &dwRead, NULL)) {
> m_str[dwFileSize] = 0; //ファイルの終端にNULLを置く
> bSuccess = TRUE; //読み込み成功
> }
成功していないってば
> //コンストラクター(整数)
> CSTR::CSTR(const long i) {
>
> char sbuff[MAX_PATH / 8];
> wsprintf(sbuff, "%d", i);
> m_str = new char[lstrlen(sbuff) + 1];
> strcpy(m_str, sbuff);
> }
MAX_PATH / 8の根拠はどこから?
0286デフォルトの名無しさん
NGNGintの最大桁数は11桁なので、あぼん確定。
つーか、MAX_PATH依存にする辺りオ�hノレ。
0287デフォルトの名無しさん
NGNG0288233
NGNGhttp://up.isp.2ch.net/up/5a8fb5cd4a33.lzh
0291デフォルトの名無しさん
NGNGこれは?
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG>WRegexp.last_matchはグローバルなので、スレッド間で共有されてしまいます。
この時点で話にならないぽ
0294デフォルトの名無しさん
NGNGどゆこと?
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/prog/1094445966/
0297233
NGNGttp://up.isp.2ch.net/up/29599d59fd02.lzh
C2char
使ってて気になるところを直した。
・バッファ容量を直接指定出来るようにした。
・SJISの文字を取得出来るようにした。
とりあえず
int unStrSize = cl_str1.StrLen();
if( ( unStrSize >= 1 ) && ( cl_str1.GetSJIS( unStrSize - 1 ) != '\\' ) )
{
cl_str1 += "\\";
}
こんな感じにファイルのパスで使うような事も出来るようにした。
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG/ /^ヽヽ
___/ . / | |ヽ__
∩ __ ヽ<(。)ヽ |..|.<ヽ_ |
.U_ ̄ ヽ | | .|__.|
`---,l ヽ .|/ ./
ヽ \____/
/ /\ ./
// | / `、/
 ̄~ |/ |
/⌒/ /⌒\
_/⌒/ (/___// ´ ̄ ̄ ̄\
,--´ ̄ / ___ \
唯一神デオキシス様が華麗に>>300get!!皆の者俺の前にひれふせい!
デオキシスは神!!ノーマルフォルムは「攻守のバランスが取れている」!!DEOKISHISU is god!! DEOKISHISU is god!!
>ファイヤー 消防や厨房にまで使われない雑魚は引っ込んでな(プ
>サンダー どんなに貴様がすばやくても俺を追い越すことは不可能だ!!(プププ
>フリーザー 一撃必中?心の目使った後逃げられなければな(ワラ
>エンテイ おまえ伝説だったっけ?弱すぎてしらなかった(w
>スイクン 強さもかっこよさも俺には勝てないってこった(ゲラ
>ライコウ お前は影が薄いんだよ(プゲラ
>レックウザ レゴブロックがホウエン最強なんてこの世も末だな(プゲラッチョ
>ラティ兄妹 バトルタワーでワラワラ出てきてどこが伝説だ?(藁
>レジ兄弟 伝説でもない壷に負けてるし(ピッ
>ミュウツー フリーザのパクリは消えな(^^
>ホウオウ 攻撃高くても物理攻撃少ないじゃねーか(ゲラゲラ
>ルギア エアロブラスト以外はたいした技ないな(プゲラオプス
悪タイプ様ツボツボ様テッカニン様カイオーガ様
すいません調子こいてました許してくださいおながいします
0301デフォルトの名無しさん
NGNG,、 ' ヾ 、 丶,、 -、
/ ヽ ヽ \\:::::ゝ
/ヽ/ i i ヽ .__.ヽ ヽ::::ヽ
ヽ:::::l i. l ト ヽ ヽ .___..ヽ 丶::ゝ
r:::::イ/ l l. i ヽ \ \/ノノハ ヽ
l:/ /l l. l i ヽ'"´__ヽ_ヽリ }. ', ',
'l. i ト l レ'__ '"i:::::i゙〉l^ヾ |.i. l
. l l lミ l /r'!:::ヽ '‐┘ .} / i l l / ̄ ̄ ̄ ̄ ̄ ̄ ̄
l l l.ヾlヽ ゝヾ:ノ , !'" i i/ i< お呼びですか?
iハ l (.´ヽ _ ./ ,' ,' ' | ・・・・・
|l. l ` ''丶 .. __ イ \_______
ヾ! l. ├ァ 、
/ノ! / ` ‐- 、
/ ヾ_ / ,,;'' /:i
/,, ',. ` / ,,;'''/:.:.i
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
05/03/20 16:56:410304デフォルトの名無しさん
05/03/20 20:54:430305デフォルトの名無しさん
2005/03/24(木) 05:32:230306デフォルトの名無しさん
2005/03/26(土) 09:26:320307デフォルトの名無しさん
2005/03/26(土) 11:45:040308デフォルトの名無しさん
2005/03/28(月) 05:59:050309217
2005/07/24(日) 00:24:12wchar_tで持っているのならoperator const wchar_t *()って言い忘れていた。
鬱(ry
0310デフォルトの名無しさん
2005/08/03(水) 06:35:470311デフォルトの名無しさん
2005/08/03(水) 07:23:44ICUじゃだめか?
0312デフォルトの名無しさん
2005/08/03(水) 09:29:49普通に使う分には高速に動作して、出力するときだけ変換されるようにして
ICUはクラスじゃなくてライブラリ
0313デフォルトの名無しさん
2005/08/07(日) 12:55:440314デフォルトの名無しさん
2005/08/29(月) 20:09:53同期オブジェクトのメモリと、同期のコストを消費するよりも、
素直にコピーした方がまし。
仮引数はconst参照で済むし。
アロケータを細工して、メモリ取得・開放のコストを下げるのは重要だと思うけど。
0315デフォルトの名無しさん
2005/11/20(日) 02:09:38キツイって言うか、変換テーブルだけで莫大になりそうな気が…
0316デフォルトの名無しさん
2005/11/21(月) 13:57:42じゃ駄目?
0317デフォルトの名無しさん
2006/02/16(木) 01:34:590318デフォルトの名無しさん
2006/02/16(木) 13:43:270319デフォルトの名無しさん
2006/02/21(火) 23:54:260320デフォルトの名無しさん
2006/02/23(木) 22:17:00ttp://www.kmonos.net/wlog/39.php
に詳しい解説あるよ。
0321デフォルトの名無しさん
2006/02/24(金) 21:29:140322デフォルトの名無しさん
2006/02/26(日) 16:37:06結局charTポインタにしないといけないのが矢田
0323デフォルトの名無しさん
2006/03/06(月) 13:47:56■ このスレッドは過去ログ倉庫に格納されています