Rust part10at TECHRust part10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト832:デフォルトの名無しさん 21/06/05 06:14:19.54 uC9Joojh.net >>816 昔からCには文字種判別として、isalphaやisdigitなどがあるが、 libc++は、isalpha_l()などのlocale指定タイプを必要としていたりして locale関連がやたらと複雑。また、その isalpha_lなどを基礎にしてくれているならまだしも、isalpha_lが内部で使っている 文字種テーブル unsigned short _ctype[256]; も仮定していたりする。 このテーブルは、_CONTROL、_SPACE、_DIGIT、_ALPHAなどの BIT定数とandを取ってBITが立っているかどうかで文字種を判定する。 それは環境依存なのだが、高速化のためか何故かそれを必要としている。 (C++のライブラリが欲しいのに、そのライブラリが、なぜか一般的ではない 大量のC関数や特殊なデータテーブルを必要としてしまっている。) だから移植が進まない。 plain Cは、標準ライブラリが多くの環境である程度の互換性を持って整備されているが、 結果的にC++のSTLはなかなかそうではないようだ。 833:デフォルトの名無しさん 21/06/05 06:17:47.83 uC9Joojh.net C++ライブラリがisalpha_lなどを用いてしまったら、速度面でC#やJavaなど に比べた優位性が少なくなってしまうからかも知れない。 つまり高速化のためにやたらと移植性の低い方法を使っているから、 スムーズに移植が進まない。 それか単純にC++ライブラリを作る人の技術力が低いからだろうか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch