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


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

C++相談室 part78



1 名前:v(^・^)v mailto:sage [2010/02/13(土) 23:18:03 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part77
pc12.2ch.net/test/read.cgi/tech/1263556932/

666 名前:660 mailto:sage [2010/03/08(月) 12:52:05 ]
>>665
テンプレートと継承の組み合わせというのは考えられませんでした。
ありがとうございます。


667 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 13:41:10 ]
>>655-657
サンクスです
キャスト≒複製って知りませんでした
時期標準のソースをチラ見したところ標準もキャストはサポートされてなかったので、uniqueの方はキャスト諦めることにしました

668 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:54:42 ]
構造体のメンバ変数を一括で代入する方法ってないんですか?
例えば構造体Aの変数のメンバ変数を全て0にするとか…

669 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 16:26:02 ]
struct S { int a, b, c; double x, y, z; static S empty; };
S S::empty = { 0 };

S var;
var = S::empty;

670 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:44:32 ]
サンクス。クラス使わないとダメなんすか?

671 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:03:45 ]
pod作る関数を作ればいい。テンプレートで

672 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:05:33 ]
struct S { int a, b, c; double x, y, z;};
S a={0};
これで事足りるんじゃ

673 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:14:12 ]
>>672 それは代入じゃない。

674 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:17:26 ]
あーざっす



675 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:17:34 ]
初期化だ(キリッ

676 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:48:52 ]
>>659
const_cast<int *>(p)だろ
他のconstが必要なら後で付ければいい
何があかんのですか

677 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:22:05 ]
const const_iterator* it;
const_cast(it)

これはどうなるんだ?
const_iteratorはポインタかもしれないしクラスかもしれない

678 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:35:48 ]
const_iteratorがconst Type*だった場合、
itの型はconst Type *constでconst_castするとconst Type*になる。
そうでない場合、const_castするとconst_iteratorになる。ただそれだけの話。

679 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:43:53 ]
>>676
void const * const * const cpcpc = 0;
void ** pp = const_cast<void**>(cpcpc);
void const ** cpp = const_cast<void const**>(pp); // このcastはどうすんの?


680 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:54:34 ]
>>678
>itの型はconst Type *constでconst_castするとconst Type*になる。
なんでType*じゃないんだ?>>676と矛盾しない?

681 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 22:11:07 ]
std::complexのconj( )って何でメンバ関数ではなくグローバル関数なのですか?

682 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 22:15:54 ]
無闇にメンバ関数にするとprivateにアクセス出来てしまうから、
privateにアクセスする必要のない関数は
メンバでもfriendでもない関数にするのが良いって
偉い人が言ってた

683 名前:681 mailto:sage [2010/03/08(月) 22:28:24 ]
>>682
ありがとうございます。

もし自分がcomplex作ったら、conj( )をメンバ関数にして
privateなデータを変更してしまうように実装しそうなのですが
これは良くないんですかね?

684 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 22:34:42 ]
そもそも変更することがおかしいんじゃないかい。
メンバ変数にするにしてもconstにするべきだと思う。
共役複素数を求めるだけだよね?



685 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 22:42:05 ]
むしろその程度の軽い型なら不変型にしちゃった方が

686 名前:681 mailto:sage [2010/03/08(月) 23:02:53 ]
>>684
イメージ的にはこんな感じです。

myComplex<double> mc0(2,2); // 2+2i
mc0.conj( ); // 2-2i

グローバル関数にするとコピーが発生してしまうので
良くないのかなぁ、と思ったのですが。

687 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:14:08 ]
実測した訳じゃないが、
あまり効果なさそうな気はする。
コードを見やすくしたほうがいいんじゃないだろうか。

688 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:28:29 ]
なんで配列はイニシャライザリストで初期化出来ないんですか?

689 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:50:50 ]
C++0xにご期待ください

690 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 01:16:28 ]
>>679
const増やすのはstatic_castでもreinterpret_castでも出来る
お好きな方で

691 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 01:19:23 ]
>>690 キャスト無しで通っちゃうよ。

692 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 01:28:37 ]
>>676
void f(void const* a[]); // const 一個付け忘れてるけど変更できない外部ライブラリ
void f(void* a[]); // 同上、ただし非 const データを対象とするオーバーロード

// ここから自前のコード
void g(void const* const a[])
{
f(const_cast(a)); // 上のオーバーロードに渡したいのに下のほうにいっちゃう
}

こわくね?

693 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 02:23:22 ]
まあconst_cast使うなってのが基本だから
それを書きやすくするうえに他のキャストと違う形になる
省略記法なんて認められないと思われる

694 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:04:10 ]
>>690-691
うちのVC++2008EEではconst_castかC style castでないと通らないんだけど、
なんかおかしいのかな。



695 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:21:42 ]
どうせ<>書いてないとか

696 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:26:55 ]
通らない
ttp://codepad.org/d4Wo3ozT

697 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:48:53 ]
void ** const cpp = static_cast<void **>(pp);
えっ?

698 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:49:47 ]
>>696
それは、規格の文面によって、明示的に禁止されている。
4.4 Qualification conversions [conv.qual]

なぜできないのかというと、それを用いることによって、const性に穴が生じるから。
規格のサンプルコードを、適当にコメントを補って引用すると、

int main() {
const char c = ’c’;
char* pc;
const char** pcc = &pc; // 仮に、これが許可されているとする
*pcc = &c;// ppcを介して、pcを変更している。
*pc = ’C’; // pcはconstでもないのに、constなはずのcを参照出来ているので、変更できる。
}

つまり、constなppcを介して、非constなpcを変更できてしまうので、
pcが、明示的なキャストもなしに、constなオブジェクトを参照することが可能になってしまう。

699 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:57:03 ]
>>698
規格の参照までしていただいて、ありがとうございます。
参考になります。

ということで、これを踏まえて改めて>>679

700 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:57:31 ]
ubuntu の gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9)
環境で例外クラスの実装を見ようと思ったのですが
/usr/include/c++/4.4/stdexcept
に logic_error などの宣言はあるのに実装が書いてありません。
どのファイルを見たら良いでしょうか?

701 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:07:03 ]
const_castの話してるやつはコテ着けるか
婉曲表現と皮肉をやめて直接主張しろ
何人かいて訳が分からない

702 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:40:34 ]
はがす時は全はがしが楽じゃね?ってことが基点となっていると思うので

void const * const * const cpcpc = 0;
void ** pp = const_cast<>(cpcpc); // 全はがし
void const ** cpp = const_cast<void const**>(pp); // つける時は書く
// void const ** cpp = const_cast<void const**>(cpcpc); // 一部はがしのときもこれまで同様書ける

というのを望んでんのかも

703 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:06:33 ]
がんばれ
658 :デフォルトの名無しさん :2010/03/08(月) 07:36:01
const_cast ってconstはずしだから <> の中に型書くの無駄だなぁって思ってしまう。
const int* からconstとったら int* に決まってんじゃん、と。

704 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:09:06 ]
constの話で盛り上ってるからついでに聞きたいんだけど

struct X {
int *p;

void test(int x) const
{
*p = x;
}
};

こう書くとconst指定してるのにオブジェクトの内容が変化してる
これって合法なの?




705 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:14:13 ]
>>704
Xのオブジェクトはpであることを思い出せ。
pはint*型だから「int型の値のあるメモリの位置」を指している。
*p = xは「pの指している先のint型の値に対する副作用」であって「pに対する副作用」ではない。

706 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:34:24 ]
pは宝の地図
*pは宝の中身
Xのメンバはpつまり宝の地図
だからtest(int x) constとは宝の地図を書き換えちゃいけないってこと
*p = xは宝の中身を入れ替えているだけ

707 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:39:05 ]
中々面白い例え方をするな。

708 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:54:36 ]
**pは宝の地図の在り処を書いた地図か。判りやすいね。

709 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:57:01 ]
ゲームのお使いクエストだな。
そのお宝の例えは俺は結構好きだな。

710 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:19:18 ]
へー、いい表現じゃん

711 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:23:11 ]
サンクス
正常な動作だったのね

712 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 17:43:29 ]
new intは新しく宝を作るが、この式自体は新しく作られた宝のありかを示す地図を返す。
new int*は宝の地図を新しく作りその地図のありかを返す式だが、新しく作られた宝の地図には宝のありかは書いてない。
難しいな。

713 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 19:38:02 ]
new int*なんてあんの? あるなら知らなかった。

714 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 19:44:58 ]
型なら何でもnew出来るだろ



715 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 19:46:35 ]
関数型もできるっけ?
関数ポインタじゃなくて。

716 名前:706 mailto:sage [2010/03/09(火) 21:01:33 ]
何の気無しに書いたんで、反応あって驚いてる。
>>706は、一番最初にポインタを勉強する時に俺が(たまたま)イメージしたもので、
今にして思うと、地図という「質量を持った物体」でポインタを喩えたのが好都合だった気がする。
たまたまそういうイメージをしたお陰で、ポインタもまた「そういう値」である、って所で
まったく混乱せずに済んだ。>>708が言うように、ポインタのポインタも
「勇者は宝箱を開けた。なんと宝の地図を見つけた!」ということだと考えれば楽だったし。

717 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 22:24:46 ]
C++は勉強するほど自信がなくなっていくな・・・boostマジキチ

718 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 23:10:15 ]
>>716
初心者には分かりやすい言い例えだね。
俺もそれ使わせてもらいます。


719 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 23:24:34 ]
住所とか例えるより絶対わかりやすい。

720 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 23:30:25 ]
>「勇者は宝箱を開けた。なんと宝の地図を見つけた!」

あるあるw

721 名前:デフォルトの名無しさん [2010/03/09(火) 23:38:31 ]
ポインタを宝箱に例えるなら、中身の種類は開ける前から判っているんだが

722 名前:デフォルトの名無しさん [2010/03/09(火) 23:38:54 ]
s/宝箱/宝箱の地図/

723 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:06:18 ]
で?

724 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:35:08 ]
ヌルポインタはミミックだな
開けると死ぬ



725 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:44:47 ]
住所にたとえるのと変わらんと思うがね

726 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:46:21 ]
ていうか別に喩えなくても分かるから

727 名前:デフォルトの名無しさん [2010/03/10(水) 01:46:56 ]
ミミックは固定ボスだから、地図が読めない奴が初見殺しされるだけだろ

728 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 04:46:42 ]
minorという変数がプログラム中にありますが、
cstdlibをインクルードしたら以下のようなエラーが出るようになりました。

error: macro "minor" passed 2 arguments, but takes just 1

これは単純に、minorという変数名を使うな、という解釈でよいでしょうか?

729 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 04:58:04 ]
>>728
どう読んだらそんな解釈になるんだよ。

そのエラーが再現する最小ソースを作ってみれ。

730 名前:728 mailto:sage [2010/03/10(水) 05:25:53 ]
>>729
言葉足らずでした。

上記のエラーは、
ctdlib の中(もしくはcstdlibがインクルードしているファイルの中)に
引数を1つとるminorというマクロ(?)があるから、
引数が2つある自作クラスのオブジェクト名をminorにしてはいけない
ということでしょうか?

以下ソース

#include <cstdlib>

class Hoge
{
 public:
  Hoge( int i, int j ){ }
};


int main(int argc, char* argv[])
{
 Hoge minor(1,1);

 return 0;
}


731 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 05:36:58 ]
>>730
別に言葉足らずじゃない。>>729が寝ぼけてるだけ。
環境によってはsys/types.hにminorマクロがあるので使わない方がいい。

732 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 05:43:19 ]
>>731
ありがとうございます。

733 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 05:56:50 ]
>>730
手元の Cygwin g++ 4.3.4 では何事もなくコンパイルが通ったよ。

ちなみに >728 の環境(OS、コンパイラ、そのバージョン)は何?

734 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 06:01:57 ]
>>731
cstdlib のインクルードでユーザーが使える名前がマクロ定義されてるのは
コンパイラのバグ(標準違反)だと言ってしまっていいと思うんだけど、そういう
予防しとかないといけないものなの?どっかの環境での常識?



735 名前:728 mailto:sage [2010/03/10(水) 06:04:13 ]
>>733
Ubuntu 9.10
gcc version 4.4.1

です。

gcc -v の内容全部貼ると
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--with-pkgversion='Ubuntu 4.4.1-4ubuntu9'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4
--enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9)

736 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 06:14:04 ]
-std=c++98 とかすれば逃げれたりするんじゃないかなー。
まぁ #undef すりゃいいんだけどね。

737 名前:728 mailto:sage [2010/03/10(水) 06:35:01 ]
以下のソースコードコンパイルすると

#include <cstdlib>

void minor( int i, int j )
{
}

int main(int argc, char* argv[])
{
 return 0;
}


test.cpp:5:26: error: macro "minor" passed 2 arguments, but takes just 1
test.cpp:5: error: variable or field ‘minor’ declared void
test.cpp:5: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x

というerrorと、warningが出ます。
>>730のソースコードではwarning出ませんでした。

738 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 09:54:54 ]
functionってすげいな
ソース眺めるだけで勉強になる

739 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 17:43:07 ]
struct A;
struct B{A a;};
struct A{int a;};
int main(){return 0;}

前方宣言したら、後で定義してれば
使えると思ってたんですが
これがエラーになります
Bの中をA* aにするとエラーが消えるのですが
その辺に理由があるんでしょうか?

740 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 17:53:13 ]
ちょっと実験してみたところ、前方宣言って思ったほど強くない?んですね
Aのデータは定義されるまでは全く参照出来ないのか

struct A;
struct B{void f(A *a){}}; //セーフ
//struct B{void f(A& a){}}; //セーフ
//struct B{void f(A a){}}; //アウト
//struct B{void f(A& a){a.a;}}; //アウト
//struct B{void f(A* a){a->a;}}; //アウト
struct A{int a;};
int main(){return 0;}

741 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 18:01:37 ]
サイズがわかってるかどうかで判断できるよ

742 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:10:29 ]
なるほど、セーフなのはアドレスですもんね
ありがとうございました

743 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:23:35 ]
>>738
しかしそんなソースを仕事で書いたら
同僚に白い目で見られそうだww

744 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:40:04 ]
すみません
vectorのresizeでサイズを大きくした時に
拡張した結果メモリの再配置が起こったとすると
resizeする前のデータはコピーされるのでしょうか?



745 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:42:12 ]
ざれます

746 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:43:10 ]
>>744
www.fides.dti.ne.jp/~oka-t/cpplab-vector-new.html

747 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:43:18 ]
ありがとうございます><.

748 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:56:34 ]
クラスを使ってプログラミングする場合、main関数はどのように使用すればいいのでしょうか?

749 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:59:17 ]
普通に使用すればいいです

Javaみたいにどっかのクラスのstatic関数にする必要はなし、というか無理

750 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 01:51:16 ]
オペレータオーバーロードの ->* って、どう定義してどう使うんですか?
ググール先生に聞こうと思ったんだけど記号検索できませんでした

751 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 01:55:22 ]
ttp://homepage2.nifty.com/well/Operator.html#arrow_ast

752 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:06:36 ]
結合力最強の二項演算子なので
マクロとかで細工するときに便利なこともあります

753 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:24:57 ]
>>751
どうもです
しかしなんだこれって感じですね
ポインタエミュレートのために
(myp_hoge->*(&MyPtr<hoge>::Func))(a, b, c);
といった形で使いたいんですが、定義の仕方が分からないです(->なら簡単なんですが・・・)

>>752
そういう特殊な使い方ってよく思いつくもんですよね

754 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 03:03:47 ]
>>748
徹底したクラス指向で行くならこの程度のものになる。
int main()
{
 MainClass m;
 return m.main();
}



755 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:20:39 ]
int main()
{
 return MainClass()();
}
徹底するならこうだろーと思った俺はそろそろ寝るべきか

756 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:51:32 ]
operator RESULT(); //用意するだろ普通

757 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:29:37 ]
throwでint投げると問題があるようなことを聞いたのですが、
どんな問題があるんでしょうか?
ポインタでキャッチしてしまうとか?

758 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:33:36 ]
受け取る方はみんなstd::exceptionを継承してて欲しいなーって思ってるから

759 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:44:47 ]
なるほど。よくわかりました。

760 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:01:56 ]
istringstream の putback って何回でも呼んでおk?

761 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:28:31 ]
boost::functionとstd::functionって混在しても問題ありませんか?
それともどちらか一方にすべきでしょうか?

762 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:54:55 ]
混在させたこと無いからわからんけど、大丈夫じゃね?
どっちも最終的にはただの関数オブジェクトになるわけだから
boostのほうにstdのfunctionを代入することも逆もできるはず
名前は名前空間があるからかぶるわけないし

763 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:54:37 ]
ABI互換性は?

764 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:03:33 ]
混在といっても、ひとつのコンパイラでコンパイルするんだからABI関係なくね?




765 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:15:46 ]
namespace boost = std ;

766 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:28:03 ]
ありがとうございます。
今のところはboostが使えるならboostが無難かと
思うのでboostにします。







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

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

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