Boost総合スレ part8
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2009/08/28(金) 16:53:36part 7 http://pc12.2ch.net/test/read.cgi/tech/1232367742/
part 6 http://pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 http://pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 http://pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 http://pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 http://pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 http://pc8.2ch.net/test/read.cgi/tech/1091198276/
■関連サイト■
Boost C++ Libraries
http://www.boost.org/
Boost 翻訳プロジェクト
http://boost.cppll.jp/HEAD/
Let's Boost
http://www.kmonos.net/alang/boost/
boost info
http://shinh.skr.jp/boost/
0809デフォルトの名無しさん
2010/04/19(月) 00:58:140810デフォルトの名無しさん
2010/04/19(月) 01:41:57そんなあなたにGoogle日本語入力
0811デフォルトの名無しさん
2010/04/19(月) 07:26:02ttp://ja.wikipedia.org/wiki/%E4%BB%BB%E6%84%8F%E7%B2%BE%E5%BA%A6%E6%BC%94%E7%AE%97
ここに
> ライブラリ
> 任意精度演算は多くの場合、専用ライブラリを呼び出すことで実装されている。
> そのライブラリがデータ型を定義し、数値を指定した精度で格納したり、
> 計算を実行するサブルーチン群を提供している。
> ライブラリによって数値の内部表現は異なる。整数のみを扱うライブラリもあるし、
> 各種基数(十進、二進など)で浮動小数点数を格納するもある。
> 分数(有理数)形式で数を格納するものもあれば、実数を全て表現できるとするものもある。
ってあるとおり、改訂BSDライセンスとかでリリースされたライブラリもいっぱいあるから
別にBoost.Bigintにこだわる必要はなさそうだよ。
0812デフォルトの名無しさん
2010/04/19(月) 12:15:26つーか本気出すならexpressive使えよ
0813デフォルトの名無しさん
2010/04/19(月) 15:15:19計算量がボトルネックなら xpressive にしても期待する程の変化は
無いかも。
773 の状況が分からんからなんとも
0814デフォルトの名無しさん
2010/04/20(火) 23:48:54もう1.35でええわ
0815デフォルトの名無しさん
2010/04/20(火) 23:50:33Subversion使っていらっしゃりますか?
■Subversion Repository■
Boost正式
svn co http://svn.boost.org/svn/boost/trunk/ [インストール先パス]
BoostSandbox
svn co http://svn.boost.org/svn/boost/sandbox [インストール先パス]
これが一番便利だと言われたことがありますが。
0816デフォルトの名無しさん
2010/04/20(火) 23:53:57for (size_t i = 0; i < sizeof(a) / sizeof(a[0]); ++i) {
cout << a[i] << endl;
}
こんなのを、boost.arrayで書き直すと
const boost::array<int, 5> a = { { 1, 2, 3, 4, 5 } };
for (size_t i = 0; i < a.size(); ++i) {
cout << a[i] << endl;
}
sizeof使わなくて済む代わりに、要素数を明示しないと初期化できないのはどうにもならないものだろうか。
要素数をいちいち数えるくらいなら配列で書いた方がましだなぁ…。
0817デフォルトの名無しさん
2010/04/21(水) 00:05:49あれだ、
std::initializer_list
が導入された暁には全部綺麗に解決するんだよ。
たぶん。きっと。maybe。
0818デフォルトの名無しさん
2010/04/21(水) 00:10:03親切にありがとう
Subversionは触った事ないけどいい機会だからちょっと調べてみる
0819デフォルトの名無しさん
2010/04/21(水) 00:19:30Arrayリテラルがあれば色々解決できそうなんだが・・・。
template<class T,const size_t N>
size_t Length(T (&Array)[N]){
return N;
}
int main(){
int Ary[10];
size_t N= Length(Ary);
N=Length( ({0,1,2,3,4,5}) );//ここがだめ。
return 0;
}
0820デフォルトの名無しさん
2010/04/21(水) 01:15:30それも>>817の挙げたinitializer_listで解決。
template<class T>
size_t Length(std::initializer_list<T> Array){
return Array.size();
}
g++ 4.4だとこれでLength({0,1,2,3,4,5})が通る。まあ、boost::sizeでおkだが。
0821デフォルトの名無しさん
2010/04/21(水) 01:18:45あらま、std::initializer_listってクラス専用というわけではないんだね。いかん、思い込みはいかん。orz
0xって凄い改変なんだなー。改めてビックリした。
0822デフォルトの名無しさん
2010/04/21(水) 07:41:500823デフォルトの名無しさん
2010/04/21(水) 17:59:12> boostって標準ライブラリに入るか現在進行形のライブラリ?
どーゆー意味?
Boostとは?
1998年に、最初のC++言語の国際規格が誕生しました。
その規格に採用されたライブラリがいわゆる「C++標準ライブラリ」です。
しかしこのとき、さらに強力な標準ライブラリを求めて、
標準化委員会のメンバー達が新しいプロジェクトを立ち上げました。
それが Boost です。
Boost の目標は、有用で、フリーな、 移植性のあるライブラリを実際に実装・公開し、
いずれ来る次のC++標準化 (C++0X) の際に、 新標準ライブラリとして提供されることにあります。
0824デフォルトの名無しさん
2010/04/21(水) 18:07:100825デフォルトの名無しさん
2010/04/21(水) 18:19:42>いずれ来る次のC++標準化 (C++0X) の際に、
> 新標準ライブラリとして提供されることにあります。
うん その新標準ライブラリに追加される予定なのかい?
0827823
2010/04/21(水) 18:45:02うむ。
そのたった一部は、ね。
あと、boostのライブラリとしてではないが考え方が取り込まれる
(促進したor影響した)ものもある。
LambdaとかTMPとか。
0828デフォルトの名無しさん
2010/04/22(木) 13:56:480829デフォルトの名無しさん
2010/04/22(木) 17:59:430830823
2010/04/22(木) 19:44:37つい釣られてしまった。
0831デフォルトの名無しさん
2010/04/22(木) 21:29:108文字以上100文字以下のランダム文字列(偶然の一致はまず考えられないと思われるもの)
を適当な関数を呼び出すだけで生成できる方法を教えてください。
「適当な関数を呼び出すだけ」とは、つまり乱数の種を与えたりする手間もかからず
#include <iostream>
#include <get_random_string.hpp>
int main(){
std::cout << get_random_string();
return 0;
};
みたいに使えるものということです。
よろしくお願い申し上げます。
0832デフォルトの名無しさん
2010/04/22(木) 21:31:160833デフォルトの名無しさん
2010/04/22(木) 21:35:25Boost.Uuidとは?
と思いましたら
ttp://www.kmonos.net/alang/boost/classes/uuid.html
こ・・・こんなライブラリがいつの間に正式に採用されていたんですね。
ありがとうございます。
0834デフォルトの名無しさん
2010/04/22(木) 22:54:500835デフォルトの名無しさん
2010/04/22(木) 23:11:250836デフォルトの名無しさん
2010/04/23(金) 00:27:470837デフォルトの名無しさん
2010/04/23(金) 00:52:18送出したプログラムの責任には含まれない
abort という結果は監視側にある
0838デフォルトの名無しさん
2010/04/23(金) 00:53:290839デフォルトの名無しさん
2010/04/23(金) 07:21:43ってどういう機能なんでしょうか?
0840デフォルトの名無しさん
2010/04/23(金) 07:36:340841デフォルトの名無しさん
2010/04/23(金) 19:05:30無論そのくらいググりましたが、
機械翻訳とかで意味がさっぱり分かりませんでした。
0842デフォルトの名無しさん
2010/04/23(金) 22:16:54Boost.Converter Stream is a library that allows to convert text
from one character set to another in C++ language using the
Standard Library streams.
これの何が分からない?
0843839
2010/04/23(金) 22:35:43> Boost.Converter Stream is a library that allows to convert text
> from one character set to another in C++ language using the
> Standard Library streams.
Boost.Converter Streamは、
標準ライブラリのストリームを用いて
一つの「文字からなる集合」からanother in C++ languageに
テキストを変換する
ライブラリです。
このanother in C++ languageが分かりませんでした。
よろしくお願いいたします。
0844デフォルトの名無しさん
2010/04/23(金) 22:42:41Boost.Converter Stream is a library /
that allows to convert text from one character set to another /
in C++ language using the Standard Library streams.
こう切れ
0845839
2010/04/23(金) 23:17:32ありがとうございます。
> to convert text from one character set to another
この部分ですが、結局何ができるってことなのでしょうか?
anotherということは
一つの「文字からなる集合」から別の不定の一つの「文字からなる集合」?
でしょうか??
自分で言ってて全然分かりません。自分の訳がクソ過ぎるとしか。。。
0846デフォルトの名無しさん
2010/04/23(金) 23:21:51あ、”character set"を知らないのか.別名
character encoding
http://en.wikipedia.org/wiki/Character_encoding
http://ja.wikipedia.org/wiki/文字コード
0847デフォルトの名無しさん
2010/04/23(金) 23:26:53あー!
C++0xの規格書に出て来るUTFの別名である
universal character set
なら見た事あったのですが、
character setだけで文字コードって意味になったのですね。
すごくすっきりしました。
ということは
Boost.Converter Streamは標準C++ライブラリのiostreamを用いて
文字コード変換を行なうライブラリ
ということですか。
ありがとうございました。
0848デフォルトの名無しさん
2010/04/23(金) 23:40:35「文字集合」とか「文字セット」って用語もあってそっちを指す場合もあるんだけどね。
文字コードと思っておいてあまり問題もないけど
0849デフォルトの名無しさん
2010/04/23(金) 23:47:35はい、ややこしいですね。
ありがとうございます。
0850デフォルトの名無しさん
2010/04/25(日) 23:13:50"boost" で "o" を "O"へ置換すると
"bOOst"となってしまいます。
"bOost"を期待しているのですが、できませんか?
0851デフォルトの名無しさん
2010/04/25(日) 23:21:45何?釣り?
"oo" を "Oo"へ置換しろよw
0852デフォルトの名無しさん
2010/04/25(日) 23:25:50フラグformat_first_onlyがflagsでセットされていれば,最初にeにマッチした部分だけが置換される.
と書いてあるようだけど
0854デフォルトの名無しさん
2010/04/25(日) 23:34:21さすがに>>852が親切エスパー過ぎただけだろ。
てめーのレスで意味を分かってくれるとでも?
0855デフォルトの名無しさん
2010/04/25(日) 23:37:46uzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0856デフォルトの名無しさん
2010/04/25(日) 23:39:00いやいや冷静に考えてだな
> boost::regex_replace
> "boost" で "o" を "O"へ置換すると
> "bOOst"となってしまいます。
> "bOost"を期待しているのですが、できませんか?
これだけじゃ
いくらでも答えが出るだろうが。
そもそもこの程度でboost::regex_replaceを持ち出すまでもないじゃねぇか。
0857デフォルトの名無しさん
2010/04/25(日) 23:40:500858デフォルトの名無しさん
2010/04/25(日) 23:58:08boost::regex_replace でって前提で、
最初にマッチした部分だけを置換したい、って話だから、
>>852 のレスが一番普通。 って、ここまで言わないといけない幼稚園スレ
0859デフォルトの名無しさん
2010/04/26(月) 00:09:43ですね
大人な対応、サンクス
0860デフォルトの名無しさん
2010/04/26(月) 00:32:080861デフォルトの名無しさん
2010/04/26(月) 00:57:150862デフォルトの名無しさん
2010/04/26(月) 01:04:36書くだけなら、誰でもかけるが、boostよりも高速動作するのは至難の業だぞ
おまえもやってみろよ
0863デフォルトの名無しさん
2010/04/26(月) 01:05:060864デフォルトの名無しさん
2010/04/26(月) 01:16:062^32 倍は速いことに疑問を挟む余地はない
0865デフォルトの名無しさん
2010/04/26(月) 02:29:14大した技量も無い中学生って事に疑問を挟む余地はない
0866デフォルトの名無しさん
2010/04/26(月) 02:34:440867デフォルトの名無しさん
2010/04/26(月) 02:50:13uzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0868デフォルトの名無しさん
2010/04/26(月) 02:51:460869デフォルトの名無しさん
2010/04/26(月) 03:53:310870デフォルトの名無しさん
2010/04/26(月) 06:35:56まさかしてないの?
0871デフォルトの名無しさん
2010/04/26(月) 09:54:37朝起き出してきて最初のレスがそれ? なんて爽やかな朝なんだろうね。
0872デフォルトの名無しさん
2010/04/26(月) 10:00:42彼の時計はまだ夜です
しったかしないでください
0873デフォルトの名無しさん
2010/04/26(月) 10:07:330874デフォルトの名無しさん
2010/04/26(月) 10:09:520875デフォルトの名無しさん
2010/04/26(月) 10:55:11その空白期間は、きっと自家発電に熱を上げていたからに違いありません。
0876デフォルトの名無しさん
2010/04/26(月) 11:01:53無職は良いな、暇で。
俺?俺は夜勤明けだから。
0877デフォルトの名無しさん
2010/04/26(月) 11:16:18ダウンロードでとても忙しいのです
しったかしないでください
0878デフォルトの名無しさん
2010/04/26(月) 11:17:56労働時間、もって1時間が限界だお(;ω;)
0879デフォルトの名無しさん
2010/04/26(月) 11:27:12>>878
労働時間 1時間/day? 天国じゃねぇか。
0880デフォルトの名無しさん
2010/04/26(月) 14:02:22/ r'´>'"  ̄ `ヽン-!、 ::::::: Y
_,.r<「/ /__」. - ハ i ヽ/ァ ::::::::::: ::::
-'‐r'´ / / /i ハ__ /:::i ハ Y」 :::::::::: ::::
/ ,' .,' / /:::!ァ'⌒ヽ/:::::| /-、 '! :::::::::: ::/
./ i i ,' /::::/ /り:::::::::| ハ」_| i. | 人___ノ
| !/レi::: ' し' ::レ'´ァ'ハ| ,ハ !く
./レイ 7 ,, `'' ,!リ/|/ハレ' i っ
i i u ,.- 、,_ ゞ/ .iヽ! ノ て
/ /| |. / ヽ7 ! | Y. 言
/ //!. | ! / ,イ ハ i う
へ_r、_/ |ハ. ', ,、 ` ー- ' //.| / レ' か
__r'">へ `ヽ! /ヽ`i>=-ァ'´ ./ レヘ(ヽ/. 誰
ヽ`'、ー-、7 /ヽ、レ'、!/レ'::::::::、ノ が
`ヽ/(>)/ 7ヽ. ::::::::::::: ). こ 得
ヽ / ,. '´ ̄ヽ,'" ̄ン、_:::: ∠_. の す
ヽ. ノ´ ̄_ヽ'ヽノ/´,,. -、7::::::::ヽ. ス. る
ヽへ ヽ ,/´ /´ ´ /,. '´ ,. -'iハ::::::::::::i レ の
└へト、// i /,.、/」 |:::: ::::::| .は
ヽ>/ ノ // i |::: :: ノ !?
0881デフォルトの名無しさん
2010/04/26(月) 14:42:050882デフォルトの名無しさん
2010/04/26(月) 14:53:020883デフォルトの名無しさん
2010/04/26(月) 15:02:24損とか
最初に言い出したのは
だ・れ・な・の・か・しら
0884デフォルトの名無しさん
2010/04/26(月) 15:09:11(駆け抜けて行く〜)
0885デフォルトの名無しさん
2010/04/27(火) 17:35:59余分な引数が単純に捨てられるという2つの特徴が強力なために,
組み込みの lambda が Boost.Lambda や Phoenix を置き換えるに至らない.
0886デフォルトの名無しさん
2010/04/27(火) 17:42:56何?難しすぎてよく分からない。
つまり
組み込み.Lambda は compile-time polymorphic じゃない上
余分な引数が単純に捨てられるという機能を持っていないってこと?
あとびっくりしたのが
Boost.Lambda と Boost.Phoenix はまだ統合されていなかったとは。
もうてっきり一つになったのかと思ったよ。
0887デフォルトの名無しさん
2010/04/27(火) 17:43:59lambda くらいから
0888デフォルトの名無しさん
2010/04/27(火) 17:46:062〜3個で理解できるライブラリってたいした事できないだろ。
Boost.progress_displayとかならまあ・・・。
0889デフォルトの名無しさん
2010/04/27(火) 17:59:190890885
2010/04/27(火) 19:00:52あ,すいません.意味の通らない文になっていました.
おっしゃっている通りのことが言いたかっただけです.
0892デフォルトの名無しさん
2010/05/02(日) 06:18:11ブーストを使って昔作った正規表現を使ったソースのコピペをしただけなのにこんな感じのエラーが出まくるのですが何故でしょうか?
昔に作った方はコンパイルが通っています
違いは今のはフォームアプリケーションというくらいです
0893デフォルトの名無しさん
2010/05/02(日) 07:35:150894デフォルトの名無しさん
2010/05/02(日) 07:46:23ありがとうございます
マジですか…
ありがとうございました
0895デフォルトの名無しさん
2010/05/02(日) 07:47:44>違いは今のはフォームアプリケーションというくらいです
VC++ だと思うけど、C/C++ と C++/CLI はまったく違うう別物って事はわかってるか?
そして選んだプロジェクトがマネージド(C++/CLI …要は .NET、C# と同じ)になってるってわかってるか?
VC++の特にExpressでフォームとかGUIで貼り付けて作れるのは C++ じゃなくて C++/CLI の方だけ
つまり、使えない
0896デフォルトの名無しさん
2010/05/02(日) 07:55:57ありがとうございます
全く別物とか言われても同じように使える部分がほとんどなのであんまり実感が…
Regexが使えるってことでよろしいでしょうか?
0897デフォルトの名無しさん
2010/05/02(日) 22:45:59C++とマネージドの2種類の言語を同時に使えるようにして一見同じように使えるように見えるのが曲者。
結局C++とマネージドのオブジェクトには互換性が無いからはまりやすい。
たとえばマネージのクラスにC++のオブジェクトのポインタのメンバー変数はできるけどオブジェクトのメンバ変数は作れない。
学習にはC++かC#のどちらかはっきりさせたほうがいいよ。
0898デフォルトの名無しさん
2010/05/02(日) 23:21:40何かの事情で必要とした時だけ使うもの。 簡単に言えば、かなり特殊な状況で必要になるかもしれない物。
初心者が、まして C/C++ の学習に使うとかそういう類の物じゃないよな
>>896 まったく別物、の意味を良く理解して下さい。 同じように使えるのは、一見同じように使えてるように見えてるだけ
0899デフォルトの名無しさん
2010/05/05(水) 12:19:12bjam.exe --toolset=msvc-9.0 --with-chrono link=static runtime-link=shared release stage
bjam.exe --toolset=msvc-9.0 --with-chrono link=static runtime-link=shared debug stage
bjam.exe --toolset=msvc-9.0 --with-chrono link=shared runtime-link=shared release stage
bjam.exe --toolset=msvc-9.0 --with-chrono link=shared runtime-link=shared debug stage
で、以下のlibファイルは生成されるのですが、
boost_chrono-vc90-mt.lib
boost_chrono-vc90-mt-gd.lib
boost_chrono-vc90-mt-1_42.dll
boost_chrono-vc90-mt-1_42.lib
boost_chrono-vc90-mt-gd-1_42.dll
boost_chrono-vc90-mt-gd-1_42.lib
libboost_chrono-vc90-mt.lib
libboost_chrono-vc90-mt-gd.lib
libboost_chrono-vc90-mt-1_42.lib
libboost_chrono-vc90-mt-gd-1_42.lib
(続く)
0900デフォルトの名無しさん
2010/05/05(水) 12:20:00以下のファイルが生成されません。
libboost_chrono-vc90-s-1_42.lib
libboost_chrono-vc90-sgd-1_42.lib←必要なのはこれ
bjam.exe --toolset=msvc-9.0 --with-chrono link=static runtime-link=static release stage
bjam.exe --toolset=msvc-9.0 --with-chrono link=static runtime-link=static debug stage
bjam.exe --toolset=msvc-9.0 --with-chrono link=shared runtime-link=static release stage
bjam.exe --toolset=msvc-9.0 --with-chrono link=shared runtime-link=static debug stage
error: link=shared together with runtime-link=static is not allowed
error: such property combination is either impossible
error: or too dangerious to be of any use
過去にここでも話題になってる問題の様です。
--with-python や --with-mpi や --build-type=complete も付けてみましたが
上記ファイルは生成されません。
解決策があれば教えて下さい。
0901デフォルトの名無しさん
2010/05/05(水) 13:13:30bjam --toolset=msvc stage release debug link=static runtime-link=static
0902デフォルトの名無しさん
2010/05/05(水) 13:15:25できてなかった
0903デフォルトの名無しさん
2010/05/05(水) 19:55:360904デフォルトの名無しさん
2010/05/05(水) 19:58:37https://svn.boost.org/trac/boost/wiki/Guidelines/Requirements
> Aim first for clarity and correctness; optimization should be only a secondary concern in most Boost libraries.
ってことかなぁ、とは思うが、まずは何を見て遅いと思ったのか聞こうか。
0905デフォルトの名無しさん
2010/05/05(水) 20:06:42早くなるわけが無い
何もしないのが一番早いんだから
0906デフォルトの名無しさん
2010/05/05(水) 20:31:430907デフォルトの名無しさん
2010/05/05(水) 21:51:53Jamrootの180行目、
EXIT ;
を
return ;
に変更(エラーを無視)する事によって解決します。
尚この場合、副作用としてlink=shared, runtime-link=staticもビルドが可能になってしまいますが、
これは危険な為本来ビルドが禁止されている構成です。
それから、意図しない構成や名前のおかしなゴミファイルが追加で作成される場合もありますのでお気を付け下さい。
0908デフォルトの名無しさん
2010/05/05(水) 21:58:51レス数が900を超えています。1000を超えると表示できなくなるよ。