[過去ログ] Boostを語れゴラァ part4 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(3): 2007/04/04(水)14:09 AAS
語って.はぁと part boost::mpl::int_<4>

過去スレ
part 3 2chスレ:tech
part 2 2chスレ:tech
part 1 2chスレ:tech

■関連サイト■
Boost C++ Libraries
外部リンク:www.boost.org

Boost 翻訳プロジェクト
外部リンク:boost.cppll.jp
省4
875: 2007/10/07(日)22:01 AAS
vc2005EE + WTL で無料でwinアプリ作れちゃうよ
876: 2007/10/07(日)22:03 AAS
微笑ましいなw
877: 868 2007/10/07(日)22:06 AAS
とりあえずstlportを入れてみました。
これで何とかなりますか?
878
(1): 868 2007/10/08(月)00:14 AAS
何かもう駄目っぽい気がしたので、とりあえずcomplexは保留します。
(できれば知りたいですが)

実数行列だけ考えることにして、ためしに
外部リンク[html]:www.page.sannet.ne.jp
↑ここにある
連立方程式を解く
の例にあるコードを、そのままコピーして
ビルドしようとしましたが
\boost_1_32_0\boost\numeric\ublas\lu.hpp(131) : error C2780:
'const class boost::numeric::ublas::matrix_indirect<M,class
省8
879: 2007/10/08(月)00:18 AAS
VC2005を入れろ
880: 2007/10/08(月)01:25 AAS
素直にVS2005のEEでも、入れろよ。
みたところATLやMFCが必要だとは思えんし。
881: 868 2007/10/08(月)03:41 AAS
VC2005入れたらエラーも発生せずできました。
3時間くらい悩んだりしていた甲斐があったと思います。

これは行列の固有値計算もできるんですか?
882: 868 2007/10/08(月)03:56 AAS
アッー!
matrix<complex<double>>
もできた。
さっきはできなかったのに
なんかもう、色々許せない。VC6は許せない。
883: 2007/10/08(月)04:01 AAS
>>869-874 を噛みしめておけw
884
(1): 2007/10/08(月)10:16 AAS
boost::regexでsmatch 使うとそれ以降でインテリセンスが死んじゃうみたいなんだけど
回避策ありませんか?

VC2005EEです
885: 2007/10/08(月)10:40 AAS
インテリセンスは死ぬためにあるのです
886: 2007/10/08(月)10:47 AAS
boostとインテリセンスは千日戦争に突入しているので、見守ってあげてください
887
(1): 2007/10/08(月)10:50 AAS
インテリセンスで不具合がおきている人は日本語版VisualStudio使っているのかな?
888
(1): 2007/10/08(月)11:15 AAS
>>887
お、そこには思いが至らなかった。
英語版の Visual Studio 2005 では死なないのかな?
でも boost の ml などを見てると結構死んでる人もいるみたい。

>>884
なんか typedef が多重にかかると追い切れないのかもね。
boost/regex/v4/match_results.hpp の 49 行あたりにある
typedef typename vector_type::const_iterator const_iterator;
を vector_type を使わずに生のまま書くと IntelliSense は死なないみたい。
typedef typename std::vector<sub_match<BidiIterator Allocator>::const_iterator const_iterator;
省5
889
(1): 2007/10/08(月)11:26 AAS
>vector_type を使わずに生のまま
なんのこと?生?

>ところで、こういう宣言文での typename って必須?
必須
890: 2007/10/08(月)11:29 AAS
英語版VisualStudioだと問題ないなあ。問題といっている
ヘッダファイル使っているんだけどね。
891
(2): 2007/10/08(月)11:39 AAS
>>888
どうもです
書き直してみたけどやっぱり駄目みたい

便利な物は失うと辛いな(´Д`;)
892
(1): 2007/10/08(月)11:42 AAS
>>889
「生」ってのは、その直前に
typedef std::vector<sub_match<BidiIterator Allocator> vector_type;
っていう宣言文があって、そこで宣言した vector_type を使わずに、
っていう意味で使った。

typename が必要になるのってどういうケースなんだろう。
じつは typename よくわかってない。テンプレート引数に
class って書いてたのが最近は typename って書くのが流行り?
って程度の認識。
893: 2007/10/08(月)11:43 AAS
>>891
え?だめ?おかしいなぁ。
Visual Studio 2005 Professional SP1 日本語版
boost 1.34.1 なんだけどなぁ。
894
(1): 2007/10/08(月)11:51 AAS
>>892
std::vector<sub_match<BidiIterator Allocator>::const_iterator
ってあったら、これが型なのかそうじゃない(例えばstaticメンバ変数)のかコンパイラには分からん
だからtypenameで明示しない限り型じゃないとみなすことになってる
895: 2007/10/08(月)12:00 AAS
>>894 なるほど、クラスメンバと混同するからか。
typedef std::vector<sub_match<BidiIterator Allocator> vector_type;
それでこの場合には typename がなかったのか。
896
(1): 2007/10/08(月)12:03 AAS
>>891
ncb ファイルを一度削除しないとだめかもね。
Visual Studio が起動している間に削除してもだめだよ。
ちゃんと終了してから削除しないと。
897: 2007/10/08(月)12:37 AAS
試しにvector_typeを全部「生」にしてみたけど駄目だった
やり方がどこか違うのかな・・・

残念
898
(1): 2007/10/08(月)16:46 AAS
2005だが、
インテリセンスが混乱したら
キャッシュ(ncbファイルだっけ)を削除したら一時的に直る。
899: 2007/10/09(火)00:08 AAS
>>896>>898
ありがとうございます

遅レスですがncb消しても駄目ですた
もう駄目ぽ
900: 2007/10/09(火)02:46 AAS
基本的にboost使う奴が悪いんだから、このさいインテリセンスは諦めましょう。
901
(1): 2007/10/09(火)03:07 AAS
特定のライブラリのみビルドする方法は用意されているのでしょうか?
902: 2007/10/09(火)03:34 AAS
>>901
どーだろ。でも、ライブラリ別に.soとか.aができるから、必要な奴だけリンクすることは可能。
だから部分ビルドできるかはあまり関係ない気もするんだが。
903
(1): 2007/10/09(火)04:30 AAS
ところで C++0x ではクロージャの機能は入るんですか?
904
(1): 903 2007/10/09(火)04:31 AAS
すんません、ラムダ式が使えるんですね。
外部リンク[8F]:ja.wikipedia.org
905: 2007/10/09(火)10:06 AAS
>>904
その Wikipedia の記事は、どういう新機能が会議で提案されてるかをかいてるので、どれが実際に C++0x に入りそうかは別個の話だよ。
外部リンク[html]:www.open-std.org
をみたかぎりではλ式は間に合わなさそう。

これ以上はスレ違いなので C++0x スレで。
906: 2007/10/09(火)10:09 AAS
と思って書き込んでからちゃんとよんでみたら、なんとかなりそうなのかな。よくわかりません。失礼しました
907
(4): 2007/10/09(火)17:43 AAS
VC++2005EEの環境で>>878のコードをビルドしてみたんですが、リンクエラーが出てしまいます。
ランタイムライブラリをMT,MTd,MD,MDdのそれぞれ1回ずつ、バッチビルドでDebugとReleaseの両方をビルドしてみたんですが、どれもリンクエラーが出ました。
↓はMDdでビルドしたときのエラーです。
------ ビルド開始: プロジェクト: aa, 構成: Release Win32 ------
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> >
(class std::basic_ostream<char,struct std::char_traits<char> > &,char)"
(__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z)" は未解決です。
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) private: static char const * __cdecl std::basic_string<char,struct std::char_traits<charclass std::allocator<char> >::_Nullstr(void)"
(__imp_?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ)" は未解決です。
aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) char const `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<charclass std::allocator<char> >::_Nullstr(void)'::`2'::_C"
省4
908: 2007/10/09(火)17:46 AAS
907の続き

Debugのエラーはあまりにも長いので、とりあえずReleaseだけにしておきます。
どこか設定が間違っているのでしょうか?
お願いします。
909
(2): 2007/10/09(火)18:13 AAS
>>907
2005、Boost1.34だが、
31->33行目はoperator()で書き直せば通ったけど?
A[0][0]=1.0; -> A(0,0)=1.0;
910
(3): 907 2007/10/09(火)19:49 AAS
>>909
A[0][0]=1.0; -> A(0,0)=1.0;に書き換えてみましたが、同じエラーが出てしまいます。
ちなみにboost1.34.0だと、
c:\library\boost_1_34_0\boost\numeric\ublas\detail\config.hpp(174)
: fatal error C1189: #error : Your compiler is unsupported by this verions of uBLAS. Boost 1.32.0 includes uBLAS with support for many old compilers.
というエラーが出てしまうので、1.32.0を入れました。

リンクエラーの意味がわからないので、どうすればいいのかさっぱり・・・。
911
(1): 909 2007/10/09(火)20:32 AAS
>>910
ランタイムライブラリは
マルチスレッド(デバッグ)?DLL
使わないとエラー大量に出るよ。
lib,includeディレクトリには1つのバージョンのみのBoostだけ入れてよ。
Boost1.34.1
これでもできないならなんか環境ファイルが壊れてるのかもしれん。
912
(1): 907 2007/10/09(火)22:44 AAS
>>911
1.34.1入れてビルドしてみましたが、やはり>>910に書いたエラーが出てしまいます。
(このエラーが出るということは、コンパイラが1.34.1のublasに対応してないということですよね?)

1.32.0でビルドすれば、コンパイルは通るんですが、
どのラインタイムライブラリでやっても、>>907のリンクエラーかそれよりたくさんのリンクエラーが出てしまいます。
リンクエラーの内容がstd::basic_ostreamとかだったりするのは、
やはり環境変数がちゃんと設定できていないか、壊れているかそのあたりがあやしいですか?
913
(1): 2007/10/10(水)01:38 AAS
boost::test::unit_test ってテスト終了時に
メモリリークの検出までやってくれるんだね。
どういう方法でリークを検出しているんだろう。
もしかしてメモリアロケータを標準のものから
置き換えてなにかやってるのかな?
914
(1): 2007/10/10(水)02:44 AAS
>>912
通りすがりだけど・・・

#include <ublasのヘッダもろもろ>
int main()
{
// 何も書かない
return 0;
}

でコンパイル通る?
経験則から言うとVC7以上であればublasのバージョンは問題ないと思う
省3
915: 907 2007/10/10(水)04:01 AAS
>>914
ヘッダだけのコードを1.32.0でビルドしたら成功しました。(1.34.1は、やはり>>910のエラー)
1.34.1でビルドするとboost/numeric/ublas/detail/config.hppの
// Version 6.0 and 7.0
#if BOOST_MSVC <= 1300
#define BOOST_UBLAS_UNSUPPORTED_COMPILER 1
#endif
の条件に該当してそうです。

コメントアウトでいろいろコードを削って試してみたら、どうもstd::coutを使うとリンクエラーが出るっぽいです。
原因がスレ違いで申し訳ないです。
省2
916: 2007/10/11(木)02:58 AAS
unit_testの話題が出ているので...質問させてください

他のライブラリを使用したコードのテストをするため
unit_testを利用しようとしたところ、リンカで次のエラーを得ました

***.lib(main.obj) : error LNK2019: 未解決の外部シンボル _MAIN__ が関数 _main で参照されました。

unit_testがmain関数を横取りしていることあたりが原因だとは思うのですが
何とか上手く回避できないものでしょうか?
お心当たりのある方はご教示いただけると幸いです
917: 2007/10/11(木)03:31 AAS
unit_testを使わない

boostなんて無理してまでも使うもんじゃない。
918
(1): 2007/10/12(金)07:06 AAS
お前ら、ステートマシンはどのライブラリを使っていますか?
Cで書いた糞自作ライブラリから乗り換えようと思ってるんですが。
919: 2007/10/12(金)07:29 AAS
糞自作ライブラリから乗り換えようと思った理由は?
920
(1): 2007/10/12(金)09:11 AAS
外部リンク[html]:www.boost.org
Boost.FSM 10/21〜
921: 2007/10/12(金)09:15 AAS
FSMは昔GPGに載ってたAI用のやつをいじって使ってる
922: 2007/10/12(金)09:32 AAS
>>918
Cベースで、状態遷移時のコールバック関数へのポインタが
むき出しだったり、いやなことが多いのと、あのころの
自分を忘れたかったから。

>>920
お、レビューが始まるんですか。
ちょっと前に話題が出てた Property も?
と思ったらこれは Property Map か。。

外部リンク[html]:www.boost.org
これと比べてどちらを使うべきかについてのアドバイスのような
省3
923: 2007/10/12(金)20:21 AAS
typedef使えばいいような
924
(3): 2007/10/13(土)14:37 AAS
テキストエディタ使ってコマンドラインからコンパイルしようとすると
boost関連のincludeが見つからないと怒られたので
vsvars32.batにboostのincludeとlibパスを追加してみたら
今度はfatal error LNK1120: 外部参照 1 が未解決です。と出る

どうしたら良いのでしょうか?
925: 924 2007/10/13(土)14:42 AAS
書き忘れ

VC2005EEです。。。
926: 2007/10/13(土)14:56 AAS
具体的に何が見付かりませんと表示されるだろう。
そっち見ないとわからない。たぶんスレ違いの気がするけれど。
927
(1): 924 2007/10/13(土)15:02 AAS
error LNK2019: 未解決の外部シンボル
"void __cdecl boost::throw_exception(class std::exception const &)"
(?throw_exception@boost@@YAXABVexception@std@@@Z) が関数 "
int __cdecl boost::lexical_cast<int,class std::basic_string<char,struct
std::char_traits<charclass std::allocator<char> > >
(class std::basic_string<char,struct std::char_traits<charclass std::allocator<char> > const &)"
(??$lexical_cast@HV?$basic_string@DU?$char_traits@D@std@@V?
$allocator@D@2@@std@@@boost@@YAHABV?$basic_string@DU?$char_traits@D@std@@
V?$allocator@D@2@@std@@@Z) で参照されました。
boosttest.exe : fatal error LNK1120: 外部参照 1 が未解決です。
省2
928: 2007/10/14(日)19:34 AAS
うちはうまくうごいとるよ
929: 2007/10/14(日)20:12 AAS
boostでまだ使えないvc向けのものがあるね
930
(1): 2007/10/14(日)23:32 AAS
>>927
VC のオプションの「C++ の例外を有効にする」がいいえになってるか
明示的に BOOST_NO_EXCEPTIONS を定義したのでは?
931: 2007/10/15(月)15:02 AAS
YAMLの実装はありますか?
932: 924 2007/10/15(月)18:11 AAS
>>930
遅レスですいません
ビンゴでした

/EHsc オプションつけたらコンパイル通った
ありがとうございました

でも、なにもした覚えはないんだけどな・・・
933: 2007/10/15(月)18:15 AAS
実行時型情報を使うのってあんまり気持ち良くないなぁ。
おまえらは全然抵抗ありませんか?
型に関するあれやこれやはコンパイル時に解決
されているのがC++のいいところだと思ってたんだけど。

あと、これは単なるコーディングスタイルなんだけど、
メンバ変数をアクセスするときに this-> を強制したいなぁ。
あくまで自分が間違えてメンバ変数と同じ名前のローカル変数を
作ってしまうことがあるバカ者だからなんだけどね。
まぁこれは命名規則をきっちり決めておけばいいんだろうけど。
934: 2007/10/15(月)18:56 AAS
boostと何の関係が?
935: 2007/10/15(月)19:11 AAS
RTTIをオフにすると、Boost のなかで使えない
ライブラリが出てくる。どのライブラリが
RTTIを要求するか、例外のサポートを要求するかについての
リストがあれば便利なケースもあるんじゃないかなぁ、とか思いながら。
さすがに組み込みで Boost の全ライブラリのサポートを
要求する人はいないと思うが、どれが使えてどれが使えないか
わかればいいなぁ。
936: 2007/10/15(月)21:50 AAS
独り言うぜぇ
937: 2007/10/15(月)22:01 AAS
つうか、メンバ変数は大抵 xxx_ とか m_xxx でぶつからないだろ
938
(1): 2007/10/15(月)22:56 AAS
インテリセンスで使いやすいように _xxx じゃ問題ある?
939
(1): 2007/10/15(月)23:08 AAS
>>938
頭にアンダースコアの識別子は標準ライブラリやコンパイラのベンダのためにあるから使っちゃ駄目。
940: 2007/10/15(月)23:12 AAS
>>939
はい、間違いです。規格書読み直してくださいね。
941: 2007/10/16(火)00:00 AAS
>17.4.3.1.2 Global names
>Certain sets of names and function signatures are always reserved to the implementation:
>Each name that contains a double underscore (_ _) or begins with an underscore followed by an uppercase
>letter (2.11) is reserved to the implementation for any use.
>Each name that begins with an underscore is reserved to the implementation for use as a name in the
>global namespace

大文字でないので、メンバに使うのはおkってことか?
なんにせよ俺は使いたくはないな。
942: 2007/10/16(火)00:51 AAS
マクロとぶつかったりするととても悲しいのでやめた方が無難
943: 2007/10/16(火)08:19 AAS
バカかお前。ぶつからねーって回転だろ
944
(1): 2007/10/16(火)19:38 AAS
独自のテンプレートライブラリを作るときに
boost::mplを使うときに一々ヘッダでboost::mpl::bindとか完全修飾で書くとみにくいので
namespace mpl = boost::mplとかusingを使いたいんですが

namespace my_lib {
 namespace hoge_impl {

}
945
(1): 944 2007/10/16(火)19:46 AAS
namespace my_lib
{
 namespace hogee_impl
 {
  // *この名前空間でusingやnamespace hoge = foo::bar;を使う
  tempalte<class Hoge, class Huga, class Foo> struct impl { typedef ... type; };
 } // namespace hoge_impl
 tempalte<class Hoge, class Huga, class Foo> struct hogee {
   typedef typename hogee_impl<Hoge,Huga,Foo>::type type;
省4
946: 2007/10/16(火)21:56 AAS
それってBoostと関係あるのか?
947: 2007/10/16(火)23:37 AAS
>>945
どんなことが起こるのを心配してるの?
見た感じ、好きにすれば、って感じなんだけど。
948
(2): 2007/10/17(水)21:01 AAS
struct A{
 long a;
};
struct B{
 A inner;
 explicit B(long n){ inner.a = n;}
};
struct GetB_ : public std::unary_function<B&, A&>{
 A& operator()(B& element) const{ return element.inner;}
};
省19
949
(1): 2007/10/17(水)23:03 AAS
>948
都合により直接メンバアクセスすることはできない。ただし、A& に変換することはできる。
ということで、不格好だけど、static_cast<A&)(p2[0]).a みたいにするか、long& getA(A& a) { return a.a; } を作って getA(p2[0]) みたいにする必要がある。

コメントの部分はこういうことだと思う。

p2[n] が A& を直接返していたとする。
この時返ってくる A& は *(p2 + n) の結果なんだけど、 p2 + n は iterator の一時オブジェクトで既に破棄されていることになる。
iterator によっては自分が破棄された場合に、指し先(この場合返ってきた A&)も無効化するものがあるかもしれない。
ということで、p2 + n に対応する iterator が存在することを保証するために proxy オブジェクトが使用されている。
950
(2): 2007/10/18(木)01:17 AAS
>>949
あー、なるほど。
分かりやすい解説ありがとうございます。

確かに、さっきのp2で
cout << (*(p2 + 5)).a << endl;
って添え字演算子と同じことをやると、Visual Studio がアサート失敗を出す。
vectorのイテレータが破棄されちゃうのね…。

>>948は例のためにvector使ったんで、
実は本当にtransform_iterator使いたいのはポインタだからこの問題は起こらない…。
transform_iteratorを継承してoperator[]を隠蔽してみます。
951: 2007/10/18(木)02:25 AAS
>>950
次スレ立てよろしく
952: 2007/10/18(木)07:59 AAS
ほーい
953: 2007/10/18(木)09:13 AAS
>>950
iteratorは継承して作ってはいけない
954: 2007/10/18(木)13:31 AAS
書くの面倒だけど書かないとね。
iterater_facadeとか使って。
955: 2007/10/18(木)14:02 AAS
つーかそれ無しだと書く気が起きない
956: 2007/10/18(木)17:22 AAS
>>781
int | ∞ を表現するのに便利そう。> boost::optional
957
(1): 2007/10/18(木)17:41 AAS
次スレ
Boostを語れゴラァ part5
2chスレ:tech

立てたはいいけどここに報告するの忘れてたよ
958
(1): 2007/10/19(金)02:11 AAS
> boost::optional
通常処理→戻り値数値
通常処理でない→戻り値NULL
という関数を試作したらNULL値が0として振る舞って失敗した事があった
そのとき代替で使ってみた。良い方法かどうかは知らないけど
959: 2007/10/19(金)07:21 AAS
ワラ
960: 2007/10/19(金)12:50 AAS
まさかこういうことをしたのか・・・。

int hoge() {
return NULL;
}
961: 2007/10/19(金)12:53 AAS
そのレベルでBoost使ってたらいろいろと苦労しそうだね。
962: 2007/10/19(金)13:50 AAS
Win32のことかー
963
(1): 2007/10/19(金)20:01 AAS
>>958

例外使うところなのでは?
…それがいやなら結果入れる変数を参照渡し…
964: 2007/10/19(金)20:03 AAS
結果変数を渡すくらいならoptional使えばいいだろ
965: 2007/10/20(土)10:06 AAS
>>963
頭固いねー
966
(1): 2007/10/20(土)11:39 AAS
なにいってるんだ、NULL渡したいならnullptrだろ?
967: 2007/10/20(土)11:41 AAS
optionalあるんだからoptional使えばいいだろ
968: 2007/10/20(土)12:58 AAS
>>966
別に NULL を返したいんじゃなくて、
エラーが識別できれば何でもいいだろう。
まさに optional の適用事例。
969: 2007/10/20(土)13:28 AAS
boost.optionalごときにカリカリしすぎ
970
(3): 2007/10/20(土)14:22 AAS
tupleでいいと思うけど人気無いの?
単にエラーコードと結果両方返したいだけなら
tupleどころかstd::pairでもいいと思うけど。
971: 2007/10/20(土)15:14 AAS
>>970
optionalの方が良いから。
972: 2007/10/20(土)18:26 AAS
>>970
それじゃぁ、エラーコードを不用意に無視することができてしまうだろ。
エラーコードを無視させにくくするためには optional みたいな
仕組みがいい。例外もエラーを無視させない仕組みなので、
例外を使ってもいいとは思うけど。故意に無視することができるのは
どちらも同じ。

optional を使ってエラー状態を通知する方法と
例外を使ってエラーの発生を通知する方法の違いは
直情より上の呼び出し元までエラー状態が伝搬するか否か。
973
(1): 2007/10/20(土)18:26 AAS
>>970
俺もそう思う
std::map::insert が pair 返すし
tuple は tr1 にあるけど、optional は無いし
974
(1): 2007/10/20(土)18:53 AAS
DefaultConstructibleでなくても返せるようにするために
optionalは存在するんだ

もっと勉強しろこのバカチンどもが!
975
(1): 2007/10/20(土)20:42 AAS
全然関係ないけど
動的メモリがあまり自由でない環境だと、DefaultConstructibleでない
値ベースの型って、なにげに使い勝手が悪かったりするような
976: 2007/10/21(日)00:38 AAS
>>974
ごめんね、ママ
977: 2007/10/21(日)00:39 AAS
>>973
> tuple は tr1 にあるけど、optional は無いし

はい、スレ否定、来ました。
978
(2): 2007/10/21(日)12:24 AAS
>>975
はいはい
boost::value_initialized
979
(1): 2007/10/21(日)13:38 AAS
>978
value_initialized ってそういうもんだったっけ?と思ったらやっぱり DefaultConstuctible かどうかを解決なんてしないじゃん。
名前に惑わされてない?
980
(1): 2007/10/21(日)15:48 AAS
auto_ptr + aligned_storage = optional
981
(1): 2007/10/21(日)17:10 AAS
>>980
aligned_storageの説明ってどっかにあります?
982: 978 2007/10/21(日)18:17 AAS
>>979
すいません。ご指摘のとおり。
default construtibleでない=組み込み型が初期値で初期化されない、
と勘違いしてました。
983: 2007/10/21(日)18:48 AAS
>>981
説明っていっても、指定サイズの char バッファを指定アライメントに置くだけだよ。
BoostにもTR1にも入ってる。

今の実装だと type_with_alignment<> 経由で求まる型を使ってるけど、
C++0x では alignof/alignas あたりを使うようになると思われる。
984: 2007/10/21(日)21:25 AAS
組み込み分野で便利そうだね
今まではマクロ使ってたけど
985: 2007/10/23(火)16:33 AAS
シンビアンとか、Mac OS Xのドライバとか、
組み込みっぽい用途に結構使われてるからね。
986: 2007/10/24(水)13:42 AAS
>>957

987
(1): 2007/10/24(水)23:57 AAS
Boostを普通にプロジェクトで使ってる?
988: 2007/10/25(木)02:23 AAS
>>987
全部じゃないけど使っているクラスもある。
たとえば boost::shared_ptr とか boost::auto_array とか。
989: 2007/10/25(木)03:54 AAS
ああ、C++0x の auto がまちどおしい。
型名が長くなりすぎ。推論してくれ・・
990: 2007/10/25(木)09:53 AAS
これ以上コンパイル時間が長くなるのはイヤです
991: 2007/10/25(木)10:01 AAS
そこで8コア並列コンパイル
Linuxのカーネルのビルドもカップ麺ができるまでに終っちゃいます
992
(1): 2007/10/25(木)17:41 AAS
VS2005 は、何コアまで対応しているんですか?(コンパイル)
993: 2007/10/25(木)19:23 AAS
>>992
並行してビルドできるプロジェクトは任意に指定できるんじゃね?
994
(1): 2007/10/25(木)21:29 AAS
つーか、型推論で速度が遅くはならねぇだろ。
995: 2007/10/25(木)22:29 AAS
いやいやそんな事は無い
996
(1): 2007/10/25(木)22:35 AAS
>>994
?コンパイル速度には影響しそうだけど
997: 2007/10/25(木)23:27 AAS
>>996
しっかりしろ。sizeofがある時点で、typeofのようなものは簡単に実装できるなんてわかりそうなもんだろ。

そして、sizeofでコンパイル速度が落ちるか?
998: 2007/10/25(木)23:33 AAS
auto a = hoge();

これでaの型を推論するのに時間がかかるわけがない。
これでコンパイル速度が遅くなるんなら、下の簡単なテンプレート関数でも遅くなるだろ。

template<class T>
void foo(T t){}

foo(hoge());
999: 2007/10/26(金)07:32 AAS
?
1000: 2007/10/26(金)07:32 AAS
(・∀・) 1000 !

次スレ

Boostを語れゴラァ part5
2chスレ:tech
1001: 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.297s*