[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 01/28 12:10 / Filesize : 175 KB / Number-of Response : 739
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Boostを語れゴラァ part3



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() ;
}






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<175KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef