10/05/28 11:49:47
過去スレ
Part 8 スレリンク(tech板)
part 7 スレリンク(tech板)
part 6 スレリンク(tech板)
part 5 スレリンク(tech板)
part 4 スレリンク(tech板)
part 3 スレリンク(tech板)
part 2 スレリンク(tech板)
part 1 スレリンク(tech板)
■関連サイト■
Boost C++ Libraries
URLリンク(www.boost.org)
Boost 翻訳プロジェクト
URLリンク(boost.cppll.jp)
Let's Boost
URLリンク(www.kmonos.net)
boost info
URLリンク(shinh.skr.jp)
2:デフォルトの名無しさん
10/05/28 11:51:08
■関連書籍■
Boost C++をチューンアップする最先端ライブラリ
URLリンク(www.amazon.co.jp)
Boost C++ Libraryプログラミング
URLリンク(www.amazon.co.jp)
Beyond The C++ Standard Library
URLリンク(www.amazon.co.jp)
C++ Template Metaprogramming
URLリンク(www.amazon.co.jp)
The Boost Graph Library
URLリンク(www.amazon.co.jp)
■関連スレ■
C++相談室 part81
スレリンク(tech板)
C++0x 9
スレリンク(tech板)
3:デフォルトの名無しさん
10/05/28 11:51:54
Boost Sandbox
URLリンク(svn.boost.org)
Boost Vault
URLリンク(www.boostpro.com)
Loki
URLリンク(sourceforge.net)
JTC1/SC22/WG21 - The C++ Standards Committee
URLリンク(www.open-std.org)
POCO, the C++ Portable Components
URLリンク(www.appinf.com)
URLリンク(sourceforge.net)
The unofficial BCB Boost patches
URLリンク(bcbboost.sourceforge.net)
4:デフォルトの名無しさん
10/05/28 21:38:34
boost.fiber をビルドしたのですが、以下のエラーがでてビルドできません。
解決策を教えて下さい。
C:/lib/boost/boost_1_42_0/libs/fiber/build\pyutils.jam:2: in load
rule PYTHON_IMPORT_RULE unknown in module pyutils.
C:/lib/boost/boost_1_42_0/tools/build/v2/kernel\modules.jam:283: in modules.impo
rt
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:903: in import
libs\fiber\build\Jamfile.v2:14: in modules.load
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:313: in load-jamfile
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:62: in project.load
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:763: in project.use
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:89: in load-used-proj
ects
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:73: in load
C:/lib/boost/boost_1_42_0/tools/build/v2/build\project.jam:168: in project.find
C:/lib/boost/boost_1_42_0/tools/build/v2\build-system.jam:553: in load
C:\lib\boost\boost_1_42_0\tools\build\v2/kernel\modules.jam:283: in import
C:\lib\boost\boost_1_42_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-buil
d
C:\lib\boost\boost_1_42_0\boost-build.jam:17: in module scope
5:デフォルトの名無しさん
10/05/29 22:02:12
ublas::vectorには==演算子が定義されていないのでしょうか?
6:4
10/05/30 10:57:08
>>4
fiber\build\Jamfile.v2の
14行目の import pyutils ; を消す。
29行目の [ pyutils.linkage ] を "WindowsPE" に変更。
53行目の [ pyutils.architecture ] を "i386" に変更。
(pyutils.py の実行結果を直で書いた・・・)
で解決しました。
7:デフォルトの名無しさん
10/05/31 11:27:35
#include <boost/iostreams/stream.hpp>
#include <boost/iostreams/device/array.hpp>
#include <iostream>
namespace io = boost::iostreams;
char buf[] = {1, 2, 3, 4, 5};
#if 0
// (A)
io::array_source src(buf);
io::stream_buffer<io::array_source> sb(src);
#else
// (B)
io::stream_buffer<io::array_source> sb(io::array_source(buf));
#endif
std::istream s(&sb);
(B)の場合はコンパイルが通るのですが、(A)の場合だと
> C2664: 'std::basic_istream<_Elem,_Traits>::basic_istream(std::basic_streambuf<_Elem,_Traits> *,bool)' : 1 番目の引数を
> 'boost::iostreams::stream_buffer<T> (__cdecl *)(boost::iostreams::array_source)' から 'std::basic_streambuf<_Elem,_Traits> *' に変換できません。
となりますが、理由がわかりません。
array_sourceを直接渡すか変数を介すかで、何故違いが出るのでしょうか?
VC++2010 EE + boost 1.43.0
8:7
10/05/31 11:47:01
いろいろ試してみたところ
> io::stream_buffer<io::array_source> sb(io::array_source(buf));
が関数プロトタイプと解釈されている事が原因のようです。
これは言語的に正しい解釈なのでしょうか?
9:デフォルトの名無しさん
10/05/31 20:37:37
>>8
Yes.
Effective STL に載ってる有名な落とし穴。
10:7
10/06/02 11:10:46
>>9
io::stream_buffer<io::array_source> sb(io::array_source buf);
という風に解釈されるんですね。
遅くなりましたがありがとうございました。
11:デフォルトの名無しさん
10/06/07 15:35:41
すみません質問です。
VisualStudioの2008と2010が入っている環境でboostをビルドしたところ、msvcのバージョン指定しない場合は「~vc100~.lib」等が作成されました
VS2010でサンプルアプリケーションを作って実行したところ正常動作を確認したのですが、欲しかったのはVS2008用のため、msvcのバージョンを指定してビルドしたのですが、
「~vc~.lib」というファイルが出来あがり、VS2008でサンプルアプリケーションを作って実行したところ「~vc90~.lib」が見つからずエラーとなりました
古いバージョンのビルドでバージョン表記を付けてビルドするにはどうすればいいんでしょうか。
参考にしたURLこちらで、バージョン指定のビルド時は「--toolset=msvc-9_0」を指定しました
URLリンク(www.kmonos.net)
12:デフォルトの名無しさん
10/06/07 16:55:39
toolset=msvc-9.0
13:デフォルトの名無しさん
10/06/07 17:33:04
うおおおできたぁあああああああ!!!
有難うございます助かりましたm(_ _)m
14:デフォルトの名無しさん
10/06/08 01:50:23
bjam toolset=msvc-8.0 variant=debug,release link=static threading=multi runtime-link=static stage
bjam toolset=msvc-9.0 variant=debug,release link=static threading=multi runtime-link=static stage
bjam toolset=msvc-10.0 variant=debug,release link=static threading=multi runtime-link=static stage
ウチはこれで容量節約
15:デフォルトの名無しさん
10/06/09 03:06:45
質問お願いします。
ublasで
A=[B~t C^t]~t A,B,Cはベクトル
Y 0 0
X=[0 Z 0 ] X,Y,Z,Wは行列
0 0 W
この時のB,CやY,Z,Wが存在していてそれを元に
AやXを作成したいのですが良い方法はありますでしょうか?s
16:デフォルトの名無しさん
10/06/09 03:08:19
A=[B^t C^t]^t ですね。すみませんでした。
17:デフォルトの名無しさん
10/06/09 03:49:15
ベクトルA,B,C と行列Xになんの関係もないじゃん。
18:デフォルトの名無しさん
10/06/09 07:26:59
そうですね。A,B,CとX,Y,Z,Wの間には関係がないです。
B,CをもとにA、Y,Z,WをもとにZをそれぞれ定義したいという感じです。
19:デフォルトの名無しさん
10/06/09 19:48:55
>>15
ublas使うなら URLリンク(d.hatena.ne.jp)を1から読むといいよ
15が聞きたいことも頻繁にやってる(projectとかsliceとか)
20:デフォルトの名無しさん
10/06/11 01:06:06
15です。
そのサイトは非常に参考にさせて貰ってます。
たぶんですけどsliceからのswapでいけるのかなぁ~と考えてます。
ともかく色々試してみます。質問に答えてくれてありがとう。
21:デフォルトの名無しさん
10/06/12 21:45:16
ビルドしたライブラリ(.lib)の名前の後ろにつく文字列に、mtとmt-sという
2種類のものがあるのですが、どのような違いがあるのでしょうか?
mtというのは、VC++のランタイムライブラリ設定で"マルチスレッド"を
選んだからだと思うのですが、sという文字列の意味がわかりませんでした。
初歩的な質問かもしれないですが、教えてもらえるとうれしいです
22:デフォルトの名無しさん
10/06/12 21:46:38
static
23:デフォルトの名無しさん
10/06/12 22:40:53
URLリンク(www.boost.org)
24:デフォルトの名無しさん
10/06/17 00:54:23
>>21
VC++のランタイムライブラリ設定でいうなら
マルチスレッド libboost_…-mt-s
マルチスレッド デバッグ libboost_…-mt-sgd
マルチスレッド DLL libboost_…-mt
マルチスレッド デバッグ DLL libboost_…-mt-gd
ただし、このDLLというのはCランタイムのDLLのことなので
BOOST C++ ライブラリをDLLで使いたい人のために
boost_で始まるlib/dllも出力されるので
bjam toolset=msvc-10.0 --build-type=complete stage
すると5.8GBにもなるという
25:デフォルトの名無しさん
10/06/21 20:29:21
weak_ptrってshared_ptrが無効かどうか知る場合に使えばいいですか?
26:デフォルトの名無しさん
10/06/21 20:31:26
>>25マルチすんな
27:デフォルトの名無しさん
10/06/21 21:29:27
何が悪いんだよ
おまえ goto 有害説にしか見えないぜ
28:デフォルトの名無しさん
10/06/22 08:39:32
>>25
いいえ
29:デフォルトの名無しさん
10/06/22 10:58:33
>>26
ごめんなさい・・・
スルーされたもんで
30:デフォルトの名無しさん
10/06/22 15:50:16
>>29
そんな言い訳が通用したらマルチは存在しない。
常識で考えればちゃんと取り下げてから来いよ。
31:デフォルトの名無しさん
10/06/22 21:52:41
>>25
できるけど、普通shared_ptrはコンストラクタで初期化するのだし
そういうコードが必要になるような設計に問題があると思う
if (p != NULL) {...} がバグの温床だからやめようというのと同じで
if (p.use_count()) {...} ってのも関心しない
検索してもなかなか出てこないのには好ましくないから
人に見せるような綺麗なプログラムにはあまり出てこないという背景がある
32:デフォルトの名無しさん
10/06/23 18:26:38
p.use_count() はともかく
if (shared_ptr<Hoge> p = wp.lock()) {
...
}
あたりはかなり典型的かつ有用な idiom のような?
33:デフォルトの名無しさん
10/06/23 20:36:20
ブーリアンコンテキストでチェックするのは普通でしょ
そのためにsafe boolが定義されてるんだから
use_count()はデバッグやテストのためであって
製品版では使うなとドキュメントに書いてあったはず
34:デフォルトの名無しさん
10/07/02 17:48:50
へえ
35:デフォルトの名無しさん
10/07/07 10:17:00
ublasって
純粋なCと速度はあんまり変わりないの?
他のboostもコンパイルに時間かかるだけで実行時間は純粋なCとあまり変わりないの?
36:デフォルトの名無しさん
10/07/07 10:36:39
純粋なCってなんだよ
この世には不純なCがあるのか?
37:デフォルトの名無しさん
10/07/07 11:30:27
全てはアセンブリ言語に変換・・・アセンブルされ、リンクし、バイナリは天に召される。
動けわがプログラムよ!
38:デフォルトの名無しさん
10/07/07 11:53:17
天に召されたらうごかないんじゃね
39:デフォルトの名無しさん
10/07/07 15:04:32
天はCPUなり
40:デフォルトの名無しさん
10/07/07 15:13:58
三途のバスを越え、閻魔CPUの裁きが下るそのとき、
あなたの運命は定まるでしょう。
41:デフォルトの名無しさん
10/07/09 10:47:13
boost::regex hosii("hoge ?\(");//boost::reg_expression<char> regex = 正規表現;にするとできない。
boost::match_results<const char*> results;//←もうこの辺から::を押しても出てこない
boost::regex_search(data, results,hoge);
fputs(results.str(0), wfp);←ここでエラー
boostが全然できません
error C2664: 'fputs' : 1 番目の引数を 'std::basic_string<_Elem,_Traits,_Ax>' から 'const char *' に変換できません。(新しい機能 ; ヘルプを参照)
1> with
1> [ _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。
キャストする
↓
error C2440: '<function-style-cast>' : 'std::basic_string<_Elem,_Traits,_Ax>' から 'char' に変換できません。
1> with
1> [ _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。
助けてください
簡単にC++で正規表現できるんじゃないんですか?VC++2008EE notCLI 正規表現で文字列取得して配列に入れたいだけです。どうすれば良いのでしょうか?
42:デフォルトの名無しさん
10/07/09 11:05:23
エスケープシーケンス
std::string::c_str()
まずC++の基礎を何とかしてください。
43:デフォルトの名無しさん
10/07/09 11:21:56
ありがとうございます。一応コンパイル通りました
results.str(0).c_str()
こんなのがあるなんて全然知りませんでした。
44:デフォルトの名無しさん
10/07/09 14:00:41
詰みました
boost::regex hosii(" *hoge *\(");←ここで止まります。ハンドルされていない例外ですと
boost::match_results<const char*> result;
boost::regex_search(data, results,hosii);
fputs(results.str(0).c_str(), wfp);
何が間違ってるのでしょうか?
エスケープシーケンスが正しくないかもしれませんみたいな警告が出てましたが何か間違ってますか?
45:デフォルトの名無しさん
10/07/09 14:08:24
\→\\
46:デフォルトの名無しさん
10/07/09 14:14:35
>>45
ありがとうございました
一見\で\が文字化されそうですね
47:デフォルトの名無しさん
10/07/09 14:54:13
簡単さならxpressiveがヘッダファイルだけで済んで手軽
Static版の文法覚えちゃえば処理速度も期待できる
ただしコンパイル時間は延びる
48:Regex
10/07/10 01:03:17
ぼくもほめて(´;ω;`)
49:progress_display
10/07/10 05:24:22
まだまだ未熟だな。
50:名無しさん@そうだ選挙に行こう
10/07/10 08:51:21
ublasは中身替えられるから
ATLASなどを使えばSIMD対応で速いと聞く
ただATLASのコンパイルという壁が・・
51:名無しさん@そうだ選挙に行こう
10/07/10 09:17:03
regexはユーザーが入力した正規表現をそのまま渡しても平気かな?セキュリティーホールになったりしない?
52:名無しさん@そうだ選挙に行こう
10/07/10 10:30:03
Xpressive VC2008だと山のように警告が出る
53:名無しさん@そうだ選挙に行こう
10/07/10 12:17:27
そうか?型の整合性さえ取れれば何も言われないけどな
山のようにって言っても一部の警告がテンプレートの展開で連鎖してるんだろ
54:名無しさん@そうだ選挙に行こう
10/07/10 23:54:14
Boost.Xpressiveサイコー
でも標準入りを果たしたStd.Regexの汎用性には負ける。
55:名無しさん@そうだ選挙に行こう
10/07/11 00:09:26
RegexってインタプリタパターンとかDSLになるん?
56:名無しさん@そうだ選挙に行こう
10/07/11 20:18:20
Regexはインタープリタ
XpressiveはTMP、インタープリタ、両対応。
57:名無しさん@そうだ選挙に行こう
10/07/11 22:54:07
>>55
> インタプリタパターン
> DSL
って何?パターン?
よく知らないんだけど、正規表現の業界用語?
58:名無しさん@そうだ選挙に行こう
10/07/11 23:01:35
>>57
デザインパターン
59:57
10/07/11 23:49:52
>>58
Gang of Fourのdesign patternのこと?
インタプリタパターンなんてあった記憶が無いんだけど。
…あったし!!ごめん!
Interpreter パターン - Wikipedia
URLリンク(ja.wikipedia.org)
60:デフォルトの名無しさん
10/07/12 08:01:49
> DSL
Domain Specific Language
分野特化言語
61:デフォルトの名無しさん
10/07/12 10:30:16
>>60
ありがとう。
62:デフォルトの名無しさん
10/07/12 19:46:25
Interpreter パターンとか Visitor と Composite 組み合わせて ParseContext 作っただけにしか見えないわ
63:デフォルトの名無しさん
10/07/13 20:33:35
実装詳細を見てわかった気になるヤツって多いよね
64:デフォルトの名無しさん
10/07/17 01:11:16
mac osx 10.6 xcode 環境で boost のインクルードパスをシステムインクルードの検索パスに追加してビルドすると、
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:80:0
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:80:
error: 'vsnprintf' is not a member of 'std'
などと言われて、コンパイルできません。
osx内のSDKのヘッダとboost のそれが競合してる見たい何だけど、どうやれば解決できませすか。
65:デフォルトの名無しさん
10/07/17 01:29:37
誰か>>64の解決策教えてよ。友達いないんだ。さみしいの。
66:デフォルトの名無しさん
10/07/17 06:20:17
URLリンク(lists.apple.com)
これか、違うか?
67:デフォルトの名無しさん
10/07/17 23:47:39
それっす。有り難う。
68:デフォルトの名無しさん
10/07/20 11:55:02
OSXと関係ないが、VC++は<c**>でincludeしてもstdにならないんだよな確か
69:デフォルトの名無しさん
10/07/20 15:14:39
>>68
標準関数はstdに入ってるよ
同時にグローバル名前空間にもぶちまかれるが
70:デフォルトの名無しさん
10/07/22 11:56:17
URLリンク(www.atmarkit.co.jp)
boostより抽象度は高そうなんだが
71:デフォルトの名無しさん
10/07/22 13:21:34
>言語と戯れよう
プログラミング自体が目的になってる方は死んで下さい
72:デフォルトの名無しさん
10/07/22 14:37:08
VC++2010だと、BOOST_SCOPE_EXITとかBOOST_FOREACH使うとクラスビューの
関数解析結果がおかしくなるんだが・・・
73:デフォルトの名無しさん
10/07/22 15:22:58
>>71
MPLの変な文法おぼえるよりlisp覚えたほうが得
どうせ生成されるCは同じなんだし
多分、動く奴はこれ
URLリンク(homepage.mac.com)
74:デフォルトの名無しさん
10/07/22 15:27:56
どこの馬の骨ともしれぬジャップがでっち上げた俺ライブラリなぞ論外
75:デフォルトの名無しさん
10/07/22 16:54:25
そういわずに育ててやれよ
76:デフォルトの名無しさん
10/07/22 17:47:33
これってジェネレーラーはLispでかかれてるんかいな?
落としてみたけどS式書いてあるファイルがみつからんよ??
77:デフォルトの名無しさん
10/07/23 02:56:10
本当の本体はGaucheのソースの中らしい
78:デフォルトの名無しさん
10/07/23 16:27:02
Gaucheのソースを解凍
lib/cgen
の下
79:デフォルトの名無しさん
10/07/23 16:28:51
なるほど、サンキュ!
80:デフォルトの名無しさん
10/07/23 16:37:18
Gaucheソース
ext/uvector
のMakefile
に使用例
81:デフォルトの名無しさん
10/07/24 12:02:15
URLリンク(alohakun.blog7.fc2.com)
lispから読めるCを生成する別な方法
82:デフォルトの名無しさん
10/08/05 04:40:34
boost-buildと、boost-jamの関係を教えてください。
83:デフォルトの名無しさん
10/08/05 23:37:31
恋人
84:デフォルトの名無しさん
10/08/06 05:29:27
英語のドキュメント読んでましたが、よく分かりませんでした。
まじめにお願いします。
85:デフォルトの名無しさん
10/08/07 21:52:40
lover
86:デフォルトの名無しさん
10/08/07 23:06:13
boostjamはインタプリタ
87:デフォルトの名無しさん
10/08/08 23:56:10
gauche.cgen.cise
のコード読んでるんだが、これあったらboostいらないかもしれない
88:デフォルトの名無しさん
10/08/11 06:35:05
comp.lang.lispに書いてること信じるなら
thinlispの方がgauche.cgen.ciseよりすごいかもしれない
makefile *.hまで生成するっぽい
89:デフォルトの名無しさん
10/08/13 21:17:55
a
90:デフォルトの名無しさん
10/08/16 20:26:00
>>70
の使い方をまとめた
CiSE simple example
URLリンク(d.hatena.ne.jp)
91:デフォルトの名無しさん
10/08/17 03:24:37
1.44
Boost C++ Libraries
URLリンク(www.boost.org)
92:デフォルトの名無しさん
10/08/17 09:18:48
>>90
これデバッグはしやすい?
93:デフォルトの名無しさん
10/08/17 10:19:11
>>90
別にスレ建てたほうが注目してもらえるよ。
「S式でCを書くCiSEスレ」とかにすれば関数型ファンがすぐ集まるよ
94:●
10/08/17 11:20:40
適当なテンプレがあるなら、自分がスレ立てるけど
95:デフォルトの名無しさん
10/08/17 12:54:13
なんでCでこういうのむりやりやろうとするのか疑問だわ。
言語機能に組み込んで新言語つくりゃいいのに。
96:デフォルトの名無しさん
10/08/17 13:01:41
>>95
言語機能で提供すべきことと
言語自身を使って作るものの
単純明快な判断基準がウケたのがC
新基準を開拓に行くと出かけて帰りが遅いのがC++
97:デフォルトの名無しさん
10/08/17 13:16:18
lambdaが言語に組み込まれて良かったわ
ずっとboost.lambda使えっていわれたらどうしようかと思った
98:デフォルトの名無しさん
10/08/17 13:25:20
>>92
そのための
#line
99:デフォルトの名無しさん
10/08/17 14:44:32
>>95
lispの便利さを知ってしまうと他を使いたくなくなる
(コマンドラインgcc からVisualStudioに移ったぐらいの便利さがある)
しかし他から「成果はCかC++で納めてくれ」と言われることは多いらしく
cise とかthinlispとかこの手の試みがいろいろされてきたようだ
100:デフォルトの名無しさん
10/08/17 15:35:02
まあC++も最初はCのトランスレータだったし
101:デフォルトの名無しさん
10/08/17 15:50:02
lispそんなにいいとも思わんしいらんわ
102:デフォルトの名無しさん
10/08/17 18:11:44
誰かboostの構文生成するようなdefine-stm を作って公開しないか
103:デフォルトの名無しさん
10/08/26 16:40:58
質問です。
boost::tokenizer< escaped_list_separator_sjis > tok( csvLine );
for(boost::tokenizer<escaped_list_separator_sjis >::iterator p=tok.begin(); p!=tok.end();++p){
cout << *p + " ";//"\n";
これを実行するとすべてが1行にコマンドプロンプトに表示されます。
これをCSVファイルの並びと同じように行ごとに表示させたいですが
どうしたらよいでしょうか?良い解決策がありましたらお願いします。
<例>
a,e,d
q,d,r
r,u,t
これを実行すると
a e d q d r r u tのようになります。
これを
a e d
q d r
r u t
のようにしたいです。
104:デフォルトの名無しさん
10/08/26 17:31:03
csvLineに1行ずついれてるなら
for( ~ ) {
105:デフォルトの名無しさん
10/08/26 17:33:26
間違えて送信した
for( ~ ) {
cout << *p + " ";
}
cout << endl;
とでもすればいい
そういう問題じゃないのか?
106:デフォルトの名無しさん
10/08/30 14:01:04
boost::tokenizer< escaped_list_separator_sjis > tok( csvLine );
for(boost::tokenizer<escaped_list_separator_sjis >::iterator p=tok.begin(); p!=tok.end();++p){
cout << *p + "\t";
}
cout << endl;
これを出力すると
a e d
q d r
r u t
なりました。ありがとうございます。
これをタブ区切りでtsvファイルに出力したいのですがどうすればよいでしょうか?
107:デフォルトの名無しさん
10/08/30 14:05:26
>>106
Boostの埒外なので勝手にどうぞ。
108:デフォルトの名無しさん
10/08/30 14:09:41
tsvってなに?
109:デフォルトの名無しさん
10/08/30 14:21:29
>>108
TabSeparatedValueフォーマットの略。
110:デフォルトの名無しさん
10/08/30 14:34:04
106に書き込んだものです。C++で質問したいと思います。
申し訳ありませんでした。
111:デフォルトの名無しさん
10/08/30 15:03:41
>>108
トンクス、tab区切りなのか・・・。
112:デフォルトの名無しさん
10/09/01 12:12:26
Boost.Polygonきたー
113:デフォルトの名無しさん
10/09/01 16:41:37
Boost.Polygonって何に使うのか全然わからね。
114:デフォルトの名無しさん
10/09/03 22:32:03
boost::regex re("(\\d+)(?:,(\\d+))*");
boost::smatch result;
std::string str = "1,2,3,4";
if (boost::regex_match(str, result, re))
{
for (int i=0; i<result.size(); i++)
printf("%d: %s\n", i, result.str(i).c_str());
}
このようなコードを実行すると1と4しかresultから取り出せないんですが、
1から4まで全て取り出すにはどうしたらいいですか?
実際はもっと複雑なフォーマットなので正規表現でなんとかしたいです。
115:デフォルトの名無しさん
10/09/03 23:00:26
((\d+)(?:,|))*
ただのカンマ区切りならboost::tokenizerじゃだめなの?
116:デフォルトの名無しさん
10/09/04 20:16:45
1.44ってVC10とかのmove semanticsに対応してる?
117:デフォルトの名無しさん
10/09/06 10:13:54
CSVはきっちりやるなら一文字ずつチェックしていくしかないだろ。
ダブルクォートの処理とかマジめんどい
118:デフォルトの名無しさん
10/09/06 23:34:29
Boost.Polygon早速仕事で使ってみてる。
なかなかいい感じ。
でもまだ機能が少ないな。
他の表現法からの取り込み対応も必要だ。
119:デフォルトの名無しさん
10/09/07 14:20:33
多角形の頂点管理でもしてくれるライブラリかい?
120:デフォルトの名無しさん
10/09/07 14:44:58
>>119
点とか矩形みたいな基本図形もある
121:デフォルトの名無しさん
10/09/07 14:55:09
3次元のポリゴン・メッシュを管理してくれるのなら使い道もあるのだが。
122:デフォルトの名無しさん
10/09/09 22:50:01
boost.interprocessってメモリアライメントを考慮してくれるんだろうか?
例えば、Win上で64bitアプリとWOW64で動いてる32bitアプリ間で
相互通信する場合はやっぱboost.mpiじゃないと駄目?
123:デフォルトの名無しさん
10/09/12 19:09:03
>>114>>117
そこはほら、Boost.Spiritで
124:デフォルトの名無しさん
10/09/12 22:15:08
>>123
いまいち使い方わかってないんだが、ググってみたらCSVのパースも
シンプルな式になるもんだな・・・
面白そうだから今度やってみよう。
教えてくれてトン。
125:デフォルトの名無しさん
10/09/15 14:59:21
foo-baa.cpp
ってファイル名使いたい
でもboostではfoo_baa.cpp
なんだよね
FreeBSDのxtermだと _ 消えて見えないから見にくい
126:デフォルトの名無しさん
10/09/15 21:55:24
>>91
boostpro からも1.44のインストーラが出てますね。
URLリンク(www.boostpro.com)
127:デフォルトの名無しさん
10/09/19 14:37:09
Boost.Logって1.45から?
つうかreview scheduleにLoggingもあるんだけど
やつ間接的にLogに殺されたということなのか
Loggingは犠牲になったのか…
128:デフォルトの名無しさん
10/09/20 16:01:06
property_treeのini_parserってメモリ上の文字列に対して使える?
129:デフォルトの名無しさん
10/09/20 18:06:31
stream に対してなら使える。
130:デフォルトの名無しさん
10/09/20 22:04:00
>>129
string path = "C:\\test.ini"
istream stream( path );
property_tree::ptree tree;
read_ini( stream, tree );
これはいけるけど、
string test = "[test]\ntest=100"
istringstream stream( test );
property_tree::ptree tree;
read_ini( stream, tree );
これはエラーが出る。何か間違ってるかな
131:デフォルトの名無しさん
10/09/21 01:36:25
stringstreamのヘッダがインクルードされていないとかってオチ
…はないかw
132:デフォルトの名無しさん
10/09/21 04:18:26
>>130
試してみたけど、PHOENIX_LIMIT のコンパイルエラー以外は普通に通ったぞ(Boost 1.44 + VC9)
とりあえずエラーの内容と環境貼れよ。
133:デフォルトの名無しさん
10/09/21 21:19:18
>>132
すまん、勘違いしていたようだorz
しょーもないミスをしていた。自己解決したんでスルーしてください
134:デフォルトの名無しさん
10/09/22 03:47:30 BE:2161145298-2BP(0)
boost::polygonってlong long使えないのか。
std::abs(long long)が無いってエラーになる。
135:デフォルトの名無しさん
10/09/22 03:51:58
int64_t
136:デフォルトの名無しさん
10/09/22 04:56:31 BE:1050557257-2BP(0)
そっちでも同じっぽい。
std::abs(int64_t)もstd::abs(__int64)も無い。
137:デフォルトの名無しさん
10/09/22 12:29:35
long longが規格に入るのはC99/C++0xからだからしょうがない
138:デフォルトの名無しさん
10/09/22 15:34:54
テンプレートで実装してなかったのは何か理由があるのか?
139:デフォルトの名無しさん
10/09/24 13:46:51
ストリーム暗号を作っているのですが、手動でやると復号できるのに
プログラムでやろうとするとうまくいきません。2回同じ暗号化を
すれば元に戻るはずなのにそうなりません。
出来ればコマンドラインで暗号化復号化の選択ができるようにしたいです。
初心者でよくわからないことが多いのですがよろしくお願いします。
if (argc < 2) { printf("error\n"); return 1;}
sprintf(fin, "%.255s", argv[1]);
sprintf(fout, "%.250s.perm", argv[1]);
if(d==0){
fp=fopen("2.perm","wb");
fq=fopen("2","rb");
}else{
fp=fopen("2.txt","wb");
fq=fopen("2.perm","rb");
暗号化するときに
fp=fopen(fout,"wb");
fq=fopen(fin,"rb");
とするのはいいのですが、復号のときに暗号化されたファイルを
読み込んで処理しても復号できない。
何のデータにばけているのかわかりません。
140:デフォルトの名無しさん
10/09/24 13:50:31
boostといったいなんの関係があるんだ
141:デフォルトの名無しさん
10/09/24 14:07:47
マルチーズ
142:デフォルトの名無しさん
10/09/24 15:35:38
>>140
そこに気付くとは・・・やはり天才・・・
143:デフォルトの名無しさん
10/09/24 18:05:29
VC++10において、BOOST_TYPEOF(hoge)とdecltype(hoge)は等価になると思っていいんでしょうか?
144:デフォルトの名無しさん
10/09/24 19:49:20
VC10のdecltypeは、コンパイラがクラッシュする致命的なバグがあるとか。
145:デフォルトの名無しさん
10/09/24 20:04:26
大丈夫だ、問題ない
146:デフォルトの名無しさん
10/09/24 21:01:53
>>144
コンパイラがクラッシュするって本格的だな。
でも実行時にクラッシュするよりはマシだと思うけど。
147:デフォルトの名無しさん
10/09/24 23:02:26
>>144
クラッシュしないように使えば問題ない
148:デフォルトの名無しさん
10/09/24 23:21:10
>>147
なぜMatz
149:デフォルトの名無しさん
10/09/25 00:01:53
なんでかしらんがdecltypeって文字の並びに一瞬もよおした・・
本能が何かを感じたようだ
150:デフォルトの名無しさん
10/09/25 01:11:10
Microsoft製品はSP1が出てから乗り換えるのが基本
本体の安定性もだが、OSだとサードのソフトが、VSだとプラグインやSDK類の対応がすぐには為されないからな
151:デフォルトの名無しさん
10/09/30 21:40:06
VC9で1_44 pythonの埋め込みを試しているのですが
メモリリークが発生してしまいます
↓のようなコードなのですがどこがおかしいんでしょう?
class Hoge {};
namespace bpy = boot::python;
BOOST_PYTHON_MODULE(Hoge){
bpy::class_<Hoge>("Hoge");
}
int main( int, char **)
{
PyImport_AppendInittab("Hoge", initHoge);
Py_Initialize();
bpy::object global_ns = bpy::import("__main__").attr("__dict__");
bpy::exec(
"from Hoge import *\n"
"h=Hoge()\n"
, global_ns , global_ns
);
Py_Finalize();
return 0;
}
同等のことをクラス(Hoge)ではなく、関数で行うとメモリリークは起きません
152:デフォルトの名無しさん
10/10/07 16:17:32
Macのgccっていろいろ変らしいのだけど
boostはちゃんと動くの?
153:デフォルトの名無しさん
10/10/07 16:30:03
Boost側が頑張ってるから大丈夫
154:デフォルトの名無しさん
10/10/13 20:14:50
variantってwitch()で型を判断するのダサくないですか?
なんかいい方法無いでしょうか
155:デフォルトの名無しさん
10/10/13 20:19:55
Visitor使え。
156:デフォルトの名無しさん
10/10/13 20:26:10
>>155
visitorとは何でしょうか?
157:デフォルトの名無しさん
10/10/13 20:32:21
ググレカス
URLリンク(www.kmonos.net)
ここ見てもわからなかったら氏ね。
158:デフォルトの名無しさん
10/10/13 20:37:35
∧∧
/⌒ヽ) もはようちゃん
i三 U
~三 |
(/~∪
三三
三三
三三
159:デフォルトの名無しさん
10/10/13 20:56:27
ファンクションオブジェクトを型ごとにつくればいいのか。。。
160:デフォルトの名無しさん
10/10/14 01:18:45
>>159
オブジェクトはひとつでいい。すべての型に対応するオーバーロードがあれば。
>>154
if (T* p = boost::get<T>(&v)) ... おすすめ。
161:デフォルトの名無しさん
10/10/14 20:18:36
autoでどうにかならないの?
162:デフォルトの名無しさん
10/10/15 01:18:06
>>161 何が?
163:デフォルトの名無しさん
10/10/23 17:09:18
spirit::classicのコードをメンテというか改造使用と思ってるんだけどこれを期にspirit v2に移るべきでしょうか?
機能追加するので全面書き直しOKという前提で。
164:デフォルトの名無しさん
10/10/23 17:33:40
V2ならパース結果をコンテナやタプルに格納する処理を超簡単に書ける。
Boost.Fusionとの連携もすごい。Boost.Qi も出始めと比べて安定して枯れてきてる。
Classic のコードを保守しなくていいなら乗り換えない理由はないと思う。
165:デフォルトの名無しさん
10/10/23 18:28:44
コンパイラの負担が阿呆ほど増えるけどな
166:デフォルトの名無しさん
10/10/23 18:32:06
Spirit 使ってる時点で既にコンパイル時間はboostしてるだろ。
167:デフォルトの名無しさん
10/10/23 18:37:36
>>164-165
わかった。乗り換えてみるよ。
168:デフォルトの名無しさん
10/10/28 15:41:30
sourceforgeのファイル一覧がひどいことになってるな
何のベンチマークだよこれ
169:デフォルトの名無しさん
10/10/31 13:12:33
boostを使用してだいぶ開発が進んだ頃に以下のエラーが出るようになりました
1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1526): error C2061: 構文エラー : 識別子 'clasw'
1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2365: 'boost::type_traits::is_mem_fun_pointer_tester' : 再定義; 以前の定義は '関数' でした。
1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2998: 'boost::type_traits::yes_type boost::type_traits::is_mem_fun_pointer_tester' : テンプレート定義にはなれません。
リビルドしてもこのエラーが出ることもあるしでないこともあるし、出現位置もバラバラで全く原因がわかりません
上記ファイルを使用する機能や上記エラー内容が分かれば教えてください
170:デフォルトの名無しさん
10/10/31 13:31:52
claswこれなんだ
171:デフォルトの名無しさん
10/10/31 13:33:44
わからないです。そんなもの見つからないし、そんなコードがあったら毎回エラーになるはずですよね・・・
172:デフォルトの名無しさん
10/10/31 13:34:51
とりあえず boost/function.hpp 使ってるところをすべてコメントアウトしたら出なくなったかも
173:デフォルトの名無しさん
10/10/31 13:37:17
と思ったら21回目のリビルドででました・・・
174:デフォルトの名無しさん
10/10/31 13:39:43
ちなみにIDEはVisualStudio2010Express
x86ターゲット、デバッグビルド
CPUはCore2Duoです
175:デフォルトの名無しさん
10/10/31 13:42:54
とりあえずエラーになってしまったオブジェクトも再ビルドすれば普通に通るので、何度がビルドすれば実行ファイルはできます
コンパイラのバグかな?
176:デフォルトの名無しさん
10/10/31 13:55:44
ディスクが壊れてるんじゃね?
177:デフォルトの名無しさん
10/10/31 17:10:56
>>174
VC10なら使える人が多いんだから、エラーの出るソース晒してみそ
ビルドのやり直しで通るなら、簡易ビルドをOFFにしてみるてがある。
178:デフォルトの名無しさん
10/10/31 20:35:59
念のためだけど、Debug フォルダ全消しはしてみたよね?
179:デフォルトの名無しさん
10/10/31 22:18:47
>>176-178
レスありがとうございます
boostのディレクトリを丸々コピー→古いのを削除→新しいのをリネームしたら出なくなったっぽいです。
ディスク障害だったのかな・・・しばらく様子を見てみます
180:デフォルトの名無しさん
10/11/01 15:21:45
昔はc++を喜んで使ってたが
lisp使うようになってからは
lispでデバックしてc++は自動生成するだけだわ
それにしてもc++の案件多いなあ
181:デフォルトの名無しさん
10/11/01 15:25:02
>>180
最近のlispはC++にコンバートできるんだ?
Cへのコンバートなら良く見かけるんだけど・・・。
あとSchemeで実用レベルのCorC++コンバーターとかあります?
182:デフォルトの名無しさん
10/11/01 15:30:32
>>180
Lispのどこらへんが魅力ですか? いや、マジに質問で。そっちのが効率いいなら
そっちに乗り換えるのもありかなと。
183:デフォルトの名無しさん
10/11/01 16:38:02
>>182Lisp族の魅力はググればいろいろ読めるよ。
184:デフォルトの名無しさん
10/11/01 17:46:13
切ったりくっ付けたりかね
185:デフォルトの名無しさん
10/11/01 21:37:58
lispは合理的ではあるけど、アプリのすべての部分をlispで書くのは無茶じゃないか?
186:デフォルトの名無しさん
10/11/01 21:58:24
サポートされるライブラリしだいだとおもうけどね。
187:デフォルトの名無しさん
10/11/01 22:55:59
関数単位はCで書いてフレームにLispとかが良いのかね
188:デフォルトの名無しさん
10/11/02 11:08:28
それもありだね。
189:デフォルトの名無しさん
10/11/02 12:49:37
あなたにVacuum!~ちょいやわらかめ~
190:デフォルトの名無しさん
10/11/02 20:02:11
Boost ってweb frameworkないの?
191:デフォルトの名無しさん
10/11/02 22:06:40
馬鹿は死んだほうがいいね。
192:デフォルトの名無しさん
10/11/04 08:26:01
javaをc++の方言としてコンパイルする方法あるみたいだから
tomcatあたりをc++としてコンパイルしたらいいんでないの?
193:デフォルトの名無しさん
10/11/05 00:45:01
メモリーが無限にあればGCなんていらなくなるな。
194:デフォルトの名無しさん
10/11/05 15:28:14
boostのmulti_arrayってコピーすると
ポインタで共有するんじゃなくて内容丸ごとコピーするのね
普通の配列みたいに共有して、不要になったら解放ってできないかな
shared_ptr<multi_array<T,int>>にするしかない?
195:デフォルトの名無しさん
10/11/05 15:31:04
>>194
「普通の配列」が何を指してるのか知らないけど、言語組み込みの配列も std::vector も
boost::array も共有なんて動作はしません。
で、共有したいという目的に対して shared_ptr では何か不満なの?
196:デフォルトの名無しさん
10/11/05 15:31:39
flyweightはダメか?
197:デフォルトの名無しさん
10/11/05 15:37:23
>>194
URLリンク(www.boost.org)
multi_array_ref やら view generator やらあるらしいぞ。
198:デフォルトの名無しさん
10/11/05 15:37:30
194の配列とポインタの理解度に不安がよぎるな
199:デフォルトの名無しさん
10/11/05 15:47:22
どうせJavaから来たニワカだろ。
200:194
10/11/05 16:05:03
表現が悪かったっす
クラスメンバに多次元配列がほしいのですが、コンパイル時にサイズが不明なので、
言語組み込みの配列の配列を動的に確保して、多次元配列にしていました
管理が面倒なのでmulti_arrayを使うことに変更したいのですが、
インスタンスをコピーすることがままある&配列の中身は変えないので、
どうせなら配列の中身を丸ごとコピーしないで、ポインタだけで共有したいな、と
目的にはshared_ptr<multi_array<T,int>>が一番合致するんですが、
そうすると結構ソースコードを書き換える必要があるので
201:デフォルトの名無しさん
10/11/05 16:17:11
shared_ptrだと不味いけどmult_arrayがまるごとコピーじゃなかったら問題なかったってことは
*とか->の話なのか?
202:デフォルトの名無しさん
10/11/06 01:48:28
>>200
そんなに書き換えがいやなら、元の名前で multi_array<T,int>& とか multi_array_ref とかを
別で置いたらいいんじゃね?
203:デフォルトの名無しさん
10/11/06 07:41:40
>>200
参照渡しで渡せばよくないか?
204:デフォルトの名無しさん
10/11/20 09:47:50
1.45
Boost C++ Libraries
URLリンク(www.boost.org)
205:デフォルトの名無しさん
10/11/20 12:08:55
あれ・・・bjamでビルド失敗するんだがなんだこれ
1.44以前や最新のリポジトリだと問題ないんだが
206:デフォルトの名無しさん
10/11/20 16:58:02
1.45 VC10でビルドできたよ。
bjamがアンチウイルスに引っかかることは昔あったな。
207:デフォルトの名無しさん
10/11/20 17:07:41
1.45ビルドできたと思ってたら、アプリのビルドで未定義外部シンボルが出てきた。
208:205
10/11/20 19:08:36
zipや7zで圧縮されてるソースだと駄目だったけどbz2のはビルド出来た
解凍か何かでしくじってたんではないかと思う
209:デフォルトの名無しさん
10/11/20 19:58:30
あー、解凍云々じゃなくて、ICU入れて--installオプションでビルドしようとするとしくじるみたい
MPICHも絡んでるかもしれん
bjamはフル機能でビルドしようとすると途端に動作がおかしくなるんだよな・・・
210:デフォルトの名無しさん
10/11/20 23:59:36
駄目だ、Regexビルドしようとするとエラー吐く
わけわからんちん
211:デフォルトの名無しさん
10/11/21 00:41:53
今落としてやってみたが普通にビルドできたぞ
212:デフォルトの名無しさん
10/11/21 00:56:26
win vc9環境. 公式から落としてきた bjam.exe だとエラーで、
bootstrap.bat で生成したbjam.exeだとコンパイルできた…
そういうものなの?
213:デフォルトの名無しさん
10/11/21 00:58:17
せっかく入ってるんだからそっちつかえってことじゃね
214:210
10/11/21 02:54:08
今までは最新のリポジトリからビルドしたbjam.exeを常に使ってたんだけど、
>>212のレスを見て1.45リリース版のソースからビルドしたbjam.exeを使ったらビルド出来た
今回のリリースはちょっと癖があるな
215:デフォルトの名無しさん
10/11/21 10:39:02
一番でかい更新はbjamってことか
216:207
10/11/21 13:36:23
>>207のリンクエラーは俺のミスでした。
間違えてx86でライブラリビルドしてx64のアプリをビルドしてました。
x64でboostのビルドやり直したら直った。
217:デフォルトの名無しさん
10/11/21 13:43:43
x64とx86ってライブラリ名同じなんだけどそういうものなの?
218:デフォルトの名無しさん
10/11/21 16:34:15
むしろ別なのを見たことがない
219:デフォルトの名無しさん
10/11/21 16:35:04
>>217
/ / '" / / ,,-、 /、ヽ\ ゙i;,-''" / ./ /─''''" ̄ ,,/
/ ./ / ,,,-‐'"-/ / ./ ゙" "\ ゙i;, | 、// / " ,,,/
/ ,-''/ / ,,-''"_ / // ヽ l / レ'/~ /‐/
/ / | l| ,,-'"/゙/,」| / ..::;;;,,, } / |~ ,,-‐,,,-''' //~
/ /-'''''| | /l /‐'''/'' .人 i' .:: :;'" / / l ノ゙i// ,,-‐'"─==
//'" ゙i;: | /‐' ./,, ,,ノ ゙i;,. | _,,-ヾ.// ノ ,-''" l | ‐'" ,,,-‐二
レ' ヽl:i' ./ )'、‐,\゙i;: | ,,,-‐二-┬ナ" /‐'"‐ 〉 ,i'──'''" ̄~-''"
,-‐',ヽ|'" ./゙ヽ-ゝ='\゙i,'''ヽ -゙=‐' '" ,‐'ノ,, /‐''" ,,-‐'''"~
/ / ;;:. ─ヽ, ゙i;'''''' , ゙ "-‐'''''""" 〔_,/ ゙ヽ'-'"~
/ / / ,; ,,_}_ ゙、 ./__,, _,, / \
,;' / ,;;;:;:/;: ,, ~ ヽ ヽ. ヽニ‐'、 / / ゙i,_ おめぇ、ここ大丈夫か?
./ '' ,l,,,,,,/ 〉 ゙ヽ、 '''' ,,-''" / ゙i.\
/ / ヽ / ゙ヽ、--イ~;;:'" // ::;:;:;: | \
i /  ̄ ゙̄" |;:" // ヽ-‐'''"~l|
./ ゙''''ヽ、,,-‐''" .i /,;'" _,,,,,,,,,_,,,-‐'''-''"~ |
(" ̄"'''''‐--、,,_i' // '",,-─'''" ,,,-‐'",-‐'" ,,,,-‐ .___|
i' ゙'':::::::::::::::::::::::}
220:デフォルトの名無しさん
10/11/21 20:05:13
CUDAのDLLは32bitと64bitで名前が違うな
221:デフォルトの名無しさん
10/11/21 21:04:11
>>219
どうやってきりかえるん?
222:デフォルトの名無しさん
10/11/22 06:55:09
Intelのライブラリも名前違ってたな。
223:デフォルトの名無しさん
10/11/23 12:58:51
Boost インスコ・コンパイルしてみた
容量でか杉わろす
224:デフォルトの名無しさん
10/11/23 19:41:47
32ビットと64ビットのライブラリでファイル名一緒だから、出力ディレクトリを変えている
自分はstage派だから--stagedir=stage32とstage64
225:デフォルトの名無しさん
10/11/24 23:04:47
(´;ω;)自前 gcc-4.6.0(win) で signals だけが build を失敗する・・・orz
自前 gcc-4.5.1,4.5.2(win) では、build に成功するのにヽ(`Д´)ノウワァァァン
226:デフォルトの名無しさん
10/11/25 01:37:45
msmを試してみてるんだけど
コンパイルに時間かかるね
227:デフォルトの名無しさん
10/11/25 01:47:27
gccはバージョンによってエラー吐いたり吐かなかったりで始末に負えん
228:デフォルトの名無しさん
10/11/25 02:07:17
gcc に限ったことじゃないだろう。
229:デフォルトの名無しさん
10/11/25 02:25:05
Boostはとくにひどいね
230:デフォルトの名無しさん
10/11/25 06:42:52
>>225
(´・ω・) log 吐かせたら stl_map.h の所で error してた
取りあえず、自前 gcc-4.6.0 の事なので放置・・・(´;ω;`)
以下、一部抜粋
-----
In file included from c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/map:61:0,
from ./boost/signals/detail/named_slot_map.hpp:20,
from libs\signals\src\named_slot_map.cpp:12:
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_map.h: In member function 'void std::map<_Key, _Tp, _Compare, ・・・ < 略 >
libs\signals\src\named_slot_map.cpp:105:23: instantiated from here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_map.h:626:9: error: call of overloaded
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_tree.h:763:7: note: candidates are: void std::_Rb_tree<_Key, ・・・ < 略 >
231:デフォルトの名無しさん
10/11/25 09:26:14
こんなガラパゴスで愚痴ってたって解決せんぞ
さっさとBoostコミュに報告しろ
232:デフォルトの名無しさん
10/11/25 12:57:09
「自前」なので放置、ってことは gcc の中身をいじってるんじゃないか?
相談したいならエラーメッセージを省略とか、わけわからんことするな。
233:デフォルトの名無しさん
10/11/25 16:06:27
>>225
またおまえか。
234:デフォルトの名無しさん
10/11/25 16:10:26
>>231-232
CYGWIN+MinGW+GCCスレでもずっとこの調子で長期にわたって
住民を困らせてるやつだから相手にしないほうがいいぞ。
235:デフォルトの名無しさん
10/11/25 18:23:07
あら、そんな奴だったのか
ならば死ぬがよい
236:うp
10/11/28 23:31:48
URLリンク(uproda.2ch-library.com)
DLキー:1
237:うp
10/11/29 05:34:15
URLリンク(uproda.2ch-library.com)
DLキー:1
238:デフォルトの名無しさん
10/12/09 08:16:18
SpritiとかQiとかYacc使えばいいのに
239:デフォルトの名無しさん
10/12/09 08:20:50
boost.FC++
は何故採択されなかったのか
240:デフォルトの名無しさん
10/12/09 08:44:11
Boost.Coroutine
がレビュースケジュールに入ってない
結局入るの?
241:デフォルトの名無しさん
10/12/09 20:24:21
BOOST_SCOPE_EXITでメンバ関数を呼びたいときって
CMyClass* pthis = this;
BOOST_SCOPE_EXIT((&pthis))
{
pthis->MemberFunc();
}
BOOST_SCOPE_EXIT_END;
こうしないと駄目?
242:デフォルトの名無しさん
10/12/13 12:26:33
gccでC++0xオプションつけても動きますか?
243:デフォルトの名無しさん
10/12/20 01:55:11
static boost::array<int, 5> Array;
のようにboost_arrayにstaticを付けるとvc2005ではデバッグ時にシンボルとして扱ってくれずに
ブレークポイントもウォッチも出来なくなりました。
これはboost::arrayをstaticにしてはだめということでしょうか?
それともvc2005が対応してないだけなのでしょうか?
244:デフォルトの名無しさん
10/12/21 12:00:21
arrayを何とかして要素数の指定無しに使いたいんですが、無理なんでしょうか。
array<int, 3> a = {1,2,3};の要素数は推測して欲しいです。
245:デフォルトの名無しさん
10/12/21 12:07:20
int a[] = { 1, 2, 3};
246:デフォルトの名無しさん
10/12/21 12:27:22
>>245
その場合begin()やend()が提供されません
247:デフォルトの名無しさん
10/12/21 13:00:03
boost::rangeのbegin()とend()を使えばいいのでは?
248:デフォルトの名無しさん
10/12/21 14:57:50
>>247
あり^^
249:デフォルトの名無しさん
10/12/24 08:56:10
なぜYes No判定関数は必ず
is_foo
なんだろう
250:デフォルトの名無しさん
10/12/24 09:03:35
Is ~はyesかnoしか返さないからだろ
251:デフォルトの名無しさん
10/12/24 13:22:56
>>249 if (x.is_foo()) ... が英語の自然な文として読めるからだろ
252:デフォルトの名無しさん
10/12/24 22:57:42
すみません質問です。
Win32のAPIによくあるコールバックから手軽にメンバ関数を呼びたくて
boost::bindでクラスのメンバ関数にバインドしたいのですがうまくいかず困っています。
具体的にはSetWindowsHookExに渡すHOOKPROCに、以下のメンバ関数を割り当てたいです
LRESULT App::HookProc( int code, WPARAM wp, LPARAM lp )
ちなみにHOOKPROCの定義はこんな感じ
typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
こんな感じで描いてみたんですが
SetWindowsHookEx( WM_IME_SETCONTEXT, boost::bind( &App::HookProc, this, _1, _2, _3 ), NULL, 0 );
結果は次の通りです
'SetWindowsHookExW' : 2 番目の引数を 'boost::_bi::bind_t<R,F,L>' から 'HOOKPROC' に変換できません
どう書いたら通るんでしょうか。よろしくお願いします
253:デフォルトの名無しさん
10/12/24 23:10:30
無理に決まってんだろ
静的なメンバ作ってそこから呼ぶしかない
254:デフォルトの名無しさん
10/12/24 23:22:33
インスタンスがあるならそれ使って呼ばせられなかったっけ
255:デフォルトの名無しさん
10/12/25 00:12:42
呼び出し規約と引数をHOOKPROCに合わせたトランポリン関数を
動的に生成して…とか考え始めて無駄な時間を過ごすのが俺は好き。
256:デフォルトの名無しさん
10/12/25 00:53:02
>>252
std::functionを使えばいい。
std::functionのオブジェクトのポインターをLPARAMとかを経由して渡す
コールバック関数は、ポインター経由でfunctionを使う。
257:デフォルトの名無しさん
10/12/25 09:05:05
LPARAMはそういう用途じゃないから渡せなくないか?
258:デフォルトの名無しさん
10/12/25 09:40:30
や、気のせいだった
259:デフォルトの名無しさん
10/12/26 15:12:02
class hoge{ virtual void f(); };
class fuga : public hoge { void f(); };
x_queue<hoge> q;
q.push(hoge());
q.push(fuga());
q.front().f(); // hoge::f
q.front().f(); // fuga::f
こんな感じのコンテナってboostにない?
ようするにptr_vectorからnewも隠蔽したような感じの
stl基準満たしてなくてもいいです
260:デフォルトの名無しさん
10/12/26 15:13:02
あ、間違えた
q.front().f(); // hoge::f
q.front().f(); // fuga::f
↓
q.front().f(); // hoge::f
q.pop();
q.front().f(); // fuga::f
261:デフォルトの名無しさん
10/12/26 15:15:32
>>259
本当にほしいなら ptr_vector をラップすりゃいいんだろうけど、
あんまり意味があるとは思わんな。
262:デフォルトの名無しさん
10/12/28 00:43:51
.
263:デフォルトの名無しさん
10/12/28 01:19:47
2chニュースは時事ニュースがとんでもなく面白く理解できる。
難しそうではあるが気になるニュースタイトルに飛んでみると記事に対する2ちゃんねらー達の面白い書き込みによってニュースの内容があっという間に理解出来る様になる。
おれは今まで半ば義務感でニュースをサイトなどに目を通していただけなのだが、2chニュースのお陰で仲間の誰よりも時事問題の先端を行く様になってしまった。もはや中毒気味になる位にニュースが毎日楽しくて仕方ない。
ここでは敢えて四つしか取り上げないが、2NNサイト内であればどの掲示板でもRSS生成が可能。
サイトを覗くだけでも良いがRSSリーダーで効率良く情報収集する人ならばこちらがオススメ。(RSSリーダーは各デバイスに応じた専用アプリ・ソフトがある)
またTwitterでも2ch botがある。Twitterは各デバイスに応じた専用クライアントソフト・アプリを介して使用するのが便利。興味が有る人は各々調べて貰いたい。
●2ちゃんねる ニュースサイト(RSS生成可)
2NN新着URLリンク(www.2nn.jp)
2NNトップページURLリンク(www.2nn.jp)
2NN今日のニュース URLリンク(www.2nn.jp)
2NN祭級ニュース URLリンク(www.2nn.jp)
●2ちゃんねる ニュースサイト(RSS生成不可)
2ちゃんねる BBY(各ニュース板における前日までの新着スレッドが一望出来る)URLリンク(headline.2ch.net)
2ちゃんねる 全板縦断 勢いランキングURLリンク(2ch-ranking.net)
?page=click_linklog_view.daily_ranking&
264:デフォルトの名無しさん
11/01/02 15:17:28
Windows 7 64bit Visual Studio 2010 に32ビット、64ビット環境を作りたくて
boost1.45 をこのようにインストールしたんだが大丈夫?
265:デフォルトの名無しさん
11/01/02 15:18:16
↑の続きです
bootstrap.bat
bjam --toolset=msvc address-model=64 --stagedir=./stage/x64 link=static,shared release debug stage
bjam --toolset=msvc address-model=32 --stagedir=./stage/x86 link=static,shared release debug stage
266:デフォルトの名無しさん
11/01/05 18:01:17
boost.fusionにlambdaの配列入れたいけど無理っぽい
267:デフォルトの名無しさん
11/01/08 16:57:40
Boost.Chronoがtrunkにきたな
・・・ところでBoost.Chronoってナニ?
268:デフォルトの名無しさん
11/01/08 21:44:44
C++0x の <chrono> の Boost 実装版。
269:デフォルトの名無しさん
11/01/10 16:48:23
時計?
270:デフォルトの名無しさん
11/01/10 16:54:51
検索してまで知りたくないなら、それまでのこと
271:デフォルトの名無しさん
11/01/14 13:16:14
質問があります。
boost で document を作成したいのですが、
その時、doxygen に対して オプションを渡したいです。
doxygen 単体の実行であれば、Doxyfile に書き込むものです。
色々調べて、jam ファイルの中に
<doxygen:param>VAR=VAL
と、いった記述を見かけたのですが、書き方がわかりません。
質問をまとめると、
boost 全体の document 作成に対して、効かせたい doxygen の設定がある場合、
* どこのファイルに
* どのように
記述したらいいのかということです。
ご存じの方、教えていただけないでしょうか?
272:デフォルトの名無しさん
11/01/14 18:25:03
>>266
URLリンク(dixq.net)
273:デフォルトの名無しさん
11/01/15 10:36:39
並行mapないの?
274:xfsd
11/01/24 22:12:44
boostでベクトル*区間行列の計算のプログラムを作りたいのですが、うまく作れません
。教えてくれませんか
275:デフォルトの名無しさん
11/01/24 23:21:30
>>274
まずは作ってみたコードと、うまくいかなかかった結果と、期待している結果とがわかるようにするんだ。
276:デフォルトの名無しさん
11/01/24 23:37:08
STMなんでboostにはいってねーんだよ
いれろよ
おねがいします。
277:xfsd
11/01/25 23:06:59
#include "stdafx.h"
#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/interval.hpp>
#include <boost/numeric/interval/io.hpp>
namespace ub = boost::numeric::ublas;
namespace bn = boost::numeric;using namespace std;
int main()
{
typedef bn::interval<double> xinterval;
typedef ub::vector<double> xvector;
typedef ub::matrix<double> xmatrix;
xinterval a(1,2),b(1,3);
xmatrix c(2,2);
c(0,0) = 1.; c(0,1) = 0.;
c(1,0) = 0.; c(1,1) = 1.;
xvector vec(2);
vec(0) = 2.0;
vec(1) = 0;
std::cout << "行列 * ベクトル = " << prod(c , vec) << std::endl;
system("PAUSE");
return 0;
}
行列*ベクトルはできたのですが、区間行列*ベクトルができません。誰か教えてくれませんか?
278:デフォルトの名無しさん
11/01/26 14:44:54
関係ないけどublasってopenCVみたいに初期化できないの?
Mat M = (Mat_<double>(3,3) << 1, 0, 0, 0, 1, 0, 0, 0, 1);
279:デフォルトの名無しさん
11/01/27 07:14:46
>>278
最近のアップデートで初期化メソッドが追加になったはず
280:デフォルトの名無しさん
11/01/30 20:49:03
そうなのか
281:デフォルトの名無しさん
11/01/30 21:04:05
あしたはみそか
282:デフォルトの名無しさん
11/01/30 21:12:54
明日は晦日、今日は三十日。どちらも読みはみそか。
283:デフォルトの名無しさん
11/01/30 21:15:50
さむい
ねむい
284:デフォルトの名無しさん
11/01/31 08:38:03
明日は朔日
285:デフォルトの名無しさん
11/02/04 18:19:57
>>278
1_44で追加
URLリンク(svn.boost.org)
286:デフォルトの名無しさん
11/02/04 23:15:44
boostに日本人提案のものあるの?
287:デフォルトの名無しさん
11/02/05 03:40:46
サッカーはナガトモが世界のリーグ行ったのに
コンピューターサイエンスは世界のライブラリに名を連ねる事ができないのか
288:デフォルトの名無しさん
11/02/05 03:42:48
progessが採用されるんだから誰でもOKな筈だ
289:デフォルトの名無しさん
11/02/05 03:48:10
>>286 パッチやバグ報告ならいくつかあるみたいだね。
290:デフォルトの名無しさん
11/02/05 17:47:23
>>287
日本って,他の奴の成果をtake,take,and takeで自分の成果は情け無い程度giveするが国技
だからコンピューターサイエンス(IT)でも他の奴の成果をtake,take,and takeし
自分の成果は情け無い程度にgive。
291:デフォルトの名無しさん
11/02/05 18:33:29
boost::any向け総称関数をMLに投げてみたことあるけど、誰も興味無さそうだったので放置してる。
giveした所で誰も反応してくれないからなあ。
292:デフォルトの名無しさん
11/02/05 19:23:39
最低限、反応されるまで声上げ続ける位のガッツがなきゃどうにもならんだろ
キンタマ付いてんのかお前
293:デフォルトの名無しさん
11/02/05 19:25:13
ついてなかったらどうするんだよ
責任取れるのかお前
294:デフォルトの名無しさん
11/02/05 19:32:01
責任とってもいいの?
295:デフォルトの名無しさん
11/02/05 19:32:15
///
296:デフォルトの名無しさん
11/02/05 19:38:33
ここまでテンプレ
297:デフォルトの名無しさん
11/02/05 19:45:59
>>291
あまりにも情け無いgiveでゴミ扱いなんだろ
本人が凄いgiveと思っているだけじゃね
298:デフォルトの名無しさん
11/02/05 19:55:10
アイディアってのは思いついてから使い道が見つかるまで何年かかるかわかんねえ
思いついた奴が生きているうちかどうかもわかんねえ
大勢に知らしめるところまでが、思いついた奴にできることだ
芽が出るにせよ出ないにせよガタガタさわぐのはみっともないだけだ
俺に言わせれば思いつくこと自体に満足できない奴は俗物だ
299:デフォルトの名無しさん
11/02/05 21:39:49
何を思いついたんだ?
300:デフォルトの名無しさん
11/02/05 22:13:47
色々だよ
例えば周波数帯の合わない検波器の使い方とか
「ある処理」を非再帰で片付ける方法とか
301:デフォルトの名無しさん
11/02/05 22:21:40
その思いつきどうboostと関連あるんの?
302:デフォルトの名無しさん
11/02/05 22:56:49
逆に boost と関係ないものって何だ?
303:デフォルトの名無しさん
11/02/06 15:51:56
boostを使わないプログラム
304:デフォルトの名無しさん
11/02/06 15:53:39
まさか、boostを使わないプログラムに、ここはboostで出来るから変えろ!
とかわ言わないよな?
305:デフォルトの名無しさん
11/02/06 16:30:30
そんなのRubyのひとだけだよ
306:デフォルトの名無しさん
11/02/06 17:04:52
> boost と関係ないもの
boost のライセンスと相容れないものは
とりあえず boost と無関係
307:デフォルトの名無しさん
11/02/07 06:24:52
>>298
Haskellのライブラリなんか殆どが何に使えるのかわからん
308:デフォルトの名無しさん
11/02/07 07:00:45
spiritの機能を動的に使う方法ないですか?
組み込み言語のほうで構文決めたいんですが。
309:コピペのレビューお願いします
11/02/07 14:08:05
5年前の長友は怪我で試合出場どころか
観客席で応援として太鼓を叩くだけだった体たらく
今や世界のインテルに移籍して
口だけじゃなく世界一のSBを目指してる
頑張ればお前らだって(精神の)怪我で社会出場どころか
2ちゃんねるでキーボードと情弱叩くだけだった体たらくから
5年後にはBoostにライブラリを採択されるような
世界級プログラマになってるかもだぞ!
早く世界のインテルに移籍して
愚痴だけじゃなく世界一のSEを目指せ!Σd(`・ω・´)
310:デフォルトの名無しさん
11/02/07 14:52:26
BoostやるよりPythonやっといたほうがいいよ
311:デフォルトの名無しさん
11/02/07 15:05:00
BoostとPythonを並べる理由がわからない…
もしかしてBoostのこともPythonのことも一切分かってない馬鹿なら
並べて云々できるってことなのか…
312:デフォルトの名無しさん
11/02/07 15:14:29
Boostと並べたいならDだろ
313:デフォルトの名無しさん
11/02/07 15:15:04
馬鹿なんだろう
ほっとこうぜ
314:デフォルトの名無しさん
11/02/07 16:58:33
>>309
うまくないし何か痛いわ
315:デフォルトの名無しさん
11/02/07 18:18:00
Eclipse CDTでboostのバージョンが上がる度にフォルダ名を変えるのが
面倒臭いので、"Boost"という単純な名前にしてしまった
これだとパッと見バージョンを間違える事があるけどいちいちプロジェクトを
書き換えなくていい
316:デフォルトの名無しさん
11/02/07 18:46:52
チラ裏
317:デフォルトの名無しさん
11/02/08 02:01:41
>>314
あり^^
318:デフォルトの名無しさん
11/02/08 09:15:58
>>312
D はもう終わってる
Boost はまだ始まっていない
319:デフォルトの名無しさん
11/02/09 19:29:01
Boostは始まってるだろ
320:デフォルトの名無しさん
11/02/09 19:38:46
ちゅうか、Dと比べたら、Boostは既に市場に行き渡ってると言っていい状況だよな。
321:デフォルトの名無しさん
11/02/09 20:03:27
全然始まってるじゃんよ。
322:デフォルトの名無しさん
11/02/09 21:05:15
BoostとDを並べる理由がわからない…
もしかしてBoostのこともPythonのことも一切分かってない馬鹿なら
並べて云々できるってことなのか…
323:デフォルトの名無しさん
11/02/09 21:09:25
やる氣のないレス改変だなあ
324:デフォルトの名無しさん
11/02/09 21:33:30
気持ち悪い
325:デフォルトの名無しさん
11/02/10 19:42:54
ンギモッヂイイッ!!!ハッハッハッ……
326:デフォルトの名無しさん
11/02/11 14:50:49
Polygonの活用方法がいまいちよく分からないんだけど
使ってる人がいればどんなふうに使ってるのか教えてくれ
327:デフォルトの名無しさん
11/02/17 13:42:37
なんでPythonのライブラリがあるの?
Pythonはそんなに優遇されてるの?
328:デフォルトの名無しさん
11/02/17 14:28:43
ruby厨乙
329:デフォルトの名無しさん
11/02/17 16:11:31
何でって、書いてくれる人がいるからあるんだろ。
330:デフォルトの名無しさん
11/02/19 21:23:39.09
>>328
誰と闘ってるんだ
331:デフォルトの名無しさん
11/02/20 16:43:59.53
こちらboostン宇宙基地
332:デフォルトの名無しさん
11/02/20 18:49:18.02
multi_index_containerの質問です。
classをデータとして登録してみたのですが、
get<0>()で取得した場合、constメンバ関数しかアクセスできませんでした。
BOOST_FOREACH( const Hoge& h,hoge.get<0>())
{
h.test();
}
constを付けないとコンテナ側のコンパイルエラーとなってしまい、
constを付けると test()がコンパイルエラーとなってしまいます。
multi_index_containerは、const利用が前提なのでしょうか?
それとも、constを外して利用する手段は存在しますか?
一応、get<0>()以外にそういった用途の物がありそうなのですが、
見つけられなかった・・。
333:デフォルトの名無しさん
11/02/20 19:13:14.44
Boost.MultiIndex の実装は、std::set に近いと考えればいい。
自由に要素を書き換えられたら要素のソート状態が崩れるだろ。
334:デフォルトの名無しさん
11/02/20 19:15:48.26
やはりそうですか、
すっきりしました、ありがとうございます。
335:デフォルトの名無しさん
11/02/21 21:01:12.20
regexの一文字マッチのドットを
日本語の一文字に対応させることってできます?
336:デフォルトの名無しさん
11/02/21 21:10:57.75
wregex使えばいいよ
337:デフォルトの名無しさん
11/02/21 21:23:14.07
c++の列挙体をboost.python使ってpythonから扱いたいんだがどうすればいいんだ?
338:337
11/02/21 21:51:13.44
ごめん自決した
339:デフォルトの名無しさん
11/02/21 21:53:21.41
マジか。漢らしいな
340:デフォルトの名無しさん
11/02/21 22:13:21.78
スレ違い。冥府板へ
【自刃】一番すごい自決した奴が優勝【陰腹】 その6
スレリンク(hades板)
避難所
スレリンク(river板)
341:デフォルトの名無しさん
11/02/22 15:49:23.13
1.46.0
URLリンク(www.boost.org)
342:デフォルトの名無しさん
11/02/23 13:57:57.13
>>336
URLリンク(www.boost.org)
wregexについての記述が見当たらないんですが、
この中にありますか?
なんか探しても見つかりません…
343:デフォルトの名無しさん
11/02/23 14:07:55.35
URLリンク(www.boost.org)
これだろ
344:デフォルトの名無しさん
11/02/23 14:15:50.98
>>342
URLリンク(www.boost.org)
あるよ
345:デフォルトの名無しさん
11/02/23 15:37:32.53
>>343,344
ありがとうございます。
346:デフォルトの名無しさん
11/02/23 19:17:49.15
Boost.lclなるものが加わったみたいでなんじゃこりゃと思ったらIclかよ
フォントによっては区別つかねーよ
347:デフォルトの名無しさん
11/02/23 19:29:12.48
Boost のドキュメントのフォントだとまじで区別つかない。
348:デフォルトの名無しさん
11/02/23 19:47:02.23
Iclって何するんだ?
名前からすると間隔つーか値の範囲を持ったオブジェクトあたり?
349:デフォルトの名無しさん
11/02/23 22:29:37.03
時間間隔をキーにしたコンテナじゃないか?
350:デフォルトの名無しさん
11/02/24 16:53:06.62
boost.Intervalじゃ[1,3)みたいな一つの開区間しか表せないけど
数直線状の任意の部分を表すには[1,3)と[3,5)と[7,9)みたいに複数の区間がいるから
それを扱うものなんじゃないか?
351:デフォルトの名無しさん
11/02/24 16:53:49.11
ごめん、×開区間→○区間な
352:デフォルトの名無しさん
11/02/25 06:48:04.25
>>350
それを実現するのが interval_set
interval_set 間の集合演算もできる。
interval_map というのもあってこっちは各区間に値を付けられる。
{[1,3]->1} に [2,4]->1 を追加すると {[1,2)->1,[2,3]->2,(3,4]->1}になる、多分。
353:デフォルトの名無しさん
11/02/25 20:22:58.92
boost::wregex r(L"(.)");
boost::wsmatch m;
wstring s = L"ほげ";
boost::regex_search(s, m, r);
これで、
sub_match.hpp(429)
: error C2679: 二項演算子 '<<' : 型 'std::basic_string<_Elem,_Traits,_Ax>' の
右オペランドを扱う演算子が見つかりません (または変換できません)。
とかいうエラーがでるんですがなんなんでしょう?
354:デフォルトの名無しさん
11/02/25 22:44:46.42
>>353
boost_145@MSVC2010
エラー無し
boostのバグじゃね?
あいつらワイド文字気分で作って大してテストもしてねぇから
355:デフォルトの名無しさん
11/02/25 23:01:29.37
vs2010ならstd::wregexの方使ってみればいいよ
356:デフォルトの名無しさん
11/02/28 16:34:27.96
質問です。
以下ページにあるC++0x用LINQメソッドを
URLリンク(smellegantcode.wordpress.com)
使用した結果をBOOST_FOREACHに入れて回そうとしたのですが、
コンパイルエラーとなってしまいます。
std::vector<int> array = { 1, 2, 3, 4, 5 };
auto result = from(array).where([] (const int & n) { return (n % 2) == 0; });
auto itr = result.begin(); // 通る
BOOST_FOREACH (auto n, result) { } // コンパイルエラー
URLリンク(ideone.com) (boostの環境が作れなかったのでソース閲覧用に)
iteratorのBOOST_FOREACHに対する要件が足りていないのかと思い、
iterator_adaptorやiterator_facadeを
const_iteratorに継承させたりしてみたのですが、
私がこれらをあまり理解出来ていないこともあってか
最終的にコンパイルエラーを取り除くことが出来ませんでした。
(あとtypedef const_iterator iterator;も追加してみました)
どなたか解決のヒントをいただけませんでしょうか?
357:デフォルトの名無しさん
11/02/28 17:24:43.30
>>307
例えば?
358:デフォルトの名無しさん
11/03/01 02:11:17.74
>>356 エラーメッセージは?
359:デフォルトの名無しさん
11/03/01 09:41:42.85
エラーメッセージ書かない時点で
答えてもらう気ないだろ
360:デフォルトの名無しさん
11/03/01 09:49:27.12
boost使用時のコンパイラエラーメッセージって役に立つか?
立たないことは無いけど、異様に長いし、エラーをピンポイントで指摘してないし。
結局、行番号を頼りに修正することが多い。
361:356
11/03/01 10:40:42.97
プロジェクトパス\project\boost_1_45_0/boost/mpl/eval_if.hpp:
In instantiation of 'boost::mpl::eval_if<mpl_::bool_<false>,
boost::range_const_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >,
pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > >,
boost::range_mutable_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >,
pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > > >':
プロジェクトパス\project\boost_1_45_0/boost/foreach.hpp:355:13:
instantiated from 'boost::foreach_detail_::foreach_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >,
pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> >, mpl_::bool_<false> >'
プロジェクトパス\project\linq.cpp:150:2:
instantiated from here
プロジェクトパス\project\boost_1_45_0/boost/mpl/eval_if.hpp:38:31:
error: no type named 'type' in 'struct boost::mpl::eval_if<mpl_::bool_<false>,
boost::range_const_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >,
pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > >,
boost::range_mutable_iterator<filter<int, int, filter<int, int, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >,
pass_thru<int>, always_true<int> >::const_iterator, pass_thru<int>, main()::<lambda(const int&)> > > >::f_'
362:356
11/03/01 11:12:03.69
失礼しました。上記のがideoneのソースそのままでのコンパイルエラーです。
イテレータの解釈辺りでtypeのtypedefが無いということのようなので、
イテレータがforeachの走査対象に足る要件を満たしていないのかなと判断しました。
iterator_adaptors系を使えば良い感じに揃えてくれるのかな?と思ったのですが、
それらを用いるコードが私の理解ではきちんと書けていない状況です。
363:デフォルトの名無しさん
11/03/01 13:34:43.76
日本人の貢献者ねえ・・・
cpanオーサーに日本人増えてきたらこんな事件おきたり
URLリンク(www.yabbforum.com)
phpが「流行」したりする謎を知らないのかな
364:デフォルトの名無しさん
11/03/01 17:18:11.86
Boost.Rangeを使ってみているのですが、
STLコンテナのinsert等にrangeを渡したりは出来ないんでしょうか?
begin/endを呼ぶためだけに変数に格納するのが何かおかしく感じます。
365:デフォルトの名無しさん
11/03/01 21:17:41.84
>362
>イテレータの解釈辺りでtypeのtypedefが無いということのようなので、
>イテレータがforeachの走査対象に足る要件を満たしていないのかなと判断しました。
多分違う。エラーが出てるのは mpl::eval_if のところなのでここでエラーの出てる type は
mpl のメタ関数としての type だ。
あとエラーの出てる行は古いコンパイラ用の workaround のところで VC++ .NET 2002 以前を使ってる場合に
当たるんだけど C++0x 向けでラムダ式とか使ってるみたいだしなんかどっかおかしそう。
366:デフォルトの名無しさん
11/03/01 21:25:53.46
>364
コンテナにメンバ関数を追加するわけにはいかにので別途アルゴリズムが用意されてる。
URLリンク(www.boost.org)
367:356
11/03/02 03:39:10.88
>>365
なるほと・・、私の見当違いだったんですね。
マクロシンボルでの分岐をトレースして原因を調べてみたいと思います。
おかげで一歩前へ進めます。どうもありがとうございました。
368:364
11/03/02 04:08:56.10
>>366
おぉぉありがとうございます!
これでbegin/endのタイプ量が激減してソース横幅も縮みそうです。
やはりきちんと用意されているものなのですね。
ただメンバ関数とは書く順番が変わってしまうのですか・・
黒魔術的な何かで何とかされているかと思っていたので少し残念です。
C++にも拡張メソッドが欲しくなりますね。
369:デフォルトの名無しさん
11/03/02 18:19:07.50
どうも1.46.1が出るっぽい
なんぞ不具合でもあったのかしら
370:デフォルトの名無しさん
11/03/03 00:50:04.85
>>356
そこのconst_iteratorをstd::iterator<std::input_iterator_tag, TElemTo const>から派生させたら、
BOOST_FOREACH (auto n, boost::make_iterator_range(result.begin(), result.end()))
がコンパイル通るようになった。
371:デフォルトの名無しさん
11/03/03 02:37:10.73
boost/regexで
マッチする部分をすべて取り出すことって出来ます?
boost::regex r("a[^a]+b");
boost:smatch m;
string s = "ahb anb atb";
ならahb anb atbそれぞれを取り出したいのですが。
372:デフォルトの名無しさん
11/03/03 02:49:02.95
std::string::const_itarator itbegin = s.cbegin();
std::string::const_itarator itend = s.cend();
while (std::regex_search(itbegin, itend, r, m) {
itbegin = m[0].second;
}
373:デフォルトの名無しさん
11/03/03 02:53:01.08
>>372
ありがとうございます。
374:デフォルトの名無しさん
11/03/03 12:25:13.55
以前に
VisualStudio
の環境でダウンロードしただけで動くものをまとめてファイルにアップしてた人がいたけど
誰かurl知りませんか?
便利なのにテンプレに載ってないのはなんでです?
375:デフォルトの名無しさん
11/03/03 12:28:20.53
過去ログでみつけた
URLリンク(boooster.x0.to)
376:デフォルトの名無しさん
11/03/03 15:31:43.47
前と違って、今は公式でVisualStudio用のバイナリが配付されてるじゃん
そういえばどっかの企業もバイナリ配布してたけどやめちゃったな
377:デフォルトの名無しさん
11/03/03 17:21:36.18
>>374,375
それsvnの野良ビルドだよね確か。
svn最新なので万人向けじゃないし、svn追っかける人なら自分でビルドするし、特に需要がなかったんじゃない?
あと更新される度にスパムのようにURL貼ってたのでウザがられてた。
テンプレ申請なりサイトでRSS配信なりすればよかったのにね。
378:デフォルトの名無しさん
11/03/03 17:55:36.54
bjamでビルド簡単になったんだからboostぐらいビルドしようぜ・・・
boost使う=開発環境あるわけだし。
ビルドに時間掛かるのは別w
379:デフォルトの名無しさん
11/03/04 10:17:25.38
Windowsは知らないけどLinuxでBoostビルドすると風呂入って一眠りしてコーヒー飲むぐらい時間かかるんだけど・・・
380:デフォルトの名無しさん
11/03/04 10:32:46.31
>>379
それってPCの性能じゃなくてOSの差なんですか?
381:デフォルトの名無しさん
11/03/04 11:54:38.77
>>379
出涸らし風味な話題だけれど・・・
C2Q 6550/RAM 4GB/XP SP3(x86)/7200rpm HDDの環境で時間は忘れたけど結構掛かったな。
あまりの遅さにSSD買ってVSとboostのソースを置いてビルドしたら爆速で終わった。
仕事なら時間単価で計算すると1ヶ月ぐらいで元取れるしなw
382:デフォルトの名無しさん
11/03/04 12:44:49.19
うちの場合wave, mpi, serialization, program_options辺りいらないのでビルドから外す。
383:デフォルトの名無しさん
11/03/04 12:45:41.93
CPU性能ももちろん大事だけど、ストレージのランダムアクセス性能が一番影響しそうだね
数GB読み書きするでしょ
384:デフォルトの名無しさん
11/03/04 13:39:59.80
その用途ならSSDよりメモリ馬鹿積みでRAMDISKの方がよさそう
385:デフォルトの名無しさん
11/03/04 15:31:35.14
debugはビルドしてない
386:379
11/03/04 16:00:59.64
俺の環境がシングルコアでへぼいというのは百も承知だが
・静的ライブラリ
・静的ライブラリ(デバッグ情報付き)
・静的ライブラリ(STLportのデバッグモードを使ったデバッグ情報付き)
・動的ライブラリ
・動的ライブラリ(デバッグ情報付き)
・動的ライブラリ(STLportのデバッグモードを使ったデバッグ情報付き)
を全部のライブラリに噛ましてやると俺のマシンは悲鳴を上げるんだぜ
情けないよな
387:デフォルトの名無しさん
11/03/04 16:26:40.23
要らない情報だよねそれ
388:デフォルトの名無しさん
11/03/04 16:48:16.20
>>387
つ[strip --strip-all]
389:デフォルトの名無しさん
11/03/04 17:52:40.76
>>387
要らないレスすんなよ
390:デフォルトの名無しさん
11/03/04 18:23:39.74
こうしてゴミレスがまたひとつ
391:デフォルトの名無しさん
11/03/04 18:30:11.33
これが後世に残るゴミレススパイラルの始まりであった
392:デフォルトの名無しさん
11/03/04 18:55:41.45
-jxオプションを付けてやると並列ビルドされるのでかなり高速化されるよ
並列数はCPUのコア数とクロックに応じて程々に
例:8並列の場合
bjam -j8 (以下いつものオプション色々)
393:デフォルトの名無しさん
11/03/04 19:05:54.26
使うライブラリだけビルドすればいいだろ
394:デフォルトの名無しさん
11/03/04 19:12:49.58
やりかた知らないんだと思うよ
395:デフォルトの名無しさん
11/03/04 19:48:33.59
そうやって「俺がいらないものはいらない」で排除ばっかしてるから
ゴミレスしか残らなくなるんだろ
396:デフォルトの名無しさん
11/03/04 20:14:20.85
とはいえいきなり自分の手際の悪さを晒されましても
ゴミレス以外にどうリアクションをとればいいのやら
397:デフォルトの名無しさん
11/03/05 02:25:40.00
並列ビルドしちゃいけないわけじゃあるまいに
398:デフォルトの名無しさん
11/03/05 09:06:33.90
セキュリティソフトのリアルタイム検索切ってみるとか?
399:デフォルトの名無しさん
11/03/05 21:17:22.92
ゴミレスしかねぇ
400:デフォルトの名無しさん
11/03/06 08:50:33.24
>>396
馬鹿だなお前w
ゴミレスしなきゃいいじゃん
401:デフォルトの名無しさん
11/03/06 10:17:19.96
まさにゴミレース
402:デフォルトの名無しさん
11/03/06 13:56:54.46
>>374
URLリンク(www.boostpro.com)
403:デフォルトの名無しさん
11/03/06 19:55:44.16
ここ数年でこのスレの質が落ちまくってる
404:デフォルトの名無しさん
11/03/06 21:01:09.87
twitterみたいなサービス使ってると、2chはログ検索でしか使わなくなる人が多いのでは。
405:デフォルトの名無しさん
11/03/06 21:11:49.41
やっぱりTwitterの影響は大きいのかな。
406:デフォルトの名無しさん
11/03/08 20:54:12.50
boostのrandomで0以上1未満じゃなくて、
0より大きく1未満の乱数を作れませんか?
407:デフォルトの名無しさん
11/03/08 21:17:48.07
0が出たときだけもう一回まわせば良いんでね?
408:デフォルトの名無しさん
11/03/09 12:53:47.39
数式クラスとかってありませんか
R言語並とはいいませんが、式の評価とか代入とか微積分とかあれば
409:デフォルトの名無しさん
11/03/09 13:05:17.96
>>408
Rを呼び出した方が早くない?
410:デフォルトの名無しさん
11/03/10 09:35:51.00
boost::python で sci.py 呼ぶ
411:デフォルトの名無しさん
11/03/10 15:10:55.28
boost.pythonからrpyでR呼ぶ
412:デフォルトの名無しさん
11/03/10 15:16:10.88
ウェブブラウザがjavascriptでなくてc++を直に実行してくれるの出るみたいだけど
boostも使えるのかな
413:デフォルトの名無しさん
11/03/10 15:57:19.46
スレ違い
スレリンク(tech板)
414:デフォルトの名無しさん
11/03/10 16:28:00.78
boost.FC++
って開発停止なの?
415:デフォルトの名無しさん
11/03/11 12:12:04.64
boost protoで無限数列作るの無理なの?
416:デフォルトの名無しさん
11/03/13 06:29:13.40
1.46.1
Boost C++ Libraries
URLリンク(www.boost.org)
417:デフォルトの名無しさん
11/03/22 19:20:20.51
Macでboost扱う場合ってVisualStudioに相当するものないの?
418:デフォルトの名無しさん
11/03/22 20:00:51.24
XCodeってのがそうなんじゃないの
419:福盛俊明
11/03/23 23:52:34.77
アハ~♪”
420:デフォルトの名無しさん
11/03/28 12:47:40.42
xcodeは糞だってじっちゃがいってた
421:デフォルトの名無しさん
11/03/29 19:45:09.25
>>820
は?
お前ちょっとおかしいんじゃねーの?
そんな事言ったら、男はスカート履いたり口紅塗ったりしたら
いけないってこと???
422:デフォルトの名無しさん
11/03/29 20:14:35.77
どこの誤爆だよ
423:デフォルトの名無しさん
11/03/30 12:55:32.68
いいけど近くに寄るな
424:デフォルトの名無しさん
11/03/30 17:23:19.29
すごい美人になるなら、許す。
425:デフォルトの名無しさん
11/04/02 06:36:38.55
ここ死んでるんでURLリンク(www.boostpro.com)
ここみつけた。URLリンク(boost.teeks99.com)
426:デフォルトの名無しさん
11/04/02 06:42:18.95
死んでないぞ?
427:デフォルトの名無しさん
11/04/02 06:54:32.94
500 Internal Server Error
428:デフォルトの名無しさん
11/04/02 06:55:29.53
Download does not exist!
URLリンク(www.boostpro.com)
429: ◆LLLLLLLLL.
11/04/03 08:55:02.65
| ̄:/ : : /: : : : : : : :i: : : i: :\ : :\ \
|: / : : : / : : : : :.i: : : : |: : : :|: : : |: : : i '
: :|: : : : |: : i: : : :|: : : /i|: : :|:| : : :|: : : | |
: :|: : : : |: :.|:斗 十‐/ i|: :∧-‐ト|: : : | |
: :|: : : : |イ|: :|:/ |:/ |:/ |ハ: : |: : : | \_,ノ
: :|: : : : | レヤ示ト rテv|:./|: : : :|
ヽ|: : : : |/{:::::::i } トイ レ: :|/|/ 関東地方
( |: : : : 代c::ノソ レリ |: : : : | 東北地方 北海道地方
.〈.|: : : : |x`¨ 、¨x.|: : : i:| にいる
\|i: : : :| , /|: : : i:| すべての 愛すべき 国民へ 告ぐ
∨リ\: :iト 、 `´ ィ |: : /|リ
‐┴―\|- 〈 >rァ 爪|V |/
:::::::::::::::::::::::ヽ \ リ
::::::::::::::::::::::::__\
:::::::::::::::/ ::r―‐へ rっr‐-、_
:::::::::/ ::// ∧. | ̄ ̄ ̄| | | | | ̄ ̄ ̄ ̄ ̄ ̄ ̄|..
:::/ ::/ / ヽ|. L|_|_ト' |
/ ::::/ / \ ただちに 逃げろ |
. :::/ |/ | |
430:デフォルトの名無しさん
11/04/06 15:56:15.32
今boostを利用してシリアライズをしようと思っているのですが
#include <boost/serialization/vector.hpp>
#include <boost/serialization/deque.hpp>
などをインクルードしようとすると
>LINK : fatal error LNK1104: ファイル 'libboost_serialization-vc100-mt-gd-1_46_1.lib' を開くことができません。
というエラーが出てしまうのです。他の
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/string.hpp>
は問題なく通るのですが・・・いったい何が原因でしょうか?
431:デフォルトの名無しさん
11/04/06 16:21:12.20
事前にboostビルドしておけよ
432:デフォルトの名無しさん
11/04/06 18:36:59.44
VC++ならビルド済みboostライブラリが自動インストールできると書かれていたのでそれを利用したのですが・・・
433:デフォルトの名無しさん
11/04/06 18:47:36.90
libboost_serialization-vc100-mt-gd-1_46_1.libが存在する見てこい
なかったら自分でビルドしろ
434:デフォルトの名無しさん
11/04/06 19:07:30.14
libboost_serialization-vc100-mt-gd-1_46_1.libはlibフォルダにちゃんと存在するようです
435:デフォルトの名無しさん
11/04/06 19:10:14.87
パス通ってないだけじゃねーか
436:デフォルトの名無しさん
11/04/06 19:22:20.63
VC++のインクルードファイルにC:\Program Files\boost\boost_1_46_1を設定するだけではだめなのでしょうか?
437:デフォルトの名無しさん
11/04/06 19:24:00.98
インクルードパスだけじゃなくてライブラリファイルも指定しろ
ライブラリパスの方は~.libが置いてるフォルダな
438:デフォルトの名無しさん
11/04/06 19:43:19.64
インクルードパス通ってないのになんでインクルード出来てないんだ?
それともインクルードパスは通したがライブラリパスは通し忘れた or 存在を知らないってやつか?
439:デフォルトの名無しさん
11/04/06 19:44:31.59
ライブラリディレクトリにlibが入っているファイルを追加しましたがエラーが消えないですね・・・
440:デフォルトの名無しさん
11/04/06 19:54:50.84
libが入っている「フォルダ」を指定してみて
441:デフォルトの名無しさん
11/04/06 20:44:26.30
失礼、ファイルとフォルダを間違えてしまいました
おお、上手くいきました!ありがとうございました
なんか「std::streamsize' から 'size_t' への変換です。データが失われる可能性があります。」
みたいな警告が出てますけどこれは仕様なんですかね
442:デフォルトの名無しさん
11/04/06 20:46:17.09
あ、これはboost/archive/binary_oarchive.hppの警告だったようです。申し訳ない
443:デフォルトの名無しさん
11/04/08 03:47:53.82
誘導されてきました。
スレリンク(tech板:589番)
お願いします。
444:デフォルトの名無しさん
11/04/08 03:51:32.81
書き忘れましたが、そのスレッドで指摘されているBOOST_PP_EQUALに数値を入れても解決されません。
コンパイラはVS2008を使っています
445:デフォルトの名無しさん
11/04/08 04:01:00.43
すみません。
#include <boost/preprocessor/comparison/equal.hpp>
をしたら自己解決しました。
446:デフォルトの名無しさん
11/04/16 13:27:19.01
すみません
serializeの侵入型 非侵入型って英語でなんて言いますか?
447:デフォルトの名無しさん
11/04/16 15:39:30.60
intrusive/non-intrusive
448:デフォルトの名無しさん
11/04/17 04:24:44.07
ありがとうございます!
449:デフォルトの名無しさん
11/04/21 13:19:37.66
iphoneで動かないのなんてありました?
mm経由でなんでも使えるっぽいですが
450:デフォルトの名無しさん
11/04/21 13:31:12.82
URLリンク(svn.boost.org)
微妙にダメなのかな?
451:デフォルトの名無しさん
11/04/21 15:24:04.84
BOOST_AUTO(xx , boost::fusion::list<double,int,double>(1.12, 3 ,3.4) );
エラーになる
だめなのかな
452:デフォルトの名無しさん
11/04/22 10:52:11.38
fusion便利だね
CG関連のライブラリでしか使ってるのみたことないけど
accumulaterも使ってるの?
453:デフォルトの名無しさん
11/04/22 21:08:36.95
>>452
accumulators は知らんけど Spirit がばりばり使ってる。
454:デフォルトの名無しさん
11/04/25 15:40:13.45
accumulatorに静的に代入した値って
コンパイルタイムで計算される?
455:デフォルトの名無しさん
11/04/25 21:15:57.16
void funcRef(shared_ptr<Hoge>& ref = shared_ptr<Hoge>()) {}
デフォルト引数をヌルポインタにしたい場合、これって問題ないですか?
456:デフォルトの名無しさん
11/04/26 00:21:13.07
>>455
ダメですな。
URLリンク(codepad.org)
これならおk。
URLリンク(codepad.org)
457:デフォルトの名無しさん
11/04/26 04:57:15.86
const shared_ptr<Hoge>& ref = shared_ptr<Hoge>()
458:デフォルトの名無しさん
11/04/26 08:08:06.84
>>456
>>457
ありがとうございます。
459:デフォルトの名無しさん
11/05/01 09:26:30.16
なんでconst要るのー?
460:デフォルトの名無しさん
11/05/01 09:32:52.23
>>459
funcRef() の中でデフォルト指定された ref に値を設定することには意味が無いから、
そういうコードは書けないように言語のルールとして定められているのです。
461:デフォルトの名無しさん
11/05/02 03:06:37.55
boost.pythonを使いたいのですがセットアップ法が分かりません
環境はWindowsとGCCです
bootstrap.batを実行して、project-config.jamの内容を
using gcc : 4.6.0 ;
using python : 3.2 ;
libraries = --with-python ;
と変更してbjamを実行しましたが何かエラー(failing)が出てstage\libに何も生成されません
どなたか教えてください
462:461
11/05/02 03:10:54.93
二箇所あるエラー内容は次のようになっています
gcc.compile.c++ bin.v2\libs\python\build\gcc-mingw-4.6.0\release\link-static\threading-multi\converter\builtin_converters.o
libs\python\src\converter\builtin_converters.cpp: In static member function 'static std::wstring boost::python::converter::{anonymous}::wstring_rvalue_from_python::extract(PyObject*)':
libs\python\src\converter\builtin_converters.cpp:436:32: error: cannot convert 'PyUnicodeObject*' to 'PyObject*' for argument '1' to 'Py_ssize_t PyUnicodeUCS2_AsWideChar(PyObject*, wchar_t*, Py_ssize_t)'
gcc.compile.c++ bin.v2\libs\python\build\gcc-mingw-4.6.0\debug\link-static\threading-multi\converter\builtin_converters.o
libs\python\src\converter\builtin_converters.cpp: In static member function 'static std::wstring boost::python::converter::{anonymous}::wstring_rvalue_from_python::extract(PyObject*)':
libs\python\src\converter\builtin_converters.cpp:436:32: error: cannot convert 'PyUnicodeObject*' to 'PyObject*' for argument '1' to 'Py_ssize_t PyUnicodeUCS2_AsWideChar(PyObject*, wchar_t*, Py_ssize_t)'
463:デフォルトの名無しさん
11/05/06 00:09:52.31
Adobe って Boost使ってたんだな
俺も勉強しようかな
464:デフォルトの名無しさん
11/05/06 09:18:56.65
他の人と同じ道具使いたがる男の人って・・・
465:デフォルトの名無しさん
11/05/06 16:05:30.62
協調性高そうでいいよね
466:デフォルトの名無しさん
11/05/06 16:19:08.01
ワロタ
467:デフォルトの名無しさん
11/05/06 19:16:48.94
Boostってなんで
オブジェクト.メンバ関数()
じゃなくて
関数(オブジェクト)型が多いの?
468:デフォルトの名無しさん
11/05/06 19:49:46.40
性的に解決できるようにじゃない
469:デフォルトの名無しさん
11/05/06 20:30:45.77
性的にねえ
470:デフォルトの名無しさん
11/05/06 21:12:51.90
オブジェクトが対応するメンバ関数を持っていなくても
フリー関数ならメンバ関数がなくても「デフォルト実装」にフォールバックできる。
後から専用の処理を追加・削除しても呼び出し側はソースを編集しなくてもいい。
引数の暗黙の変換を利用することもできる。
組み込み型に対しても同じ書式を適用できる。
と色々メリットがある。
471:デフォルトの名無しさん
11/05/06 21:44:27.93
public操作だけで済むなら、カプセル化の観点からも
性的外出しユーティリティが良いってメイヤーズおじちゃんがゆってた
472:デフォルトの名無しさん
11/05/06 21:44:32.30
あり^^
473:デフォルトの名無しさん
11/05/07 01:37:20.43
フリー関数でもfriend使えばprivateメンバにアクセスできるしね。
実はメンバ関数は要らない子のような気がしてきた。
474:デフォルトの名無しさん
11/05/07 04:20:52.49
ハーブ・サッターも非メンバ関数を勧めてるな
475:デフォルトの名無しさん
11/05/07 05:25:58.44
メンバ関数ちゃんを仲間外れのするのはやめろよー