1 名前:デフォルトの名無しさん [2006/09/23(土) 15:00:11 ] 語って.はぁと part boost::mpl::int_<3> 前スレ part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/ part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/ ■関連サイト■ Boost C++ Libraries www.boost.org/ Boost 翻訳プロジェクト boost.cppll.jp/HEAD/ Let's Boost www.kmonos.net/alang/boost/ boost info shinh.skr.jp/boost/
384 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 00:48:42 ] む、あいまいかつ適当な書き方して申し訳なかった そのときのメモ見たら set INCLUDE=C:\Program Files\Microsoft Platform SDK\Include してC:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat走らせて bjam -sTOOLS=vc-8_0 --prefix="C:\Program Files\Microsoft Visual Studio 8\VC" install したって書いてあった。 set LIB=C:\Program Files\Microsoft Platform SDK\Libはvcvarsallがやってくれたっぽいが 標準でやってるのか自分でbat編集したのかは覚えてない まあ>>383 の通りです
385 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 00:10:04 ] >>383-384 ありがとうございます set INCLUDE=C:\Program Files\Microsoft Platform SDK\Include set LIB=C:\Program Files\Microsoft Platform SDK\Lib bjam -sTOOLS=vc-8_0 --prefix="C:\Program Files\Microsoft Visual Studio 8\VC" install とやってみましたが、相変わらず大量のエラーメッセージが出てしまいます 383のリンクを見てみましたが、PlatformSDKが必要ということとvsvars32.batを編集しないといけないということは分かったのですが 英語が苦手なので具体的にどこをどう編集しないといけないのか分かりませんでした 本当にすみません VCEEではなかなか出来ないのでBCB6.0でやってみようと思い、 >1にあるLet's Boostを参考にして↓のようにやりましたが、また同じようなエラーが出てしまいました C:\lib\boost_1_33_1>set PATH="C:\Program Files\Borland\CBuilder6\Bin";%PATH% C:\lib\boost_1_33_1>bjam -sTOOLS=borland --prefix="C:\Program Files\Borland\CBuilder6" install 何でやってもダメということは何か基本的な設定が出来てないのでしょうか?
386 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 01:50:50 ] vcvarsall.batの @set INCLUDE= @set LIB= の部分に;で区切って追加する
387 名前:358 mailto:sage [2006/12/03(日) 07:12:58 ] VC++6.0、IDEも軽くていいんだけどなぁ。 MFCのランタイムも普及してて、Win98以降のOSなら何でも動くし。 でも、そろそろ新しいバージョンに移行した方がいいのかもね… 考えてみれば、8年前の開発環境なんだよね… >6.0
388 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 07:14:27 ] テンプレートの対応もアレだしね。6.0
389 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 18:33:22 ] phoenix::bindがspirit::parseのオーバーロードを解決してくれない・・・ lambda::bindならいけるのに・・・
390 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 22:17:45 ] >>386 ありがとうございます vcvarsall.batには@set INCLUDEと@set LIBがありませんでした vsvars32.batにはあったのでそれを↓のように編集しました @set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%C:\Program Files\Microsoft Platform SDK\Include;%INCLUDE @set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\Program Files\Microsoft Platform SDK\Lib;%LIB% それから↓のようにコマンドを打ち込んでみましたが、やはり>>380 と同じようなエラーが出ました C:\lib\boost_1_33_1>"C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" Setting environment for using Microsoft Visual Studio 2005 x86 tools. C:\lib\boost_1_33_1>bjam -sTOOLS=vc-8_0 --prefix="C:\Program Files\Microsoft Visual Studio 8\VC" install VCEEだけでなくBCB6.0でもVC6.0でも失敗しました どうやら私には無理なようです regexだけ↓のコマンドでインストール出来たのでもうこれで一旦諦めます(これはVCEEでもBCB6.0でも出来ました) C:\lib\boost_1_33_1\libs\regex\build>"C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" Setting environment for using Microsoft Visual Studio 2005 x86 tools. C:\lib\boost_1_33_1\libs\regex\build>nmake -fvc8 C:\lib\boost_1_33_1\libs\regex\build>nmake -fvc8 install 今度もう少しコマンドプロンプトやBoostの基本を勉強して再挑戦してみます スレ汚ししてすみませんでした それから答えてくれた皆さんありがとうございました
391 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 22:32:02 ] 自分は@setにboostのパスも通してるな 必須なのかは忘れた よくがんばった。もうこれでいいじゃない www.boost-consulting.com/download.html
392 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 15:52:07 ] #include <boost/test/unit_test.hpp> void test() {} boost::unit_test::test_suite* init_unit_test_suite(int, char*[]) { boost::unit_test::test_suite* suite = BOOST_TEST_SUITE("Test suite"); suite->add(BOOST_TEST_CASE(&test)); return suite; } 上記のコードをgcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)で g++ a.cpp -lboost_unit_test_framework-gcc-d によりコンパイルしたところ、 /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0x18): In function `_start': ../sysdeps/i386/elf/start.S:77: undefined reference to `main' collect2: ld はステータス 1 で終了しました とリンクエラーになってしまいます。 (MS VC++ 8とgcc 3.4.4(cygming special)では正常にコンパイル&リンク&実行出来ました。) -lboost_unit_test_framework-gccにしても、また g++ と a.cpp の間にこれを書いても同様に リンクエラーになってしまいます。 (g++ a.cpp libboost_unit_test_framework-gcc-d.a とすると正常にリンク、実行出来ます) これはgccもしくはboost側の問題でしょうか? それともコンパイラオプションが何か足りないのでしょうか?
393 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 18:33:41 ] www.kmonos.net/alang/boost/classes/test.html これだけでは、boost.testの便利さが今ひとつ理解できない
394 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 19:31:20 ] CPPUNITでいいんじゃね
395 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 21:51:02 ] bjamでいろんなコンパイラ上で一気にテストできる 問題はbjamの使い方がよく分からないこと
396 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 15:24:39 ] scoped_arrayはvectorと違ってソートできない?
397 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 15:47:25 ] >>396 なんで?
398 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 16:40:54 ] begin(),end()が無いから
399 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 16:49:42 ] ポインタ渡せばいいじゃん。 ランダムアクセスイテレータの用件満たしてるよ。
400 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 17:02:05 ] 了解 ありがとう
401 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 17:32:49 ] math.Geometryの下がカオスで試そうという気自体おきない しかしGeometry関係の処理はしたい。 boost以外を探すべきか
402 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 20:01:44 ] >>398 つmake_iterator_range
403 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 21:09:05 ] επιστημη氏ってboostに関して何か書いてたっけ? MFCからSTLに関しては、いろんな所に書き散らかしてるけど
404 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 21:43:46 ] >>403 なんの脈絡もなく突然どうした? スレを間違えたのか? とりあえず、例の翻訳プロジェクトには参加してるみたいだけど。 sourceforge.jp/project/memberlist.php?group_id=428
405 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 07:05:53 ] >いろんな所に書き散らかしてるけど を見て、さらにスレ違いな質問を思いついた。 boost使いってPC系ではどんな雑誌読んでる?情報収集はネットのみ?
406 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 07:18:35 ] 「boost使い」と名乗っていいレベルかどうか自信ないけど、 俺は雑誌は一切読まない。 いや、別に「絶対読まねえぞ」みたいなこだわりがあるわけじゃないけど。
407 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 10:41:12 ] 最近はPC系というかプログラミング系の雑誌自体あんま見かけないしな boost devel や c++.moderated つまみ食いしてた方がよほど有益
408 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 10:49:26 ] 日経ソフトウェアとインターフェースと、あとなんかあったっけ?
409 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 19:31:43 ] 俺もプログラミング系の雑誌は読まんな。 bitとか良い雑誌があった頃が懐かしい。
410 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 21:15:10 ] それこそ boost.spritで遊ぼう! みたいな特集を組むある意味アホな雑誌がでてたら買う
411 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 21:22:51 ] 正規表現特集でboost.regexがちょこっと紹介されるのが関の山だな。
412 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 22:16:53 ] C/C++ Users Journalが合流したDDJとか。 www.ddj.com/dept/cpp/cuj.jhtml
413 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 22:56:30 ] boostってlokiのtypelistに相当するやつあります?
414 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 22:58:44 ] >>413 mpl::list
415 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 23:30:11 ] thx
416 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 00:42:18 ] 拡張子hppって古めかしい気がするのは俺だけ? #include で拡張子なし <boost/shared_ptr> って動きは無いのだろか?
417 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 01:17:54 ] >>416 かつて、標準化委員会は理想に燃えていました。 拡張子などという原始的なもので、 ファイルの種類を表すべきではないという強い意志がありました。 はて、2006年になっても、その理想は実現されそうにないのですが。
418 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 01:31:13 ] どっちでもいいけど、標準C++ライブラリと違うのは気持ち悪い
419 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 02:27:45 ] >>417 そのへんって確か、過ちを認めて今からでも元に戻そうって動きもなかった?
420 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 03:08:53 ] >>419 今後出る標準ライブラリに拡張子をつけられたとしても。 いまある標準ライブラリはそのまま残すしかないでしょ。 たとえこんなものでもね // これはC99のiositreamとの下位互換性のためにあるぜ。 //実体はiostream.hな。 #include <iostream.h>
421 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 03:10:50 ] >>419 それは、たぶんこれだろう。ちょっと違う。 www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#456 "We should accept the fact that we made a serious mistake and rectify it, however belatedly, ..."
422 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 03:11:31 ] 拡張子ないとエヂタとか使うとき後からシンクタック指定するの面倒やん
423 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 07:58:42 ] 俺は、拡張しありでいいが、.cppと.hppはどういうわけだか好きになれない。 .Cと.hにしている。大文字小文字区別しないファイルシステムだと問題の種になることもあるが。
424 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 08:03:12 ] >>423 なんで技術的デメリットを無視してまで理由のはっきりしない好みを優先させるの?
425 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 09:25:24 ] 趣味だから
426 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 09:48:40 ] C++ でしか使えないようなヘッダなのに .h を使うのは嫌いだナ (Cからでも使えるようなヘッダなら .h で問題ない) .cpp / .hpp とか、 .cc / .hh とか、ちゃんと名前が揃っていればまあ良いんじゃないかと
427 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 09:50:51 ] 俺は .h / .cpp だな。 不揃いじゃね? と言われれば、うーん、確かにそうなんだが。
428 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 13:04:07 ] >>427 俺もそれ。hppはなんか嫌い。
429 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 13:05:33 ] >>416 せっかく標準がユーザー側のヘッダとぶつからない配慮してくれてんのに、 同じルールにしたら意味ないじゃん
430 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 17:13:15 ] >>422 #includeで指定するヘッダ名は実際のファイル名である必要はない、少なくとも標準のものは。 たとえばBorland C++では適当な拡張子を付けたファイルをインクルードしている。
431 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 18:23:17 ] >>430 理想と現実は違うよ。
432 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 18:39:42 ] え? 理想の話をしてるんじゃないの?
433 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 20:12:44 ] 理想じゃなくて規格の話だろ
434 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 21:18:39 ] 理想の規格はどうあるべきかという話だよん
435 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 23:34:22 ] という夢を見た
436 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 18:06:28 ] testプログラムを1つ与えると 交差検定も自動でやってくれるようなプログラムがあったはずなのだけど boostの中にはないの?
437 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:19:14 ] >>380 いまさら亀レスで悪いんだが、 俺も同じエラーで失敗しとります。 コマンドラインのログ追っかけていたら、 MKDIRコマンドで失敗しとりました。 "MKDIR"が"MKDIR1"になってて、ディレクトリを作れないようです。 最初に stageディレクトリを作れません。→死亡 lack of stage なのでlibs作れません →死亡 で以降すべてエラー。 俺はmsvc6.0なんで>>391 も使えないし・・・ どこを直せばいいか分からぬ、、 誰か助けてorz
438 名前:デフォルトの名無しさん mailto:age [2006/12/15(金) 19:24:24 ] 丸二日スレストってるので僭越ながらageさせて頂きます
439 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 22:17:27 ] vc8はタダなんだから落としてこいよ
440 名前:デフォルトの名無しさん mailto:age [2006/12/15(金) 22:17:45 ] bjamのバージョンを下げたらビルドできました でも最新のでやりたかったです。 誰かエロい人いたら bjamの3.1.13-1 で出来るか試してみてくれませぬか、 3.1.11-1だと上手くいきました。
441 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 22:44:19 ] そこまでしてVC6にしがみつく理由がわからん。
442 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 22:54:37 ] gccもあるし、8にもそのうち乗り換えるさ… つかコンパイラの話しじゃなくて、bjam3.1.13-1が動かなくない? って話しで
443 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:16:56 ] プリコンパイル済みヘッダー と boost.testって一緒に使えないのかな
444 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:44:45 ] VC6は(今の基準では)C++として腐ってるからBoost向きではない
445 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:53:02 ] VC6は2038年問題とかだけでも捨てるべきだろ。 少なくとも業務で使ってるってのならその会社は潰れてしかるべき。 ぜひ潰れて欲しい。
446 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 01:39:05 ] Cとしてしか使わないならVC6最高じゃん
447 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 01:49:43 ] >>466 同感! 最近 STL 使おうって思ってやっと 2005 に切り替えました!
448 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:23:20 ] 激しくスレ違いで申し訳ないが… 8だとテンプレートをネスト出来たりするかね? ならば今すぐ買いに行くさ。
449 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:34:38 ] するする。今すぐ買いに行け。
450 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:36:43 ] これか? template < typename T > struct Foo { template < typename P > static void Bar() ; } ; Foo<int>::Bar<int>() ; あるいはこれか? template < typename T, template<typename, typename> class Container > class Foo { Container< T, std::allocator<T> > cont ; } ; Foo< int, std::vector > FooVec ; どちらもできる……が、後者は、なぜかテンプレートテンプレートパラメータのデフォルト引数が使えない。 //エラー template< template <typename, typename = std::allocator<int> > class Container > class Foo { Container<int> cont ; } ;
451 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:39:46 ] まじかよ… 部分特殊化だけかと思ってた… 今すぐ買いに行くわ 確かファミマにあったはず。アカデミックだけど。
452 名前:デフォルトの名無しさん [2006/12/16(土) 02:44:32 ] あ〜、後者ですわ。 デフォルト指定は無理なのかぁ…、 まぁいい機会だし買いに行きま。
453 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:44:41 ] >テンプレートテンプレートパラメータのデフォルト引数 そんな言語機能があったなんて! いったいなんのためにあるんだろう。
454 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:29:27 ] メタ関数として使えそうなんで用意したけど実際にはいまいち使えなかった、 という感じか?>テンプレートテンプレートパラメータ
455 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:47:12 ] いや、テンプレートテンプレートパラメタには意味があると思うんだが、 テンプレートテンプレートパラメタ「の」デフォルト引数ってなかなか出てこない発想じゃないだろうか。 ふつうの関数だと void f(int (*g)(int = 7)){} 不正みたいだし。
456 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:50:58 ] 普通に使いますから。 テンプレートクラスでデフォルト引数が使えるのは(allocatorなど)当たり前のことだし、 テンプレートの引数に、テンプレートクラス使えないのは不便で仕方がない。
457 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:04:31 ] そこで、boost.preprocessorですよ。
458 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:06:57 ] え、VC8でも hoge<hage<int>>; みたいのはできないの? デフォルト引数を定義しなければ使えるってこと?
459 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:15:31 ] >>458 シンタックスエラー!
460 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:40:06 ] uho!
461 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:46:08 ] >>457 preprocessorで何ができると?
462 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 12:19:11 ] Tはテンプレート引数でコンテナ型です。 typedef typename boost::mpl::if_<boost::is_const<T>, typename T::const_iterator, typename T::iterator>::type Hoge; typedef typename boost::mpl::if_<boost::is_const<T>, typename T::const_pointer, typename T::pointer>::type Hage; typedef typename boost::mpl::if_<boost::is_const<T>, typename T::const_reference, typename T::reference>::type Debu; こういうことをやりたいんですが、もっとシンプルに記述できる方法はないでしょうか?
463 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 06:55:37 ] プリプロセッサを使ってもシンプルにはならないだろうし、読みにくくなるだけかと。 そもそも何でそういうことがしたいのか分からない。 渡されたコンテナがconstでなければ、書き換える。 constであれば書き換えないという、奇妙な関数でも書きたいのだろうか。
464 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 17:28:40 ] >>462 boost::range_result_iterator< std::vector< int > >::type // -> std::vector< int >::iterator boost::range_result_iterator< const std::vector< int > >::type // -> std::vector< int >::const_iterator あとは上のように獲得した iterator 型に boost::iterator_[reference|pointer] を適用
465 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 23:17:11 ] >>464 うわぁ、Boost.Rangeチョー便利ナリ・・・ boost::sizeとかあるし。sizeof(a) / sizeof(a[0])とかしてたのが馬鹿みたいだ。 いいものを教えてもらった、ありがとう。
466 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 08:19:06 ] templateもろくに通らないからVC6から2005に切り替えたよ
467 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 15:00:59 ] 今度はワイド文字ストリームがろくに使えないVC 2005。
468 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 16:09:31 ] VC 2005 SP1で直る・・・はず・・・だといいな・・・
469 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:20:48 ] その SP1 では graph library が使えないということらしいが
470 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:23:55 ] >>468 直ってないような気がする・・・
471 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:28:28 ] いや、気がするんじゃなくて間違いなく直ってないや。
472 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:40:36 ] SP1出たんだな
473 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:46:01 ] STLPort使うとなぜかは知らないがlocale::globalの後でもimbueが効くようだ。
474 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:57:24 ] なあ、boostいじってるC++狂の連中はWebアプリケーションはなにで 書いてるんだ? 俺、JavaもPerlもやる気しねーよ。もっとC++でWebアプリ書くフレーム ワークとか環境とか色々あってもいいのになあとか思うんだが。
475 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:59:52 ] boostいじってるC++狂の連中はWebアプリケーションなんてかったるいものは 書かないんじゃないかな
476 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:00:27 ] Perlは確かに使う気しないがJavaなら別にいい
477 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:12:09 ] スレ違いだと思うのでURLだけ ws.apache.org/axis/ja/cpp/lininstall-guide.html www.cs.fsu.edu/~engelen/soap.html www.xlsoft.com/jp/products/roguewave/sourcepro/index.html
478 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:18:51 ] boost::CppOnRailsができるのを待つか
479 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:42:34 ] >>474 なんか「柴犬」とか言うtomcatもどきをC++で実装してテストしてるスレがあった希ガス
480 名前:デフォルトの名無しさん [2006/12/19(火) 07:44:46 ] sscanfみたいなのを 正規表現で指定できる関数はあるのでしょうか?
481 名前:450 mailto:sage [2006/12/19(火) 08:04:30 ] SP1いれたら、テンプレートテンプレートパラメータのデフォルト引数が使えるようになっていた。
482 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 14:13:59 ] boost MLに何度か投稿していたら software関係conferenceの Invitation to submit a paper (おそらくSPAMの一種だと思う)がくるようになった。 同種のメールは、自分の専門分野の関連領域でもくるのだが ( inviteされるような仕事してねえのに invite ってなんだよ) software関連のは本当に怪しいのかを見分ける手段がない なにか見分ける方法ないものか
483 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 19:52:06 ] すみません、質問させてください 基本型あるいはユーザ定義型の配列の要素数を返す関数を作ろうとしてるんですが arrayがユーザ定義型の配列であった場合でも /* @ */の処理がコンパイルされるためエラーになってしまいます template <typename T> void count(T array[]){ if(boost::is_pod<T>::value){/* @ */} else{/* A */}} WEBで調べているとboost::enable_ifで解決できそうな予感がしたのですが 自分には次の例がよく理解できません(特に::type*=0の部分) これはどういった理屈で動いているんでしょうか template<typename T> void copy_n( const T* from, int n, T* to, typename enable_if< is_pod<T> >::type* =0 ){/* 省略 */}
484 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 20:09:40 ] >>483 enable_ifやdisable_ifは、関数のオーバーロード解決のルールをトリッキーに使っている。 やりたいことを実現する方法はいくつかある。 たとえばこんな方法。 //false以外、すなわちtrueの場合に呼ばれる template < bool isPod > struct Count_impl { static void do() {/* 1 */} } ; //特殊化、falseの時に呼ばれる template < > struct Count_impl<false> { static void do() {/* 2 */} } ; template < typename T > void count(T array[]) { Count_impl<boost::is_pod<T>::value>::do() ; }