■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
C++相談室 part37
751
名前:
デフォルトの名無しさん
:04/11/24 01:04:10
コンストラクタとデストラクタを通常の関数と同じように考えてはいかんということでしょ
752
名前:
デフォルトの名無しさん
:04/11/24 04:44:19
質問です。
ワケあって、int,float,double,boolなど、型の異なる要素の入り混じった
リスト(配列でもいいです)を実現したいのですが(・∀・)イイ!!方法はないでしょうか。
初めポリモフィズムを試したのですが、自分がやりたい事と微妙に違っていましたし、
力技でこの構造を実現しようとすると、どんどん構造やUIがブサイクになっていってしまいますた。
753
名前:
デフォルトの名無しさん
:04/11/24 04:49:17
>>752
union
754
名前:
デフォルトの名無しさん
:04/11/24 04:55:52
boost::any
755
名前:
デフォルトの名無しさん
:04/11/24 05:03:37
どちらにせよ取り出すときに型情報の指定が必要になる罠
756
名前:
デフォルトの名無しさん
:04/11/24 07:07:36
>>755
C++を使う以上、どうしようもないよね。
757
名前:
デフォルトの名無しさん
:04/11/24 07:50:31
( ´,_ゝ`)プッ
曖昧さがもたらす混乱と決別する気はないのかよ、お前ら。
758
名前:
デフォルトの名無しさん
:04/11/24 07:55:25
要素数と順番が固定なら、boost::tupleも使えるかもね。
759
名前:
デフォルトの名無しさん
:04/11/24 08:09:42
Ruby最強と言うことでファイナルアンサー?
760
名前:
デフォルトの名無しさん
:04/11/24 09:31:50
類の要員函數を静的にせずに呼び返し函數の引数として
与えるにはどうしたらいいの?
761
名前:
デフォルトの名無しさん
:04/11/24 09:49:59
>>760
氏ね
762
名前:
デフォルトの名無しさん
:04/11/24 10:30:46
->より-+>の方がかっこよくね?
763
名前:
デフォルトの名無しさん
:04/11/24 12:14:57
->より-|>の方がかっこよくね?
764
名前:
デフォルトの名無しさん
:04/11/24 12:16:11
->より→の方がかっこよくね?
765
名前:
デフォルトの名無しさん
:04/11/24 12:28:22
-> より ☞ の方がかっこよくね?
766
名前:
デフォルトの名無しさん
:04/11/24 14:00:29
APL っぽくなってまいりました。
767
名前:
デフォルトの名無しさん
:04/11/24 17:01:42
なぜそれでUIがブサイクになるのか教えてくれ。
768
名前:
デフォルトの名無しさん
:04/11/24 17:03:34
C++の規格書の新しい奴は丁寧なつくりのPDFになっているでしょうか?
目次やリンクが張られたものになっているのでしょうか?
14882(1998)みたいに雑なつくりなら買いたくないので。
769
名前:
デフォルトの名無しさん
:04/11/24 17:33:00
>>768
雑。
770
名前:
デフォルトの名無しさん
:04/11/24 18:28:29
>>752
boost::variant
>>760
呼び返し函数の仕様による。
771
名前:
デフォルトの名無しさん
:04/11/24 18:57:55
int a = 0;
int a(0);
どうちがうんですか?
772
名前:
デフォルトの名無しさん
:04/11/24 19:00:41
違わない。
773
名前:
デフォルトの名無しさん
:04/11/24 19:04:58
>>771
もう一つこういう書き方もOKらしい。
int a = int(0);
774
名前:
デフォルトの名無しさん
:04/11/24 19:15:48
std::random_shuffleを要素が二つのものに対して行うと必ず入れ替わるのですが、
入れ替わることもあれば入れ替わらないこともあって欲しい場合にはどうすればいいのですか?
775
名前:
デフォルトの名無しさん
:04/11/24 19:48:24
>>772-773
わかりました。
776
名前:
デフォルトの名無しさん
:04/11/24 19:51:54
random_shuffleをrand()回繰り返す
777
名前:
デフォルトの名無しさん
:04/11/24 20:03:59
>>776
いや〜ん。素晴らしい!
my_random_shuffle書いてたけどそれにします
778
名前:
デフォルトの名無しさん
:04/11/24 20:22:02
>>774
初めて知った。
全然ランダムになっとらんやん。
779
名前:
デフォルトの名無しさん
:04/11/24 20:25:22
その代わりランバダになってるよ。
780
名前:
デフォルトの名無しさん
:04/11/24 20:27:26
じゃあ俺ガンダムになる。
781
名前:
デフォルトの名無しさん
:04/11/24 20:41:00
>>774
rand()の戻り値の最下位ビット判定でswap()するかどうか決めるんじゃ駄目なのか?
782
名前:
デフォルトの名無しさん
:04/11/24 20:47:02
>>781
rand()が最下位ビットが0と1交互に出てくる乱数の場合もあるだろ…
783
名前:
デフォルトの名無しさん
:04/11/24 21:22:24
VC++のヘルプ曰く、
「範囲 [1, last - first) 内の各 N に対して swap(*(first + N), *(first + M)) を 1 回評価します。M は、範囲 [0, N) 全体に対する一様乱分布の値とします。つまり、関数はシーケンス内の要素の順序をランダムにシャッフルします。」
なんで、要素数2なら確実に毎回交換されるだろうな。
784
名前:
デフォルトの名無しさん
:04/11/24 21:38:30
相談なんですが 別アプリのソフトのコンボボックスのメッセージを
フックしてメモ帳に書き込むことは可能ですか?
良ければサンプルソースなどお願いします。
785
名前:
デフォルトの名無しさん
:04/11/24 21:40:18
>random_shuffle
ごくふつーにライブラリのバグじゃん
やること決まってるし・・・
786
名前:
デフォルトの名無しさん
:04/11/24 21:55:51
>>782
初めて聞いた。
早速ですが具体例を挙げてください。
OS名・コンパイラ名・srand()の乱数種の数値を添えてください。
できればコンパイルオプションも添えてもらいたいです。
みんな興味を持ってると思うので後学のために是非書いてください。
お願いしますよ
>>782
さん、期待してますんで。
787
名前:
デフォルトの名無しさん
:04/11/24 22:15:27
昔のrand()で32bit(31bit?)ぐらいの精度の時の乱数は0と1が交互にでてきったとか・・・聞いたことがある
漏れの記憶でのお話です
788
名前:
787
:04/11/24 22:16:15
私は782じゃありません
789
名前:
デフォルトの名無しさん
:04/11/24 22:17:00
それってrand()の下位ビットの周期が短いって話と混同してないか?
790
名前:
デフォルトの名無しさん
:04/11/24 22:22:56
>>786
俺は782じゃないが、自分でググれ。
791
名前:
デフォルトの名無しさん
:04/11/24 22:25:04
>>789
処理系によってはマジでそういうのがあるのよ。
792
名前:
デフォルトの名無しさん
:04/11/24 22:28:23
そこでムェルセンヌツィスタァですよ
793
名前:
デフォルトの名無しさん
:04/11/24 22:32:30
>>792
それ、メモリ喰い過ぎ
794
名前:
デフォルトの名無しさん
:04/11/24 22:34:53
手軽な乱数ルーチンって何があるの?
795
名前:
デフォルトの名無しさん
:04/11/24 22:36:11
>>794
rand()
796
名前:
デフォルトの名無しさん
:04/11/24 22:56:18
>>795
rand()が最下位ビットが0と1交互に出てくる乱数の場合もあるだろ…
797
名前:
デフォルトの名無しさん
:04/11/24 22:59:37
>>796
それってrand()の下位ビットの周期が短いって話と混同してないか?
798
名前:
デフォルトの名無しさん
:04/11/24 23:06:55
ユニコードでの文字処理に関してなのですが、
VC6で_MBCSを削除し_UNICODEとUNICODEを追加してユニコード対応にしました。
LPTSTR a;
_tcscpy(a, _T("ハロー"));
このコードがビルドは通るのですが、実行するとエラーになるのです。エラー個所は_tcscpyが展開された
wchar_t * __cdecl wcscpy(wchar_t * dst, const wchar_t * src)
{
wchar_t * cp = dst;
while( *cp++ = *src++ )
; /* Copy src over dst */
return( dst );
}
のwhile文で起こっています。どこが間違っているのか教えていただけるでしょうか。
799
名前:
デフォルトの名無しさん
:04/11/24 23:08:51
LPTSTRは実質wchar_t*なわけだが。で、ポインタaはどこを指してるんだ?
800
名前:
デフォルトの名無しさん
:04/11/24 23:13:30
>>799
初めて聞いた。
早速ですが具体例を挙げてください。
OS名・コンパイラ名・srand()の乱数種の数値を添えてください。
できればコンパイルオプションも添えてもらいたいです。
みんな興味を持ってると思うので後学のために是非書いてください。
お願いしますよ
>>799
さん、期待してますんで。
801
名前:
デフォルトの名無しさん
:04/11/24 23:14:17
copipe uzai
802
名前:
デフォルトの名無しさん
:04/11/24 23:15:43
思うんだが、
>>786
って、なんというか、小学生がよく言う、
「何年何月何日何分何秒に!?」ってやつと同じ匂いがするよな。
803
名前:
デフォルトの名無しさん
:04/11/24 23:15:57
>>801
そーゆー方面の文句ある奴は煽ってねえで削除板池
礼儀を諭しているつもりか知らんが自分が反則してることに気付よ早く
804
名前:
気付よ
:04/11/24 23:16:39
気付よ
805
名前:
デフォルトの名無しさん
:04/11/24 23:17:04
ハァ????
806
名前:
デフォルトの名無しさん
:04/11/24 23:19:23
ああ機能の人格障害君か
・・・放置
807
名前:
デフォルトの名無しさん
:04/11/24 23:19:23
メモリを初期化する関数でmemsetってありますよね。
現場のコーディングルールで、構造体を使う時は、必ずmemsetで初期化しなさいと言われたので、
「なんで?」って聞いたら、「常識だろ?」って怒られちった・・・。
常識のない私に理由を教えてくれる人がいるとすごくうれしいです。
808
名前:
デフォルトの名無しさん
:04/11/24 23:20:44
>>807
非常識はコーディングルールにゴネたこと
809
名前:
デフォルトの名無しさん
:04/11/24 23:21:55
>>807
ああ、それは馬鹿がやることだ。
810
名前:
デフォルトの名無しさん
:04/11/24 23:23:13
C++ならコンストラクタで初期化すりゃいいのに。
811
名前:
デフォルトの名無しさん
:04/11/24 23:24:31
>>809
そういえばstaticも馬鹿だな
812
名前:
デフォルトの名無しさん
:04/11/24 23:29:35
構造体の初期化なら={0};じゃないのか。
813
名前:
デフォルトの名無しさん
:04/11/24 23:32:05
>>807
理由はこうだ。
int *a = new int
*a = 123;
delete a;
int *b = new int
cout << *b << endl;
ってやると、bが123として表示される。
つまり、単にゴミデータが残るのならまぁ許すとして、前にnewしたときに
設定したデータが、後でゴミとして残ってしまう。
このようなリスペクトなバグは排除したほうがよい。
ちなみに、問題なのはヒープ領域であって、スタック領域だと、自動的に初期化してくれるので問題なし!
814
名前:
デフォルトの名無しさん
:04/11/24 23:42:23
new String と new String() の意味は同じであるが、
クラスではなく int などのスカラー型の場合、標準の5.3.4節では
前者の形式では割り当てられたオブジェクトの値は不定になり、
後者の形式ではメモリは0で初期化されるということを明記している
C++プログラミングの処方箋より抜粋
つまり int *b = new int(); とすればmemsetなどは必要なし?
815
名前:
デフォルトの名無しさん
:04/11/24 23:43:06
>>802
小学生呼ばわりでも全然構わない。
お前が実例・具体例を挙げれば全て解決する。
処理系がある、だけではわからん。
rand()で奇数と偶数が交互に返される実装があるんだろ?
ライブラリの名前だけでも書けよ、礼儀として。
816
名前:
デフォルトの名無しさん
:04/11/24 23:48:53
>>802
小学生呼ばわりでも全然構わない。
お前が実例・具体例を挙げれば全て解決する。
処理系がある、だけではわからん。
rand()で奇数と偶数が交互に返される実装があるんだろ?
ライブラリの名前だけでも書けよ、礼儀として。
817
名前:
デフォルトの名無しさん
:04/11/24 23:49:21
>>802
小学生呼ばわりでも全然構わない。
お前が実例・具体例を挙げれば全て解決する。
処理系がある、だけではわからん。
rand()で奇数と偶数が交互に返される実装があるんだろ?
ライブラリの名前だけでも書けよ、礼儀として。
818
名前:
デフォルトの名無しさん
:04/11/24 23:50:00
>>802
小学生呼ばわりでも全然構わない。
お前が実例・具体例を挙げれば全て解決する。
処理系がある、だけではわからん。
rand()で奇数と偶数が交互に返される実装があるんだろ?
ライブラリの名前だけでも書けよ、礼儀として。
819
名前:
デフォルトの名無しさん
:04/11/24 23:50:48
池沼
820
名前:
デフォルトの名無しさん
:04/11/24 23:53:43
また出たよ母親に問題あるやつ
821
名前:
デフォルトの名無しさん
:04/11/24 23:54:01
>>815
お前も人に聞く前に少しくらいググれよ、礼儀として。
822
名前:
デフォルトの名無しさん
:04/11/24 23:54:22
あ、そーなのー・・・ぐらいで軽く流せないのかね
会社で相当いじめられてるのは同情するけどさ
823
名前:
デフォルトの名無しさん
:04/11/24 23:54:45
Ruby最強!
824
名前:
デフォルトの名無しさん
:04/11/24 23:55:49
よっぽど悔しかったんだね
825
名前:
815
:04/11/24 23:57:13
>>816-818
コピペは止めてもらえないだろうか。こちらは真面目に質問している。
具体例を挙げるべき人が荒らしているのかもしれないが、
そんな暇があったら名前を挙げてくれればよいのに。実に簡単なことだろ?
826
名前:
デフォルトの名無しさん
:04/11/24 23:58:36
恥ずかしい香具師とはいっしょにいたくないよね。
仲間と思われたくないし。
827
名前:
デフォルトの名無しさん
:04/11/25 00:05:37
>>797
俺だったら、これが真実だとしても全然問題ないと思うんだが
828
名前:
デフォルトの名無しさん
:04/11/25 00:06:02
検索すらろくに出来ないような低脳じゃ同僚に冷たくあしらわれても仕方ないわな
しかしその憂さ晴らしをここでするのは勘弁してもらいたいな
829
名前:
デフォルトの名無しさん
:04/11/25 00:07:18
同僚がでてきたぞw
830
名前:
デフォルトの名無しさん
:04/11/25 00:12:36
>>825
本当に真面目に訊いてんだったらちょっとでいいからググってみれ。
それで本当に見つけれないんだったらお前、プログラマとしてちょっとヤバイぞ。
831
名前:
デフォルトの名無しさん
:04/11/25 00:14:28
ここは質問するためのスレじゃないの?
検索しろで済ますのならスレ自体いらんでしょ。
832
名前:
デフォルトの名無しさん
:04/11/25 00:14:53
デフォルトコンストラクタって0で初期化してくれなかったっけ?
833
名前:
デフォルトの名無しさん
:04/11/25 00:19:33
MacOS X & ProjectBuilder & SDLでLifeゲームを作ってたんだけどどうもおかしい。
Win2000 & BCC32の時にうまく動いてたコードをそのままコンパイルしたんだけど縞々模様が出たまま動かない。
初期化するときに(rand() % 2)を使ってるんだけど良く見てみるとrand()が奇数と偶数を交互に返してる(ぉぃぉぃ。
srand()以外になんか準備がいるんすかぁ?
834
名前:
デフォルトの名無しさん
:04/11/25 00:20:45
UNIX の /usr/ucb/cc、gcc、g++を解析した結果、 rand( ) は以下の動作をすることがわかった。
static long x=1;
void srand(unsigned s) { x=s; }
long rand() { x=x*1103515245+12345; return x&2147483647; }
これは、非常にシンプルな線形合同法である。この乱数の最下位ビットは0と1の繰り返しになる。
すなわち、偶数と奇数が交互に生成される。このことから、この乱数で下位ビットを乱数として使うのは危険であることがわかる。
また、ある乱数が得られたら、次に現れる乱数が1種類しかないという欠点も持つ。
835
名前:
デフォルトの名無しさん
:04/11/25 00:22:07
>>831
まったくだ
何かディープに勘違いしてる「回答者」には困ったものだな
836
名前:
デフォルトの名無しさん
:04/11/25 00:22:42
あーあツマンネ
837
名前:
デフォルトの名無しさん
:04/11/25 00:23:15
おこんばんは、お願いいたします。
ステップ実行時、「ほにゃららDllが見つかりません」と言われます。
とあるexeから、自分の作っているdllを呼ぶ処理です。
プロジェクトの「設定」で、とあるexeを指定して、
そのexeでファイル選択をすると、
自分のdllのソースのブレークポイントで止まってくれる予定なのですが。。。
プロジェクトの「設定」のどこかに、
関連するdllを列挙する必要って、ありましたっけ?
何が設定不足なのでしょうか?
よろしくお願いいたします。
838
名前:
デフォルトの名無しさん
:04/11/25 00:24:27
そうだ、このスレはそもそも必要なかったのだ。
我々はぁぁ!
この(類の)スレのぉぉ!
永久停止を要求するぅぅ!
839
名前:
デフォルトの名無しさん
:04/11/25 00:28:20
Rubyで全部解決すると言っておろうが!
840
名前:
815
:04/11/25 00:28:40
>>833-834
降参します。orz
841
名前:
デフォルトの名無しさん
:04/11/25 00:34:09
>>837
スレ違い。自分が使用している開発環境の専用スレに逝け。
842
名前:
デフォルトの名無しさん
:04/11/25 00:35:23
>>831
,
>>835
検索しても簡単にわからんことなら仕方がないが、
検索すればすぐに分かるようなことを検索するように勧めても
尚、検索しようともしない馬鹿の言い訳にはならない。
843
名前:
デフォルトの名無しさん
:04/11/25 00:37:31
まさか本当に検索できなかったわけじゃないよな?
844
名前:
デフォルトの名無しさん
:04/11/25 00:40:26
水に落ちた犬は(ry かよ。お前らも容赦ないなwwwwwwwwwwwww
845
名前:
デフォルトの名無しさん
:04/11/25 00:41:17
福祉施設職員を少しは見習ってもらいたいものだ。
846
名前:
デフォルトの名無しさん
:04/11/25 00:44:02
>>842
キーワードでも示してやったら? 「回答者」さん
847
名前:
デフォルトの名無しさん
:04/11/25 00:45:29
"rand 偶数 奇数 交互"
848
名前:
デフォルトの名無しさん
:04/11/25 00:46:05
まさかキーワードが思い浮かばなかったわけじゃないよな?
849
名前:
デフォルトの名無しさん
:04/11/25 00:46:35
すんません。三行三列と三行二列の行列の積を求める書き方教えてください。
めんどくさかったら軽いヒントでもいいんで
ちなみに初期数値は与えられてます。forを使うみたいですがいまいち・・・
850
名前:
デフォルトの名無しさん
:04/11/25 00:46:58
まさか検索エンジンが思い浮かばなかったわけじゃないよな?
851
名前:
デフォルトの名無しさん
:04/11/25 00:47:11
テンプレにgoogleのURLが必要なのだろうかw
852
名前:
デフォルトの名無しさん
:04/11/25 00:48:27
>>849
数学板逝け
853
名前:
デフォルトの名無しさん
:04/11/25 00:49:32
>>849
教科書嫁
854
名前:
デフォルトの名無しさん
:04/11/25 00:49:52
>>848
まさか答えがわからなかったわけじゃないよな? 「回答者」さん
855
名前:
デフォルトの名無しさん
:04/11/25 00:52:38
|abc||pq|
|def||rs|=ap+br+ct+dp+...+fs+iu
|ghi||tu|
856
名前:
デフォルトの名無しさん
:04/11/25 00:52:49
>>844
水に落ちた犬は・・・の続きは何?
「水に落ちた犬を打つ」があるけど、それとは違うっぽいのでググッたほうがいいのかな。
857
名前:
デフォルトの名無しさん
:04/11/25 00:53:43
Linux&g++でシステムコールを使う時について質問します。
gccで.h等をインクルード無しで使えていたread(,,)等のシステムコールがImplisitエラーを出します。
g++になってシステムコールの使用法に変化があるのでしょうか?
858
名前:
デフォルトの名無しさん
:04/11/25 00:54:39
このスレはC++相談室なわけだが・・・
859
名前:
デフォルトの名無しさん
:04/11/25 00:55:12
Implisitってなんですか
860
名前:
デフォルトの名無しさん
:04/11/25 00:55:24
>>848
実際、そういう人もいるよ。
多分、
>>846
もそういう人なんだろ。
861
名前:
デフォルトの名無しさん
:04/11/25 00:55:55
C++の仕様が原因かどうかを論じるならスレタイ合致だな
862
名前:
デフォルトの名無しさん
:04/11/25 00:57:55
>>857
man readして必要なヘッダをインクルードしろ。C++では宣言無しでは関数は使えない。
863
名前:
デフォルトの名無しさん
:04/11/25 01:00:53
>>862
だったらコンパイルエラーのはずだ
857 を読む限り実行時の障害のように聞こえる
864
名前:
デフォルトの名無しさん
:04/11/25 01:03:13
おいおいおいおいいおいおいおいおい
865
名前:
デフォルトの名無しさん
:04/11/25 01:05:32
>>864
コンパイルエラーのメッセージテキストには implicit なる語は出てこないだろ
866
名前:
デフォルトの名無しさん
:04/11/25 01:07:05
>>865
出るよ
867
名前:
デフォルトの名無しさん
:04/11/25 01:14:04
implicit declaration of function です。
コンパイルエラーです。
文字と
>>862
さんから推察するとgccでは暗黙の宣言として使っていたのが
g++では使えなくなったということですね。
方法を探してみます。ありがとう御座いました。
868
名前:
デフォルトの名無しさん
:04/11/25 01:14:38
$ g++ test01.cpp
test01.cpp: In function `int main()':
test01.cpp:3: error: `read' undeclared (first use this function)
test01.cpp:3: error: (Each undeclared identifier is reported only once for each
function it appears in.)
869
名前:
デフォルトの名無しさん
:04/11/25 01:17:17
>>867
g++というよりc++でだよ
870
名前:
デフォルトの名無しさん
:04/11/25 01:53:46
>>869
これはすいませんでした。仕様を間違えてはいけませんね。
#include <unistd.h> が必要でした。
皆さんありがとう御座いました。
871
名前:
デフォルトの名無しさん
:04/11/25 06:12:47
std::string が空文字列で初期化されることって保証されてるんですか?
872
名前:
デフォルトの名無しさん
:04/11/25 06:30:46
std::listってクイックソート出来ないんですか?
std::sortは使えないし
873
名前:
デフォルトの名無しさん
:04/11/25 06:36:20
>>872
std::list::sort()ってメンバ関数はマージソート(安定ソート)だがなかなか速い。
O記法によるオーダもO(NlogN)でクイック・ソートと同じだし。但し平均的な
コンピュータのアーキテクチャではクイック・ソートの1/2程度の速度になる。
874
名前:
782
:04/11/25 07:50:32
uwaaaaヽ(`Д´)ノaaaan
875
名前:
デフォルトの名無しさん
:04/11/25 10:27:04
こういうのって、foo が先に初期化されるのか、
Base が先に初期化されるのか、どちらでしょうか?
class Hoge : Base {
Foo foo;
public:
Hoge(void) : foo(100), Base(&foo) {}
};
876
名前:
デフォルトの名無しさん
:04/11/25 10:31:33
>>875
FooとBaseのコンストラクタにプローブ入れて試せば?
877
名前:
デフォルトの名無しさん
:04/11/25 10:31:56
>>875
コンストラクタ
ベース→メンバ(宣言した順)→自身
デストラクタ
自身→メンバ(宣言と逆順)→基底
878
名前:
デフォルトの名無しさん
:04/11/25 10:35:42
じゃぁ、Base で Foo の関数を呼び出すことはできないのですね。
それは不便ですねぇ。。。
879
名前:
デフォルトの名無しさん
:04/11/25 10:40:47
Baseの初期化にFooが必要なら、BaseにFooを持たせてしまえば?
880
名前:
デフォルトの名無しさん
:04/11/25 10:44:02
いえ、Foo は FooBase を継承するクラスで、
Base のコンストラクタは FooBase* なら何でもとるのです。
Base のコンストラクタで FooBase の関数を呼び出したいのです。
881
名前:
デフォルトの名無しさん
:04/11/25 11:09:50
>>880
設計見直せ
882
名前:
デフォルトの名無しさん
:04/11/25 11:18:07
>>881
ありがとう。見直してみます。
だけど、C++ ってここらへんがぎこちないですね。
初期化リストの記述順に初期化してくれればいいのに。。。
883
名前:
デフォルトの名無しさん
:04/11/25 11:21:53
>>882
よく考えろボケ
884
名前:
デフォルトの名無しさん
:04/11/25 11:36:55
君の頭の方がぎこちないです。
885
名前:
デフォルトの名無しさん
:04/11/25 12:01:32
C++のぎこちなさが嫌だったらさっさと他の言語に乗り換えて下さいです。。
886
名前:
デフォルトの名無しさん
:04/11/25 12:06:14
ひろゆきキター
887
名前:
デフォルトの名無しさん
:04/11/25 12:30:59
??
888
名前:
デフォルトの名無しさん
:04/11/25 14:23:54
キャッシュを行うクラスを作ろうと思います。
// int から int への関数のキャッシュを行うクラス。
class Cache {
public:
typedef int (*Func)(int n);
private:
map<int,int> _map;
Func _func;
public:
Cache(Func func) : _func(func) {}
int Get(int n)
{
int result;
map<int,int>::const_iterator it = _map.find(n);
if (it == _map.end()) {
result = _func(n);
_map.insert(map<int,int>::value_type(n, result));
}
else {
result = (*it).second;
}
return result;
}
};
889
名前:
デフォルトの名無しさん
:04/11/25 14:24:45
class SomeFunc {
private:
Cache _cache;
static int Plus1(int n) { return n + 1; }
public:
SomeFunc(void) : _cache(Plus1)
{}
int Get(int n)
{
return _cache.Get(n);
}
};
890
名前:
デフォルトの名無しさん
:04/11/25 14:26:07
この Func を C 関数や静的関数ではなく、
メンバ関数とするにはどうしたらよいでしょうか?
よろしくお願いします。
891
名前:
デフォルトの名無しさん
:04/11/25 14:53:35
boostのfunction&bindかな
892
名前:
デフォルトの名無しさん
:04/11/25 14:55:06
>>890
template <typename T>
class Cache {
public:
typedef int (T::*Func)(int);
private:
map<int,int> _map;
T *obj_;
Func _func;
public:
Cache(T *obj, Func func) : obj_ (obj), _func(func) {}
int Get(int n) {
int result;
map<int,int>::const_iterator it = _map.find(n);
if (it == _map.end()) {
result = (obj_->*_func)(n);
_map.insert(map<int,int>::value_type(n, result));
} else {
result = (*it).second;
}
return result;
}
};
class SomeFunc {
private:
Cache <SomeFunc> _cache;
int Plus1(int n) { return n + 1; }
public:
SomeFunc(void) : _cache(this, &SomeFunc::Plus1) {}
int Get(int n) {return _cache.Get(n);}
};
893
名前:
デフォルトの名無しさん
:04/11/25 14:56:04
>>890
Cacheをテンプレートクラスにすれば
894
名前:
デフォルトの名無しさん
:04/11/25 15:16:17
ご回答ありがとございます。m(__)m
>>891
ごめんなさい、boost はできるだけ使いたくないんです。。。
同じようなことを手動でやれればいいのですが。
>>892
>>893
やっぱりテンプレート使わないといかんですか。うーん。
895
名前:
デフォルトの名無しさん
:04/11/25 15:17:55
1クラス1キャッシュでいいなら
継承使ってできそうな気がしなくもない
896
名前:
デフォルトの名無しさん
:04/11/25 15:20:59
それは、SomeFunc を Cache から派生させるということですよね。
SomeFunc はすでに別のクラスから派生しているんです (多重継承はあまりしたくない)。
それに Cache という機能単位を継承で使うのはよい設計ではないように
思いますが、いかがでしょうか。
897
名前:
デフォルトの名無しさん
:04/11/25 15:24:31
>>896
>それに Cache という機能単位を継承で使うのはよい設計ではないように
>思いますが、いかがでしょうか。
まそうだろうね
boostとかテンプレートとか躊躇してるのは何で?
898
名前:
デフォルトの名無しさん
:04/11/25 15:31:52
> boostとかテンプレートとか躊躇してるのは何で?
テンプレートにいい思い出がないのが一番の理由です。
今 VC6 を使っているんですけど、
テンプレートの一部の機能が使えなかったり、
複雑になるとバグが発生したりして、
使いすぎると生産性が確実に低下するように思います。
あと、できるだけ外部のライブラリに依存したくないという意味で
boost は使いたくないわけです。
899
名前:
デフォルトの名無しさん
:04/11/25 15:44:21
VC6はご愁傷様です
>できるだけ外部のライブラリに依存したくない
この方針があなたの決断によるものなら考え直した方がいいと思いますよ
これじゃライブラリの立つ瀬が無いですからね
900
名前:
デフォルトの名無しさん
:04/11/25 16:03:44
アンチパターンに当てはまりまくりだな
901
名前:
デフォルトの名無しさん
:04/11/25 16:12:55
貧乏人がWindowsのプログラム書くなよ
902
名前:
デフォルトの名無しさん
:04/11/25 16:22:17
なんかlinuxerは貧乏人みたいにとれるな
903
名前:
デフォルトの名無しさん
:04/11/25 16:28:42
関数内のstatic変数は、最初にその関数が呼ばれたときに初期化されるそうですが
例えば
class Hoge {...];
void foo() {
static Hoge hage;
}
というのがあって、複数のスレッドがfooを同時に呼び出した場合
hageの初期化は同期されるのでしょうか?
904
名前:
デフォルトの名無しさん
:04/11/25 16:29:17
金を使わない奴は金がないやつ同様貧乏人。
905
名前:
デフォルトの名無しさん
:04/11/25 16:35:04
>>903
C++の規格ではマルチスレッドのことは考えてないので、環境によります。
906
名前:
デフォルトの名無しさん
:04/11/25 16:35:46
同期が保証されないから、
MeyersのSingletonはマルチスレッドでは使えない
907
名前:
デフォルトの名無しさん
:04/11/25 16:36:40
>>904
感心した
908
名前:
デフォルトの名無しさん
:04/11/25 16:48:18
金を使えば技術を得られるわけでもない
909
名前:
デフォルトの名無しさん
:04/11/25 16:50:09
>>908
感心した
910
名前:
デフォルトの名無しさん
:04/11/25 16:55:20
金を使わないヘタレに存在意義なし
911
名前:
デフォルトの名無しさん
:04/11/25 16:57:26
>>910
感心した
とでも言ってもらいたいのか?
912
名前:
デフォルトの名無しさん
:04/11/25 18:02:35
借金まみれの俺は金持ち
913
名前:
デフォルトの名無しさん
:04/11/25 18:51:56
vector<int> の中に整数が重複して入っていて、
その中の最頻値を取り出したいとします。
このような処理を STL を使って完結に表現することはできるでしょうか?
914
名前:
デフォルトの名無しさん
:04/11/25 18:53:10
はい。
915
名前:
デフォルトの名無しさん
:04/11/25 18:58:56
どのようにすればできるか教えていただけるでしょうか。
916
名前:
デフォルトの名無しさん
:04/11/25 19:46:03
>>915
誰か教えてくれるでしょう。
917
名前:
デフォルトの名無しさん
:04/11/25 20:09:59
クォータニオンまで扱える算術ライブラリってDirectX以外でありますか?
漫然と
>>8
を眺めてみたのですが、いまいち見つかりませんで
DirectXの物は中々使い心地が良いのですが、DirectXが使えない環境になりそうで困っています
918
名前:
デフォルトの名無しさん
:04/11/25 20:57:57
boost::quaternion
919
名前:
デフォルトの名無しさん
:04/11/25 21:02:01
クォータニオンなんて自作したって
1、2時間でできるんでは?
920
名前:
デフォルトの名無しさん
:04/11/25 21:04:35
>>918
BLAS…というかnumericの所しか見てなかったですよ
boost凄いなぁ…ありがとうございました、勇んでいじってみます
921
名前:
デフォルトの名無しさん
:04/11/25 21:07:19
>>919
まぁ、実際そうで、私も自前(と言ってもほぼとあるオープンソースのパクリ)のはあるのですが
自前だとまずい部分が色々とあったりで…boost情報助かりました
922
名前:
デフォルトの名無しさん
:04/11/25 21:08:30
>>915
あいよっ
template <typename T, template <typename> class Container> inline
pair <T, size_t> mode_count (const Container <T> &p) {
typedef std::map <T, size_t> Counter_Register;
Counter_Register counter_register;
for (typename Container <T>::const_iterator itr (p.begin ()), last (p.end ());
itr != last; ++ itr) ++ counter_register [*itr];
struct Local {
typedef typename Counter_Register::value_type Value_Type;
static bool less_by_second (const Value_Type &lhs, const Value_Type &rhs) {return lhs.second < rhs.second;}
};
return *max_element (counter_register.begin (), counter_register.end (), &Local::less_by_second);
}
template <typename T, template <typename> class Container> inline
T mode (const Container <T> &p) {
return mode_count (p).first;
}
もっとエレガントなのは誰か教えてくれるでしょう。
923
名前:
913
:04/11/25 21:14:14
>>922
すいません。ありがとうございます。
自分でも作ってみたのですが、あまりきれいになりませんでした。
よく読んでみます。とりいそぎ、お礼まで。
924
名前:
デフォルトの名無しさん
:04/11/25 21:25:16
>>922
>template <typename T, template <typename> class Container> inline
template templateパラメータはテンプレートパラメータの数がデフォルトも全部展開した
数に一致して無いといけないので,STLのシーケンスを取るならパラメータ2つ要りますよ.
あとTはContainer::value_typeで取れるから結局コンテナの型をパラメータにするのが
妥当だと思うんですけどね.
template<typename Container>
細かいツッコミ失礼.ちなみに自分ならiteratorを引数にしたいかも.
925
名前:
デフォルトの名無しさん
:04/11/25 21:27:46
>>922
Local::less_by_secondはローカルだけどテンプレート引数に出来るの?
926
名前:
デフォルトの名無しさん
:04/11/25 21:38:41
>>924
やっぱ修正するのはオイラかい?
template <typename Iterator> inline
pair <typename Iterator::value_type, size_t> mode_count (Iterator first, Iterator last) {
typedef typename Iterator::value_type Value_Type;
typedef std::map <Value_Type, size_t> Counter_Register;
Counter_Register counter_register;
for (; first != last; ++ first) ++ counter_register [*first];
struct Local {
typedef typename Counter_Register::value_type Value_Type;
static bool less_by_second (const Value_Type &lhs, const Value_Type &rhs) {return lhs.second < rhs.second;}
};
return *max_element (counter_register.begin (), counter_register.end (), &Local::less_by_second);
}
template <typename Iterator> inline
typename Iterator::value_type mode (Iterator first, Iterator last) {
return mode_count (first, last).first;
}
template <typename Container> inline
pair <typename Container::value_type, size_t> mode_count (const Container &p) {
return mode_count (p.begin (), p.end ());
}
template <typename Container> inline
typename Container::value_type mode (const Container &p) {
return mode (p.begin (), p.end ());
}
もっといいアルゴリズムはないの?
927
名前:
922 == 926
:04/11/25 21:41:04
>>925
g++(3.3.4)だと通るんだけどまづいっけ?
>>924
それと言い忘れたありがとう
925も
928
名前:
デフォルトの名無しさん
:04/11/25 22:12:56
>>925
ローカルクラスがテンプレート引数に出来ない問題との違いは,
型が外部リンケージを持っているかどうか.
Local::less_by_secondの型はbool (*)(Value_Type const &, Vlue_Type const &)で,
これは外部リンケージを持った型なのでテンプレート引数に出来るはず.
929
名前:
デフォルトの名無しさん
:04/11/25 22:48:40
std::stringの変数にabcが入っていたとします。
で、この変数にabc又はABCが入っていることをエレガントに確認するにはどうしたらよいでしょうか?
(つまり、小文字、大文字意識せずに、findしたいってことです)
930
名前:
デフォルトの名無しさん
:04/11/25 22:49:48
>>929
私はいつも stricmp(str.c_str(), "abc") しているけど、C++ 的にはどうやるんかな。
931
名前:
デフォルトの名無しさん
:04/11/25 23:17:51
>>930
>>929
をよく読むこと。
932
名前:
デフォルトの名無しさん
:04/11/25 23:19:21
>>929
面倒なのでboost::regex
933
名前:
デフォルトの名無しさん
:04/11/25 23:31:20
STL の string って貧弱だよな。
もっとメンバ関数充実させてほしい。
934
名前:
デフォルトの名無しさん
:04/11/25 23:32:01
そこでRubyですよ
935
名前:
デフォルトの名無しさん
:04/11/25 23:35:05
>>933
うん、激しく同意。
俺が思うに、これは何かの陰謀が働いていると思う。
936
名前:
デフォルトの名無しさん
:04/11/25 23:36:43
そこでRubyですよ
937
名前:
デフォルトの名無しさん
:04/11/25 23:44:41
そこでboost string algorithm
938
名前:
モウモウ
:04/11/26 00:05:26
>>929
一応こんなんでできるけど。
struct CharEqualIC {
inline bool operator() (char c1, char c2)
{
return (toupper(c1) == toupper(c2));
}
};
int main(void)
{
string str1 = "xxxx Abc xxxx";
string str2 = "abc";
string::iterator it = search(str1.begin(), str1.end(), str2.begin(), str2.end(), CharEqualIC());
cout << (it - str1.begin());
return 0;
}
939
名前:
デフォルトの名無しさん
:04/11/26 00:25:02
>>938
汚物
940
名前:
デフォルトの名無しさん
:04/11/26 00:44:02
>>929
std::string str = "fgafjkAbCasln;tj";
std::cout << boost::algorithm::ifind_first(str, "abc").begin() - str.begin() << std::endl;
// 6が出力される。
std::string str = "fgafjkasln;tj";
std::cout << boost::algorithm::ifind_first(str, "abc").begin() - str.begin() << std::endl;
// 13が出力される。すなわちboost::algorithm::ifind_first(str, "abc").begin()==str.end()
941
名前:
デフォルトの名無しさん
:04/11/26 01:23:54
>929
std::mismatch 使って頑張れ
Effective STL の35項も参考になる。
942
名前:
デフォルトの名無しさん
:04/11/26 01:40:46
>>922
,926
Iterator::value_type ではポインタを渡したときにエラーになる
※入力シーケンスは空でないという事前条件が必要
template<typename Iterator>
std::pair<typename std::iterator_traits<Iterator>::value_type, std::size_t> mode_count(Iterator first, Iterator last)
{
typedef typename std::iterator_traits<Iterator>::value_type value_type;
typedef std::pair<value_type, std::size_t> result_type;
std::map<value_type, std::size_t> counts;
result_type const* max = 0;
for(; first != last; ++first)
{
result_type& counted = counts[*first];
++counted.second;
if(!max || counted.second > max->second)
max = &counted;
}
return *max;
}
943
名前:
デフォルトの名無しさん
:04/11/26 02:59:48
値を返す関数の戻り値をconst参照で受け取ったらまずいですか?
extern XXX get_value();
const XXX& xxx = get_value();
テンポラリへの参照になってしまうんでしょうか?
最適化をするとおかしくなってしまうようなんです
944
名前:
デフォルトの名無しさん
:04/11/26 04:26:01
>>943
クラスのインスタンスのデータメンバや静的データメンバ、
関数の静的変数、大域変数、静的変数を返したいときは、
const参照を返してもだいじょうぶ。
const参照を返したら駄目なのは関数内のローカル変数。
945
名前:
デフォルトの名無しさん
:04/11/26 05:09:39
>>943
あー、その場合の寿命ってどうなるんだろうな。
規格書読まなきゃわかんないな。
でもこのケースだったら無難に
const XXX xxx = get_value();
でいいんじゃないの。
946
名前:
デフォルトの名無しさん
:04/11/26 05:16:00
バカばっかり
テンポラリに決まってんだろ
禿本くらい読め
947
名前:
デフォルトの名無しさん
:04/11/26 08:32:23
>943
その関数の戻り値であるところのテンポラリは,規格としては
const参照のlife-timeまで寿命が延びる(12.2/5)ので大丈夫なはずです.
http://www.kuzbass.ru:8086/docs/isocpp/special.html#class.temporary
なので,
>最適化をするとおかしくなってしまうようなんです
というのはプログラムがおかしいかコンパイラが規格に準拠していないか・・・.
で,結論としては945さんに同意.
>944
多分文脈を読み間違えているかと.
948
名前:
デフォルトの名無しさん
:04/11/26 09:07:18
template <class Container, class T>
inline Container makeContainer(const T& t)
{ return Container(boost::begin(t), boost::end(t)); }
typedef std::vector<char> CharVec;
const char* p = "Hello, world";
CharVec c(makeContainer<CharVec>(p));
これがコンパイル通らないんですが仕様でしょうか…?
makeContainer(T& t) にすると大丈夫なんですが…
949
名前:
デフォルトの名無しさん
:04/11/26 09:28:43
boost知らんけど、ポインタなんだか参照なんだかしっちゃかめっちゃかだな。
950
名前:
デフォルトの名無しさん
:04/11/26 09:46:26
>948
boost::begin/endがchar const * constに対応してないのが原因.
というか,そういうことがしたいなら以下で良いのでは?
CharVec c(boost::begin(p), boost::end(p));
951
名前:
デフォルトの名無しさん
:04/11/26 10:04:44
>948
追記.char (const) * constはRangeのモデルにならないです.
動かせないポインタ渡されて'\0'探せって言われても困るでしょ.
もし,その枠組みでやるなら以下か
CharVec c(makeContainer<CharVec>(boost::make_iterator_range(p)));
もしくはmakeContainerをchar (const) *について特殊化するか,かな.
952
名前:
951
:04/11/26 10:09:52
-もしくはmakeContainerをchar (const) *について特殊化するか,かな.
+もしくはmakeContainerをchar const *についてオーバーロードするか,かな.
953
名前:
デフォルトの名無しさん
:04/11/26 10:27:00
> 追記.char (const) * constはRangeのモデルにならないです.
> 動かせないポインタ渡されて'\0'探せって言われても困るでしょ.
ポインタをコピーすれば困らないよ。
range側の特殊化が抜けてるだけじゃないの?
954
名前:
デフォルトの名無しさん
:04/11/26 11:29:43
#include <vector>
struct ClassV{
int val;
std::vector<int> vecInt;
};
int main(int argc, char* argv[]){
std::vector<ClassV> vecClassV;
vecClassV.reserve( 5 ); //resizeならBもerrorにならない
for( int i=0; i < 5; ++i ){
vecClassV[i].val = 4649; //errorが出ない …A
}
for( int c=0; c < 5; ++c ){
vecClassV[c].vecInt.reserve(10); //error …B
}
return 0;
}
お願いします、上記のコードなのですが、
恐ろしいことに今までreserveを使いAみたいな事をしていました。
しかしBのようにコンテナを使わない限り、今までの所、特に困ったこともありませんでした。
全て書き直す前にお尋ねしたいのですが、Aが上手くいっていたのは偶然なのでしょうか?
955
名前:
デフォルトの名無しさん
:04/11/26 11:45:16
reserveってのはresize時の効率を上げるためにあらかじめ領域を予約するものであって、実際にresizeするまではその領域を使っては*いけない*。
領域自体は確保済みなので一般保護例外などはでないだろうが、vector内部の管理情報は壊れていても不思議ではない。
956
名前:
954
:04/11/26 11:48:03
>>955
ありがとうございます。コンテナ以外もたまたま動いていただけなんですね。
全力で全痴漢してきます。
957
名前:
デフォルトの名無しさん
:04/11/26 18:58:01
メンバのoperator==はメンバ関数ポインタに入れられないのですか?
958
名前:
デフォルトの名無しさん
:04/11/26 19:34:53
↑
std::vector<boost::shared_ptr<Foo> >::iterator i
= std::find_if( hoge.begin(), hoge.end(),boost::bind( &Foo::operator==, _1, foo ) );
としたいのです
959
名前:
デフォルトの名無しさん
:04/11/26 20:01:53
std::equal_to
960
名前:
デフォルトの名無しさん
:04/11/26 20:18:59
>>958
問題なさそうに見えるが、Foo か operator== のどちらかがテンプレート引数を必要としたりオーバーロードで曖昧になってたりしないか?
961
名前:
デフォルトの名無しさん
:04/11/26 20:49:05
>953
やっぱりそうなんですかねぇ.
>958
それだとshared_ptr<Foo>のoperator==を呼ぼうとしますよ.
indirect_iterator使って
vector<shared_ptr<Foo> >::iterator i
= find_if(make_indirect_iterator(hoge.begin()),
make_indirect_iterator(hoge.end()),
bind(&foo::operator==, _1, foo3) ).base();
とか,lambda使って
vector<shared_ptr<foo> >::iterator i
= find_if(hoge.begin(), hoge.end(), bind(&foo::operator==, *_1, foo3));
とか(このbindはlambdaのbind).というか普通にfindで良いんじゃ・・・.
962
名前:
958
:04/11/26 21:10:03
>>959
それだとshared_ptrの==が使われてしまい意図したものではありません。
>>960
おっしゃるとおりでコンパイラは”関数の引数があいまいなためテンプレート引数を減少できません。”といっていました。
Fooのoperator==をFooだけでなくstd::stringでも比較できるようにしていました。
オーバーロードしないようにすればコンパイルできましたが、引数からoperator==を選択してくれないのでしょうか?
bind<・・・>に型を指定してやれば解決するかと思いましたが私にはむりでした。
今はとりあえずforループを回しております。
963
名前:
デフォルトの名無しさん
:04/11/26 21:21:48
>>961
ええと、しょうしょう混乱しておりますが。
>それだとshared_ptr<Foo>のoperator==を呼ぼうとしますよ.
というのは
>>959
さん宛てですかね?
ちがったりして。
ndirect_iteratorは知りませんでした。調べてみます。
964
名前:
デフォルトの名無しさん
:04/11/26 21:22:10
>962
オーバーロードされた関数へのポインタを取る場合,
ポインタを取った瞬間にどのオーバーロードへのポインタなのかを
指定してやる必要があります.そのまま汎用関数の引数にすることは出来ません.
典型的にはキャストを使うか
static_cast<bool (Foo::*)(Foo const &) const>(&Foo::operator==)
一旦メンバポインタ変数に代入してから使います.
bool (Foo::*pmf)(Foo const &) const = &Foo::operator==
上のシグネチャはただの例なので実際のoperator==のシグネチャに読み替えて下さい.
・・・っていうか,lambdaが一番楽だと思いますよ.
vector<shared_ptr<foo> >::iterator i
= find_if(hoge.begin(), hoge.end(), *_1 == foo);
965
名前:
デフォルトの名無しさん
:04/11/26 21:30:01
>963
おっと,ごめんなさい.961はboost::lambda::bindの話です.忘れてください.
#shared_ptrに対する挙動がboost::bindとboost::lambda::bindで違う・・・.
966
名前:
デフォルトの名無しさん
:04/11/26 21:35:12
C++関連のスレが乱立して
閑散としているスレが増えて来ましたので
再編を提案します
http://pc5.2ch.net/test/read.cgi/tech/1101384692/
現状でC++関連は
【C++】template 統合スレ
【C++】STL(Standard Template Library)相談室
BOOSTを語れゴラァ
C++相談室 part37
とありますがこれらは
標準C++相談室【STL含む】
C++テンプレート相談室【Boost/Loki】
の2本に統合でいいように思います
どうでしょうか? 異論がなければ
ここの次スレの名前は標準C++相談室【STL含む】
でいきましょう
967
名前:
デフォルトの名無しさん
:04/11/26 21:37:45
>>966
STLとかBoostとか関係なく、
ベストな方法を知りたい、みたいな質問をしたい時はどこ?
968
名前:
デフォルトの名無しさん
:04/11/26 21:39:44
>>964
ありごとうございます。
boost以前の問題でしたね。もっと勉強します。
lambdaはうちのコンパイラが使うな(えない)というもので。。。
969
名前:
デフォルトの名無しさん
:04/11/26 21:41:49
>>967
そういのはここ(と後継のスレ)でいいのではないでしょうか?
話長くなりそうだったら専門スレに誘導してそこで続けていただくといいと思います
970
名前:
デフォルトの名無しさん
:04/11/26 21:43:24
>>966
名前は短い方がいい
余計なものくっつけるな
971
名前:
デフォルトの名無しさん
:04/11/26 21:43:46
>>967
ここで聞くと解決するまえにスレ終りそうだから、
新スレ立ててそこで質問しちくり。
972
名前:
デフォルトの名無しさん
:04/11/26 21:44:27
>>970
くっつけないと重複スレが立つんだよ。
973
名前:
デフォルトの名無しさん
:04/11/26 21:45:33
エキスパートが回答してくれれば
どこに質問したっていいって気分。
974
名前:
デフォルトの名無しさん
:04/11/26 21:46:14
>968
>lambdaはうちのコンパイラが使うな(えない)というもので。。。
相手の環境を考慮してなかったです.本当に申し訳ない.
975
名前:
デフォルトの名無しさん
:04/11/26 21:47:17
>>966
ISO/IEC14882で定義される範囲は「C++」でしかねえよな
STLだのtemplateだのと断片だけのスレは重複もいいとこ
つーと、残れるのはboostくらいか
976
名前:
デフォルトの名無しさん
:04/11/26 21:57:43
次スレ
C++相談室 part38
http://pc5.2ch.net/test/read.cgi/tech/1101473340/l50
977
名前:
デフォルトの名無しさん
:04/11/26 21:57:51
あ"ー
978
名前:
v(^・^)v
:04/11/26 22:18:09
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
979
名前:
v(^・^)v
:04/11/26 22:18:27
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
980
名前:
デフォルトの名無しさん
:04/11/26 22:19:16
>>978
#include "stdafx.h"
みたいにプリコンパイル済みヘッダーをインクルードするか、
ファイルの設定でプリコンパイル済みヘッダーを使わないように設定する。
981
名前:
デフォルトの名無しさん
:04/11/26 22:25:45
こっちにテンプレ貼ってどうする
982
名前:
デフォルトの名無しさん
:04/11/26 22:43:16
ここは人工無能のいるスレでつか?
983
名前:
デフォルトの名無しさん
:04/11/26 22:46:12
人工無能ってなに?
984
名前:
デフォルトの名無しさん
:04/11/26 22:46:27
スレってなに?
985
名前:
デフォルトの名無しさん
:04/11/26 22:46:42
でつかってなに?
986
名前:
デフォルトの名無しさん
:04/11/26 22:47:08
ここってなに?
987
名前:
デフォルトの名無しさん
:04/11/26 22:48:08
Ruby!!!!!!!!!!!!!!!!!!!!!!
988
名前:
デフォルトの名無しさん
:04/11/26 22:57:38
Rubyつかうと一気に○○○が10倍に?!
↑○○○を埋めて。
989
名前:
デフォルトの名無しさん
:04/11/26 22:58:14
リスク
990
名前:
デフォルトの名無しさん
:04/11/26 22:59:06
さて、お取り込み中の所大変申し訳ありませんが、カウントダウンの時間です。
991
名前:
デフォルトの名無しさん
:04/11/26 22:59:28
9
992
名前:
デフォルトの名無しさん
:04/11/26 23:00:35
除夜の鐘みたいだ。
993
名前:
デフォルトの名無しさん
:04/11/26 23:00:45
>>988
ヘタレ
994
名前:
デフォルトの名無しさん
:04/11/26 23:03:05
>>988
そくど
995
名前:
デフォルトの名無しさん
:04/11/26 23:04:03
>>988
おなか
996
名前:
デフォルトの名無しさん
:04/11/26 23:04:23
>>988
こしけ
997
名前:
デフォルトの名無しさん
:04/11/26 23:05:20
>>988
肥満度
998
名前:
10000000!!!!!!!!!!
:04/11/26 23:05:27
10000000!!!!!!!!!!
999
名前:
デフォルトの名無しさん
:04/11/26 23:05:37
1000(σ´Д`)σゲッツ!!
1000
名前:
一億
:04/11/26 23:05:50
一億
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.