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


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

C++上級者が集まるスレ



1 名前:デフォルトの名無しさん [04/09/14 07:16:41]
ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。
我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。


32 名前:デフォルトの名無しさん mailto:sage [04/09/27 16:53:27]
>>31
ありがとうございます。

以前は
#include <iostream.h>
#include <math.h>

と書いていたのですが、

#include <iostream>
#include <cmath>
using namespace std;

と書くのが最近のC++の正しい書き方ということなのでしょうか


33 名前:デフォルトの名無しさん mailto:sage [04/09/27 16:59:26]
>>32
cmathの方はどっちでもいいけど、iostream.hは現行の規格にはない。

34 名前:デフォルトの名無しさん mailto:sage [04/09/27 19:07:41]
>>32
using namespace std;は正しいが好ましくない

35 名前:デフォルトの名無しさん mailto:sage [04/09/27 19:43:14]
なんで?

36 名前:デフォルトの名無しさん mailto:sage [04/09/27 21:21:49]
せっかくネームスペースで閉じ込めた意味がなくなる。

37 名前:デフォルトの名無しさん mailto:sage [04/09/28 15:56:41]
>>30
上級者がそんなこと聞くな。

>>35
上級者がそんなこと聞くな。

38 名前:デフォルトの名無しさん mailto:sage [04/09/29 01:48:14]
ここホントに上級者が集まってるのか?

39 名前:デフォルトの名無しさん mailto:sage [04/09/29 02:03:24]
2chに上級者などいない

40 名前:デフォルトの名無しさん [04/09/29 03:31:47]
C++下級者が集まるスレはないのですか?



41 名前:デフォルトの名無しさん [04/09/29 03:49:29]
>>40
ここですよ〜。

42 名前:デフォルトの名無しさん [04/09/29 15:52:48]
C++上級者になるための必読書を教えてください

43 名前:デフォルトの名無しさん mailto:sage [04/09/29 18:14:55]
>>42
上級者は学会論文を読みます。

44 名前:デフォルトの名無しさん mailto:sage [04/09/29 18:32:32]
ISOの規格書とドラフト

45 名前:デフォルトの名無しさん mailto:sage [04/09/29 19:35:27]
>>43
それは「C++の」上級者とは違うと思う。

46 名前:デフォルトの名無しさん [04/09/29 23:54:16]
まずはC++標準化委員会に入れ、話はそれからだ。

47 名前:デフォルトの名無しさん mailto:sage [04/09/30 00:04:45]
C++上級者は禿げてます

48 名前:デフォルトの名無しさん mailto:sage [04/09/30 06:51:38]
禿げれば誰でも上級者です

49 名前:デフォルトの名無しさん mailto:sage [04/09/30 12:27:01]
ここは禿が集まるすれになりました。

50 名前:デフォルトの名無しさん mailto:sage [04/09/30 15:23:53]
ヅラですが参加して良いですか?



51 名前:デフォルトの名無しさん mailto:sage [04/10/06 00:43:53]
ヅラは駄目です
禿が集まるスレですから

52 名前:デフォルトの名無しさん mailto:sage [04/10/06 10:09:05]
最近禿始めているんですけど、C++上級者になれる予兆ですか?

53 名前:デフォルトの名無しさん mailto:sage [04/10/06 16:38:56]
>>52
その通りです。

54 名前:デフォルトの名無しさん mailto:sage [04/10/06 22:14:46]
3年ほど前から抜け毛がすごいのですが濃さはあまり変わりません。
ある日気づくと突然薄くなっているのですか?
そう思うと怖くて夜も眠れません。

55 名前:デフォルトの名無しさん mailto:sage [04/10/07 11:25:23]
あなたは自分で気が付いてないようですが、少しずつC++が上達しています。


56 名前:上級者&rlo;者級上:&lro; mailto:上級者 [04/10/08 12:02:38]
ぬるぽ

57 名前:デフォルトの名無しさん mailto:sage [04/10/08 12:24:45]
理想はM禿げです

58 名前:デフォルトの名無しさん mailto:sage [04/10/10 20:29:30]
理想はM字開○です

59 名前:デフォルトの名無しさん mailto:sage [04/10/10 20:45:35]
ぼ、僕も縛ってください。ハァハァ

60 名前:デフォルトの名無しさん [04/10/12 05:47:51]
C++ではポインタは使わない方がいいのですか?



61 名前:デフォルトの名無しさん mailto:sage [04/10/12 05:57:36]
上級者なのでわかりやすくお願いします。
STLPortというものを入れてみたいのですが、これってBCC5.5.1でつかえますか?

62 名前:デフォルトの名無しさん mailto:sage [04/10/12 06:00:49]
>>60
いんや。


63 名前:デフォルトの名無しさん mailto:sage [04/10/12 10:33:27]
イテレータで代用できるならそうしたほうが良いです。

64 名前:デフォルトの名無しさん mailto:sage [04/10/12 19:20:35]
15と16の矛盾
if( someone think He == Expert && someone think He != Expert)
考えたらパニってきた

65 名前:いなむらきよし [04/10/12 19:43:14]
レベルの低い話してるキケー!

66 名前:デフォルトの名無しさん mailto:sage [04/10/12 21:42:45]
>>65
ふざけんな俺の頭は禿げてるだけで奇形じゃないぞ

67 名前:デフォルトの名無しさん mailto:sage [04/10/13 11:59:48]
髪の毛を捨ててまでC++上級者になりたいんですか?

68 名前:デフォルトの名無しさん mailto:んなわけないよ [04/10/13 12:41:25]
C++上級者になれるのなら髪の毛なんぞ惜しくはない。

69 名前:デフォルトの名無しさん mailto:sage [04/10/13 12:44:37]
だれもC++を使わない時代になったら、ただただ震えるだけだよ。

70 名前:デフォルトの名無しさん [04/10/13 12:47:30]
Modern C++ Designを読んで、何が書いてあるかさえ分からなかった。



71 名前:デフォルトの名無しさん mailto:sage [04/10/13 13:15:48]
くだらねえ....

72 名前:デフォルトの名無しさん mailto:sage [04/10/13 17:22:43]
_________________________
    <○√
     ‖ 
     くく
しまった!ここは糞スレだ!
オレが止めているうちに他スレへ逃げろ!
早く!早く!オレに構わず逃げろ!

boost萌え。

>>1の戦闘能力が駄目なので
このスレは駄目だな。


73 名前:デフォルトの名無しさん [04/10/15 09:12:21]
コンパイル時にWindows上でコンパイルしているのかLinux上でコンパイルしているのかを判別する方法を教えてください

74 名前:デフォルトの名無しさん mailto:sage [04/10/15 09:40:50]
#ifdef WIN32
#endif


75 名前:デフォルトの名無しさん mailto:sage [04/10/15 10:34:57]
boostは便利だけど、一般性に欠ける気がする。

76 名前:デフォルトの名無しさん mailto:sage [04/10/15 10:44:31]
何でもそんな事言われるが、使う人が増えれば業界標準化する。
だがその頃にはまた新しいネタが出てきてると。

77 名前:デフォルトの名無しさん mailto:sage [04/10/15 10:53:12]
最初から標準ライブラリをちゃんと作らなかったStrawstrupが悪い


78 名前:デフォルトの名無しさん [04/10/15 14:20:00]
.NET のマネージC++の話ですが、

Object* [] __gc args = { obj1, obj2};
String::Format("{0},{1}", args);

と書いているのを、argsという変数を使わずにかけますか? C#では、

String.Format("{0},{1}", new object[] { obj1, obj2});

と書くような感じで。

79 名前:デフォルトの名無しさん [04/10/15 14:21:52]
コンパイルってなんですか?

80 名前:デフォルトの名無しさん mailto:sage [04/10/15 15:08:52]
>75
一般性ってどういう意味での?
マニアックな用途のライブラリが多いってこと?



81 名前:デフォルトの名無しさん [04/10/15 15:12:38]
俺も早くここに来たいなぁ。

82 名前:デフォルトの名無しさん mailto:sage [04/10/15 15:17:19]
(boost::format("%1,%2") % obj1 % obj2).str()


83 名前:デフォルトの名無しさん mailto:sage [04/10/15 15:17:40]
%1%,%2%かも。
書き方自分で調べれ

84 名前:デフォルトの名無しさん [04/10/15 18:33:03]
Strawstrup
って誰?

85 名前:デフォルトの名無しさん mailto:sage [04/10/18 12:02:24]
生のStroustrup


86 名前:デフォルトの名無しさん [04/10/21 13:18:10]
linuxでもwindowsでも使えるタイマープログラムはどのように書けばよいのでしょうか

87 名前:デフォルトの名無しさん mailto:sage [04/10/21 14:06:09]
↑教えてやるから linux でも windows でも使えるIPCをくれ。

88 名前:デフォルトの名無しさん mailto:sage [04/10/21 14:44:51]
Javaで書け

89 名前:デフォルトの名無しさん mailto:sage [04/10/21 15:12:46]
void timer_for_short_wait(){ int i; for(i=0; i<100; i++) ; }

void timer_for_long_wait(){ int i; for(i=0; i<100000; i++) ; }

90 名前:デフォルトの名無しさん mailto:sage [04/10/21 15:54:26]
>>89
最適化で消えるループに何の意味が?



91 名前:デフォルトの名無しさん mailto:sage [04/10/21 18:29:32]
>>90
最適化で消えないから意味がある。

92 名前:デフォルトの名無しさん mailto:sage [04/10/21 23:20:35]
void timer_for_too_long_wait(){ int i; for(i=0;;i++) ; }

93 名前:デフォルトの名無しさん mailto:sage [04/10/23 02:11:35]
C++のプロジェクトに入れられたのですが。
禿たくありません。
どの育毛剤をつかえば禿ることを回避できむすかあ?

94 名前:デフォルトの名無しさん mailto:sage [04/10/23 02:20:35]
これがC++上級者の開発用マシンだ!!!
nice.kaze.com/ybb06.html

95 名前:デフォルトの名無しさん mailto:sage [04/10/23 02:23:18]
ごめん、リンク間違っちゃった
pc.watch.impress.co.jp/docs/2004/1022/kurouto.htm

96 名前:デフォルトの名無しさん mailto:sage [04/10/23 09:25:25]
ハゲヅラを買って、あとは仕事をしたふりだけしてなさい。

97 名前:sage [04/10/23 16:05:46]
pthread と Windows のスレッドってたいして変わらないから、
スレッドを使ってタイマを作ればよいんじゃないかと思います。
少しだけ ifdef が必要だと思うけど。>> 86

98 名前:デフォルトの名無しさん mailto:sage [04/10/23 16:12:10]
>>89
そんなコードいまどき使えるのかよ。そもそもタイマーじゃないしさ。
waitしたいなら Sleep(Windows) sleep(POSIX) usleep(4.3BSD) でいいじゃん。

99 名前:デフォルトの名無しさん mailto:sage [04/10/23 17:18:09]
boost::timerならPortable

100 名前:デフォルトの名無しさん [04/10/23 17:55:38]
boostはいつ標準化されるのですか?



101 名前:デフォルトの名無しさん mailto:sage [04/10/23 17:58:01]
つかboost::timerにはsleepんあにhtなおおもう

102 名前:デフォルトの名無しさん mailto:sage [04/10/23 22:59:19]
早く人間になりたいなぁ

103 名前:デフォルトの名無しさん mailto:sage [04/10/25 09:29:00]
クソスレ決定!!

104 名前:デフォルトの名無しさん mailto:sage [04/10/26 19:09:36]
>>103はベラ

105 名前:デフォルトの名無しさん mailto:sage [04/11/10 10:55:40]
void hage(){

106 名前:デフォルトの名無しさん mailto:sage [04/11/10 17:20:36]
>>104 はベロ

107 名前:デフォルトの名無しさん mailto:sage [04/11/15 09:54:43]
>>106 はベム

108 名前:デフォルトの名無しさん [04/11/18 15:49:58]
boostの標準化はいつになるのでしょうか?

109 名前:デフォルトの名無しさん mailto:sage [04/11/18 18:19:01]
おまえが使うとき

110 名前:デフォルトの名無しさん [04/11/19 15:27:19]
www.tietew.jp/cppll/archive/1071
これ見てふと思ったんだけどこんなのはどう?

class {
  public:
    template<class T> operator T*() const {return static_cast<T*>(0);}
} const NULL;



111 名前:デフォルトの名無しさん mailto:sage [04/11/19 16:07:16]
PO!

112 名前:デフォルトの名無しさん mailto:sage [04/11/20 11:26:03]


113 名前:デフォルトの名無しさん [04/11/20 12:01:33]
tietewって何者ですか?

114 名前:デフォルトの名無しさん [04/11/20 13:53:28]
a=b=0;

a=b;
b=0;

これって同じことですか?

115 名前:デフォルトの名無しさん mailto:sage [04/11/20 13:55:11]
>>114
違う。a=(b=0); だから、

b=0;
a=b;

と同じ。

116 名前:デフォルトの名無しさん mailto:sage [04/11/20 13:56:40]
>>113
知りたかったら cppll を購読しとけ。

117 名前:デフォルトの名無しさん mailto:sage [04/11/20 13:59:14]
>>114
上級じゃないじゃんw

118 名前:デフォルトの名無しさん mailto:sage [04/11/20 16:43:57]

だっ誰か Stroustrup先生をよんでらっしゃい

119 名前:デフォルトの名無しさん mailto:sage [04/11/20 18:04:44]
>>117
上級者が質問するスレなんですか?
上級者がいるから聴きたい事を聴いてもいいスレじゃないんですか?

120 名前:デフォルトの名無しさん mailto:sage [04/11/20 20:04:23]
ここはネタスレだよ



121 名前:デフォルトの名無しさん [04/11/22 11:02:42]


122 名前:デフォルトの名無しさん [04/11/22 15:55:17]
bool a=b=true;

abともに真である条件式で
if(a & b){}
if(a && b){}
お前らはどっち書く?

123 名前:デフォルトの名無しさん [04/11/22 15:57:39]
>>122


124 名前:デフォルトの名無しさん mailto:sage [04/11/22 15:58:21]
後者

125 名前:デフォルトの名無しさん mailto:sage [04/11/22 18:37:55]
a = 1;
b = 2;

if(a) 真
if(b) 真
if(a & b) 偽
if(a && b) 真


126 名前:デフォルトの名無しさん mailto:sage [04/11/23 15:09:33]
ダウト

127 名前:デフォルトの名無しさん mailto:sage [04/11/23 16:19:28]
>>119
聴くのは勝手だが、訊くな。邪魔だから。

128 名前:デフォルトの名無しさん [04/12/13 15:59:35]
鬱なプログラマのためのオブジェクト指向開発講座っていう本どうよ?

129 名前:デフォルトの名無しさん mailto:sage [04/12/13 18:56:21]
>>128
ちと古い。が、まとまりがあってよし。

130 名前:デフォルトの名無しさん mailto:sage [04/12/14 09:36:54]
>>129
良い本だと思うけど、盲信しちゃダメだよ。



131 名前:デフォルトの名無しさん [04/12/14 20:30:14]
鬱だ氏のうというプログラマのためのオブジェクト指向開発講座っていう本どうよ?

132 名前:デフォルトの名無しさん [04/12/14 20:36:46]
一通り読んだが、これが上級者スレ?じゃぁおれは神だな。
何でも質問してみ?ん?

133 名前:デフォルトの名無しさん mailto:sage [04/12/14 22:55:52]
>>132
gcc で "\" を挿入せずにシフトJISのソースファイルをコンパイルした時に出る
unknown escape sequence のワーニングを抑止するコンパイラオプションを教えてください、神様。

134 名前:132 [04/12/14 23:00:10]
そんなものはぐぐればいくらでもあるのじゃ。ふぉっふぉっふぉ。
ttp://www.asahi-net.or.jp/~uc3k-ymd/Lesson/Section01/gcc_sjis.html
次ぃ!

135 名前:デフォルトの名無しさん mailto:sage [04/12/14 23:01:47]
>>134
それコンパイラオプションじゃない気が…

136 名前:132 [04/12/14 23:04:07]
うっ。神は朝早いから、もう寝る!

137 名前:デフォルトの名無しさん mailto:sage [04/12/14 23:04:45]
>>134
あの、神様、大変申し上げ難いのですが、
そのページに書いてあるのはまさに "\" を挿入して回避する方法で、
私が知りたいのは "\" を挿入せずにワーニングを抑止する方法なんです。

138 名前:デフォルトの名無しさん mailto:sage [04/12/14 23:16:19]
#define \ \\

139 名前:デフォルトの名無しさん [04/12/15 06:38:16]
ワーニングとか言ってる時点でダメ
正しくはヲーニング

140 名前:デフォルトの名無しさん mailto:sage [04/12/15 09:01:49]
ウォーニングですから。



141 名前:デフォルトの名無しさん [04/12/15 11:21:01]
ヲーニングとウォーニングの発音上の違いを教えてください

142 名前:デフォルトの名無しさん mailto:sage [04/12/15 11:23:52]
カタカナで書いてる時点でダメ
目糞鼻糞だ

143 名前:デフォルトの名無しさん mailto:sage [04/12/15 11:49:23]
正しくは目糞鼻糞チンポマンコ

144 名前:デフォルトの名無しさん mailto:sage [04/12/15 15:27:26]
ここは上級な会話がかわされるインターネッツですね

145 名前:デフォルトの名無しさん [04/12/15 21:36:32]
おれはチンポとマンコなら圧倒的にマンコがいいが。

146 名前:デフォルトの名無しさん [04/12/15 22:19:10]
gccをビルドするときのコンフィグでは?
》神様

147 名前:デフォルトの名無しさん [04/12/18 11:44:54]
上級すぎて感動

148 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:00:57]
>>122
ってゆ〜か、&ってintの演算子だっての。

bool a=b=true;
if( (int)a&(int)b ){}

こう書いてるのと同じだよ。
恥ずかしすぎ


149 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:53:48]
>>148
intだけじゃない。
unsigned intとか、long intとか。

150 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:35:04]
そういうとき&を使ったのは&&がなかった時代の名残
C++で使う意味はない



151 名前:デフォルトの名無しさん mailto:sage [04/12/22 12:01:28]
トゥルルル、トゥルルル・・
女「もしもし、いきなりごめんね。
  クリスマスイブって暇?」
男「えッ!?う、うん暇だよ!」
女「m9(^Д^)プギャーーーッ 」
ガチャ、ツー、ツー

152 名前:デフォルトの名無しさん [04/12/30 19:54:42]
Hage

153 名前:デフォルトの名無しさん mailto:age [04/12/31 14:48:49]
とりあえずageとこうや

154 名前:デフォルトの名無しさん [04/12/31 15:40:23]
おまえらに理解できるか?
//可変長構造体
template<class t_base,unsigned int t_cb>
class __declspec(novtable) CAnySizeStruct
{
char m_bytes[t_cb];
t_base& m_ref;
CAnySizeStruct();
~CAnySizeStruct();
unsigned int GetSize();t_base& GetRef();
};

155 名前:デフォルトの名無しさん mailto:sage [04/12/31 15:54:40]
>>154
何でメンバが全部private?
その__declspec(novtable)て意味あるの?
www.microsoft.com/japan/developer/library/vccore/_langref_novtable.htm

156 名前:デフォルトの名無しさん [04/12/31 16:12:06]
...,t_cb=sizeof(t_base)>
...
public:...

MSC以外であるかもな

157 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:48:53]
>>133
コンパイルオプションじゃないが…

#define MULTIBYTE_CHARSでgccをcompile。
LANG環境変数をC-SJISにして、gccを使う。
mbcsじゃなくて、wcsとして扱う必要があります。

158 名前:デフォルトの名無しさん [05/01/04 01:54:51]
>gccをcompile
????????

159 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:00:56]
え?

160 名前:デフォルトの名無しさん mailto:sage [05/01/04 11:15:42]
>158
そんな人もいる。超時間掛かるけど



161 名前:デフォルトの名無しさん [05/01/04 11:57:12]
挑戦者、かかってこいやー

162 名前:デフォルトの名無しさん mailto:sage [05/01/05 02:01:33]
こ の ス レ は レ ベ ル が 高 い な


163 名前:デフォルトの名無しさん mailto:sage [05/01/05 02:10:41]
A型乙

164 名前:デフォルトの名無しさん mailto:sage [05/01/06 09:15:42]
>>158
binary配布のgccだと、
#define MULTIBYTE_CHARS
でcompileされてないのが多いんですよ。

165 名前:デフォルトの名無しさん [05/01/06 10:18:13]
>164
時間掛けすぎって言うか、GCCの日本語サポーターは何やってんだ?
まあ、czenyenかUTF使えって

166 名前:デフォルトの名無しさん mailto:sage [05/01/06 11:12:35]
>>165
ソースコード内の
・文字リテラル
・文字列リテラル
のwchar_tを諦めてmbcsのみで行くならUTF-8でOK。

けど最初のお題がShift_JISなので、MULTIBYTE_CHARSがいいね。
ただ、wchar_tになるから、mbcsとしては扱えないけどね。

167 名前:デフォルトの名無しさん [05/02/22 10:08:20 ]
constってどこがそんなに難しいの?

168 名前:デフォルトの名無しさん mailto:sage [05/02/22 10:32:29 ]
>>167 pc5.2ch.net/test/read.cgi/tech/1078193971/

169 名前:デフォルトの名無しさん [05/03/09 17:16:02 ]
>>167
constなんて簡単
#defineとちょっとちがうだけ

170 名前:デフォルトの名無しさん mailto:sage [05/03/09 17:39:40 ]
はぁ?



171 名前:デフォルトの名無しさん mailto:sage [05/03/09 23:42:09 ]
>>169のような超下級者が集まるスレはここですか?

172 名前:デフォルトの名無しさん mailto:sage [05/03/10 10:20:15 ]
いいなあ。きっと>>169はふさふさなんだろうなあ。

173 名前:デフォルトの名無しさん mailto:sage [05/03/10 10:58:14 ]
ふさふさ・・(*´Д`)<萌!

174 名前:デフォルトの名無しさん [05/03/10 17:20:37 ]
おい,お前ら,標準的な例外
domain_error
invalid_argument
length_error
out_of_range
overflow_error
range_error
underflow_error
の使い分けについて,どんな指針を置いていますか?

175 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:22:49 ]
>>174
読んだまま。

176 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:41:53 ]
例外使うのは例外なく自分よがりなプログラマ

177 名前:デフォルトの名無しさん mailto:sage [05/03/10 20:33:27 ]
と例外なくバカの>176はつぶやきました

178 名前:デフォルトの名無しさん mailto:sage [05/03/10 22:00:21 ]
C++上級者ってすごいな

179 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:20:05 ]
range_errorが使われている例って例えば何がある?
out_of_rangeだと、basic_string辺りで利用。

180 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:48:46 ]
>>174
標準例外で使うのはexceptionくらい。
ちなみにlogic_errorとその派生を使うくらいならassertする。

>>175
boost::array::atはrange_errorを使ってます。
logic_error派生のout_of_rangeの方を使ってほしいですけど。
というかそもそもboostってstringを含む例外は使わないんじゃなかったっけか。



181 名前:デフォルトの名無しさん mailto:sage [05/03/11 02:19:34 ]
std::vector::atはout_of_range投げるんだっけか。
揃えてくれよぅBoost...

182 名前:デフォルトの名無しさん [05/03/11 09:19:47 ]
std::out_of_range と std::domain_error ってどう違うの?

std::out_of_range → 配列みたいなコレクションのインデックスが範囲を超えた
std::domain_error → 数学関数などで定義されていない引数が渡された

こんな感じ?

あと,メモリが不足して必要なブツをアロケートできなかった時は,
どの例外,もしくはどの例外から派生した例外クラスを使うのがいいの?

183 名前:デフォルトの名無しさん mailto:sage [05/03/11 09:31:53 ]
d.hatena.ne.jp/rich850/20040521
同じようなこと考えてる人はいるんだなぁ.

そうそう,メモリ不足は実行時にしかわからないから,
runtime_error から派生させたクラスを使うことにしました
over_flow, under_flor, range_error どれでもなさそうだし.

ところで,range_error は処理の結果のことを言ってるの?
それとも引数のことを言ってるの? runtime_error から
派生しているんだから前者かな?.

184 名前:デフォルトの名無しさん mailto:sage [05/03/11 15:58:33 ]
だからよぉ…叩きたいときはネタ持って来いっつってんだろうが
何度も言わせんなよ無能新参


185 名前:デフォルトの名無しさん mailto:sage [05/03/11 22:12:16 ]
bad_allocは?

186 名前:デフォルトの名無しさん mailto:sage [05/03/14 12:44:05 ]
ポインタってなんですか?
フサフサの上司に聞いたら分かりませんでした。
ちなみに自分はM禿です。

187 名前:デフォルトの名無しさん mailto:sage [05/03/14 18:38:48 ]
>>186
マウス動かしたら一緒に動く矢印あるやろ?それ。

188 名前:デフォルトの名無しさん mailto:sage [05/03/16 03:17:32 ]
>>184
意味がわからん…

189 名前:デフォルトの名無しさん [2005/04/08(金) 02:46:27 ]
もともとはJava屋だが、今度独立しようと思ってる。
Javaは、独立向きではない。
C++が独立に向いてると思う。
C++自体はほぼ使いこなせるようになったが、どうも言語自体だけでなく
ネットワークとか制御とかの専門知識が必要らしいが、その辺の情報
教えてもらえんかな。C++で独立するには言語以外何が必要か。

190 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 03:26:52 ]
言語だけでは全く使い物にならない。



191 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 08:45:43 ]
後はコミュニケーション能力さえあれば何とかなるでしょ。
つーか、言語以外に何がとか言ってる時点で独立は難しそうだけど。

192 名前:デフォルトの名無しさん [2005/04/08(金) 14:43:11 ]
>>189
俺の経験談
とにかく本屋でC++のコーディングがのってる、制御系(ネットワーク系でもいいが)
の本とか雑誌とか買えるだけ買ってひたすら勉強しろ。(深い理解は後回しでよい。
仕事の時、相手が何言ってるかわかる程度に勉強しておけ)
そのあと、自分のパソコン(高性能)を持ち込んで無償でやるといって中小企業の
現場でコーディングを黙々とやれ。そのとき、うるさく質問するとアウト。
最小の質問ですむように、本と雑誌でひたすら勉強しておくこと。
これ、口で言うほど簡単じゃないがな。あと、理解ある中小企業の協力が必要。


193 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 14:53:12 ]
>>189
私の勤める会社からでよければ仕事紹介するよ。
C++の案件もJavaの案件も転がってるけど、C++の方が制御系でJavaは業務系だね。

紹介は兎も角、業務系ならWebアプリの知識とDBの知識が必須になってくるし、
制御系ならUnix系OSの知識が前提となってくるかな。

194 名前:デフォルトの名無しさん [2005/04/08(金) 16:31:16 ]
適当にぐぐったら出てきたんだがvodafne702NKのsymbian osってなんか楽しそう

195 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 00:53:51 ]
ドコモもC++だよ。

196 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 21:13:36 ]
>194
そうだね。SymbianOSは(OS部分も、アプリ部分も)かなり気合入ったC++だから、
C++やオブジェクト指向で飽きるほど遊びたいなら、FOMA開発に参加するといいね。
# try〜catchもSTLもないけどね。・・でも大域ジャンプあるし、Symbian標準ライブラリあるし。

197 名前:デフォルトの名無しさん mailto:sage [2005/05/09(月) 08:25:06 ]
leaveがtry〜catchの変わり。> Symbian

198 名前:デフォルトの名無しさん [2005/05/24(火) 03:53:20 ]
auto_ptrはがんがん使っても問題ないですか?

199 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 05:06:17 ]
>>198
おう、がんがん使ってもよいぞ。コンテナに入れて、sort掛けてもモーマンタイ。

200 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 12:59:13 ]
>>196
># try〜catchもSTLもないけどね。・・でも大域ジャンプあるし
最悪じゃねーかw



201 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 13:27:37 ]
>>199
嘘つけ。COAPって知らないのか。
auto_ptr入れたコンテナをソートすると、中身が滅茶苦茶に壊れる。

202 名前:デフォルトの名無しさん [2005/05/24(火) 13:49:36 ]
auto_ptr使ったこと無い。
new使う機会ない。
これ普通だよね?


203 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 15:46:55 ]
>201
いや199は明らかに分かってて書いてるでしょ

204 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 16:31:12 ]
>>202
んなこたぁーない。
実務に携わった事がないか、単に勉強不足。

205 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 16:42:32 ]
みんな人が悪いよね。

206 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 17:01:20 ]
頭でしょ

207 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 17:15:33 ]
要するに、2chの書き込みごときに騙されないようになるほど
勉強しろって事だと、俺は受け取った。

208 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 18:41:37 ]
>>204
ちなみにnew使わなきゃならない場面ってどんなとき?
制限があってSTL使えないとか
使ってるAPIの仕様の為とか
そんなもんなんじゃないの?

209 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 18:45:30 ]
俺はresize()しないのであればstd::vectorを使わずにnew []とboost::scoped_arrayを使うよ。

210 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 22:45:19 ]
>>208
多態とか気軽にやるならポインタで持っておきたいしなあ。
newは使うよ。
無くてもいいんだろうけど。

>>209
サイズ固定ならboost::arrayでええんちゃう?



211 名前:デフォルトの名無しさん [2005/05/24(火) 23:24:31 ]
昔から疑問だったんだけど、
boost::shared_ptrとか使うと
完璧ではないけど、これでdeleteの義務から
開放されるよね。こんな簡単に管理出来るのに
JavaやC#がいちいちヒープを走査すガベージコレクション
という方法をとってるのはなぜ?

212 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 23:30:49 ]
boost使うヤツはヘタレ。
C++上級者を名乗るなら、
あまりの高度さゆえに誰も使いこなせない自作の
クラスライブラリを使うのが常識だろ?

213 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 23:38:01 ]
>>211
循環参照とか断片化とか考えるのがまんどらけだから

214 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 23:41:41 ]
>>212
それは手ぇ抜く技術が初級レベルな能無しの行動であって
上級者のそれではありません。

215 名前:デフォルトの名無しさん [2005/05/25(水) 03:48:50 ]
自分で組めないから他人が組んでくれたライブラリ使っているだけなのに、
「手ぇ抜く技術」といって自分を誤魔化し慰めるのが上級者。



216 名前:デフォルトの名無しさん [2005/05/25(水) 03:51:39 ]
>>211
TLのガーベッジコレクションに頼るな。
勘で deleteするのが上級者。
特に delete にするか、delete[] にするかを的確に判断するのは
研ぎ澄まされた直感を要する。


217 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 04:26:15 ]
>>215はコンパイラから自作する神

218 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 05:07:08 ]
上級すぎて神の声が聞こえてそうだな、215はw

219 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 07:12:44 ]
そういうレベルの人はすべてC言語でなんとかするだろ。

220 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 07:37:35 ]
そういうレベルの人はすべて機械語でなんとかするだろ。



221 名前:209 mailto:sage [2005/05/25(水) 07:40:14 ]
>>210
いや、要素数は実行時に決まるからboost::arrayは無理。

222 名前:デフォルトの名無しさん [2005/05/25(水) 10:26:58 ]
そういえば前から疑問に思ってたんだけど、
capacity()が固定でsize()が可変の配列クラスってboostか何かにないの?

template<typename T, int CAPACITY>
class fixed_capacity_array
{
T elems_[CAPACITY];
size_t size_;
public:
void push_back(const T &v) { elems_[size_++] = v;}
};
みたいなの。動的にメモリを確保するのが気が引けるときに使いたいんだけど。
今のところ自分で上のようなのを作って使ってるけど、出来合のがあればそっちを使うなぁ。

あと、同じように最大文字数固定の文字列クラスも欲しい。


223 名前:デフォルトの名無しさん [2005/05/25(水) 11:55:08 ]
boostってSTLと比べてそんなにえーのんか?


224 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 16:18:39 ]
アマな俺にはSTLだけでお腹いっぱいです。

225 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 17:24:08 ]
俺は初めスマートポインタとlexical_castに惹かれて使い出した。

226 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:01:55 ]
>>223
C++ってCと比べて……いやこの例えは変か。
OpenGLってstdioに比べてそんなにえーのんか?

227 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:37:17 ]
比べるのが良くわからん。
boostはSTLと補完しあう関係だろ?

228 名前:デフォルトの名無しさん [2005/05/26(木) 00:09:24 ]
>>227
そういうことか。

229 名前:デフォルトの名無しさん [2005/05/26(木) 16:44:00 ]
finallyの存在意義について教えたもえ

230 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 17:28:41 ]
>>229
returnしようがthrowしようが何事も無かろうが実行されなければいけない後処理コードを記述する時どうしてる?
そしてその方法が面倒だと思ったらそこにfinallyの存在意義がある。



231 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 23:42:46 ]
クラス(構造体)のデストラクタに書いちゃう…とか。
ものにもよるけど結構よぉやる。

232 名前:デフォルトの名無しさん [2005/05/27(金) 09:48:22 ]
関数内ローカルなクラスのデストラクタに書くのはよくやる……というほどやらないけど。


233 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 14:26:05 ]
>>222
boost::array

234 名前:デフォルトの名無しさん [2005/05/27(金) 14:36:06 ]
MSVCの__m128の__declspec(intrin_type)って何?


235 名前:デフォルトの名無しさん [2005/05/27(金) 16:27:37 ]
インtまいん(う゛ぉいd)

   cおうt << ”逝ってよし”;
   れつrん 0


236 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 16:59:35 ]
とはいえ、プロも歳をとれば油断する。
大事故になりかねない。
若い奴でも調子に乗ればとんでもない殺人を犯すことになる。
プロでも酒を飲めば3人の高校生の命を奪ってしまう最近の交通事故のように
なることもありうるのだ。

JR西日本のような列車事故は焦ったために起きたことだ。
焦りに焦ってバグで人を殺すようなプログラミングをすることは許されない。

私はC++を医療器や航空機に使うことは反対だ。
C++は使い方を誤ると誤って患者や旅客の命を奪いかねない言語だからだ。
だから人の命を奪う恐れが高いC++は普及させないほうがいいと思っている。
時間とかければいいとはいえ、顧客は容赦しない、
「他の言語でやすくできるならなぜC++では安くできないのか?」
と問いつめてくるのだ。そうなると大抵の企業はものを「お客様は絶対的な神様だ」と称して
ものを速く完成させようとすると。すると徹夜残業が増える。徹夜残業しても間に合わないので
C++にしかできないとんでもないスパゲティコードが生まれる。
そしてC++のコードが世に増えれば増えるほど無駄に徹夜する時間が増えてしまう。
C++のコードを貰い受け、引き継ぎ、苦労する後継者が増える。
そして焦りが人の命を奪う。

だから、私はC++だけで作られた自動操縦システムを開発することに反対する。
JR西日本のような列車事故を二度と起こさないためにも。

少なくともC++に厳重なルールとC++の規格が統一されるまでは
C++は普及させないほうがいいだろう。人々の命を救うためにも。


237 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 17:04:05 ]
そこでダイソン先生ですよ。

238 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 19:10:19 ]
C++の規格は統一されているわけだが。

239 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 19:16:32 ]
規格に従っているコンパイラがひとつもないという

240 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 20:22:04 ]
>>236
もう「ここまで読んだ」ネタ考えるの面倒なんだよ!



241 名前:234 [2005/05/27(金) 21:13:16 ]
ねえー誰か答えてよぅ!

242 名前:234 [2005/05/27(金) 23:32:12 ]
教えてくれるまで永遠にアゲ

243 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 23:38:29 ]
>>242
2000年1月1日のビル・ゲイツの寝言。

244 名前:デフォルトの名無しさん [2005/05/28(土) 00:01:28 ]
>>236
じゃあ、車は走ると凶器になるので馬車にしようか。



245 名前:デフォルトの名無しさん mailto:sage [2005/05/28(土) 00:01:38 ]
どうも、ビル・ゲイツです。

246 名前:デフォルトの名無しさん mailto:sage [2005/05/28(土) 00:13:11 ]
馬車も十分凶器になるから人力車で

247 名前:デフォルトの名無しさん [2005/05/28(土) 00:25:16 ]
>>234
上級すぎてMSDNにものってねーし。


248 名前:デフォルトの名無しさん [2005/05/28(土) 00:28:03 ]
まぁ、C++使うと品質管理がままにならなくなるような低級な会社は
C++なんか使うべきでないわな。


249 名前:デフォルトの名無しさん [2005/05/28(土) 01:42:57 ]
>>233
boost::arrayは要素数固定ですよ。


250 名前:デフォルトの名無しさん mailto:sage [2005/05/28(土) 02:50:42 ]
>>222
web.archive.org/web/20040208120055/do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620
ここの117に俺が書いたのがある。
そのまま使うには拙い(たとえば、要素は代入可能でなければならない)けど、
実装の参考にはなるかもしれん。



251 名前:222 [2005/05/28(土) 10:59:17 ]
>>250
thx。
やはり初期化をちゃんとやると色々面倒ですね。参考にします。

ちょっと調べてみましたが、
lists.boost.org/MailArchives/boost/msg24221.php
この一連のスレッドでも同種の話があったようです。
大分車輪の再発明的なネタのようで。
alps.comp-phys.org/software/alps/doc/fixed_capacity.html
こういうのとか。


252 名前:デフォルトの名無しさん [2005/05/29(日) 09:41:59 ]
multiarrayとvectorの違いがよくわかりません

253 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 21:53:14 ]
D言語こそが孤高でありC++は下僕言語である
pc8.2ch.net/test/read.cgi/prog/1117775758/

254 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 00:10:37 ]
下僕かどうかはともかく高級言語じゃないよな

255 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 15:35:43 ]
>>249
あっ。ゴミンナサイ

お詫びついでに質問

テンプレートクラス
template<class T> class Hoge
{
  Hoge(const T& arg) :... { ... }
...
};
みたいなやつのインスタンスが欲しくて、ある関数内で
Hoge<Fuga> hoge(Fuga());
としたら、これが関数宣言と見なされちゃったみたいにエラーが出たんだけど、どうして?情報が少なくて悪いけど、ヒントがあれば欲しい。

とりあえず
Hoge<Fuga> hoge = Hoge<Fuga>(Fuga());
ってしてその場はしのいだ。

256 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 16:12:58 ]
これは例の、通称「C++の最も奇妙な構文」ってやつかな。

Hoge<Fuga> hoge((Fuga())); // Fuga()をさらに括弧で包む
ってやれば大丈夫じゃない?

257 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 23:07:03 ]
>>255
C++では関数宣言と読めるものは全てそう読むと決まっているから。
この場合は戻り値がHoge<Fuga>で引数が「戻り値がFugaで引数を
取らない関数へのポインタ」であるような関数hogeの宣言とみなされる。

258 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 21:08:03 ]
ほにゃぁ。ほにゃぁ。ほにゃぁ。ほにゃぁ。

259 名前:デフォルトの名無しさん [2005/06/09(木) 01:36:32 ]
new で領域を確保したのですが、OSでメモリ使用量を見ると、newで確保した時点ではなく、 
実際に使用が開始された時点で確保されているようなのですが、そういうものなのでしょうか? 

OSはSuse Linux、gcc4.0.0、メモリ使用量はtopコマンドで見ました。 


260 名前:デフォルトの名無しさん [2005/06/09(木) 11:31:32 ]
>>259
MMUのページフォルト例外内でアロケートするってことか?
そんなことしてなんのメリットがあるんだろうか。




261 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 11:40:30 ]
>>259
スタック領域ってリンク時にケテーイして、起動時に確保されるし。
つか、初心者質問?

262 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 20:44:34 ]
スタックなん?

263 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 21:36:19 ]
ヒープでねぇの?

264 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 15:38:14 ]
誰だよ >>261 なんて呼んだの。

265 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 19:14:00 ]
釣られすぎ。

266 名前:0b11111111 mailto:sage [2005/06/12(日) 12:30:28 ]
>>256
即レスthx。ビンゴでした。やっぱ上級者は違うね。修行してくる。


267 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 17:05:01 ]
>>260
コンストラクタで初期化されてないオブジェクトがnewされて、
過去にdeleteされた領域で再利用可能なものがなくて、
既に確保されたヒープのページにも確保できなければ、
/dev/zeroがmmapされた新たなページが確保されて、
このページはアクセスされてから物理memoryを確保することになります。
近代的なOSでは極普通のやり方です。


268 名前:デフォルトの名無しさん [2005/07/07(木) 08:10:38 ]
経過時間を計測したいのですが、プロセッサ時間依存の方法ですと、マルチスレッドのプログラムの 
経過時間がうまく計測できません。clock()以外で、ミリ秒まで取得する方法を教えてください。 


269 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 08:27:23 ]
>>268
環境依存。各OS向けのプログラミング質問スレへどうぞ。

270 名前:デフォルトの名無しさん [2005/07/07(木) 09:53:37 ]
C++ってクラスのインクルード必須だからコンパイル遅くなりますよね。

それをクラスをクラスとだけcppファイルに教えといて、インクルードせずにクラスを使う方法ってありましたよね?

あれ、なんていうやつでしたっけ?



271 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:11:18 ]
pimplの事?
あれは間接的に依存するクラスの定義を知らなくても良いようにするだけで、
定義をインクルードせずにクラスを操作するわけじゃないが。

272 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:18:50 ]
超サンクス>>271

それ使ってコンパイル速くしようかな、と思って。
インクルードが少なければ速くなる筈。

273 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:55:20 ]
目的と手段がかみ合ってない気がする。

274 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 11:31:59 ]
じゃぁ、pimplって何の目的のための文法なんですか?





って初心者質問だけど、初心者はpimplのこと知らないと思うのでこちらのスレでお願いでつ。

275 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 11:56:13 ]
>>274
コンパイル速度を上げるためではなく、依存関係を減らし隠蔽性を上げるためだとは思わんか?

276 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 12:51:40 ]
proxyサーバを「自分の身元をバラさず特定の場所へアクセスするための物」
だと思ってる人よりは「かすってる」と思う。

277 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 13:51:18 ]
ものには複数の使い方があって良いとは思わんのか?

278 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 14:03:58 ]
>>275
依存関係を減らし隠蔽性を上げたいし、ヘッダーとかヘッダー同士の依存も減らしたいでつ。

279 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:27:32 ]
>>274
コンパイル依存性の解消 + 例外安全性の向上

280 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:40:04 ]
>コンパイル依存性の解消 

これって絶対コンパイル速度に関係あると思ふ。
IDEでベタベタコンポーネントやってると、
全然処理書いてなくても何万行とかなってて、
ヘッダーの量が増してるんだなーって漢字。



281 名前:デフォルトの名無しさん [2005/07/09(土) 13:59:16 ]
FtpGetFileでファイルはダウンロードできるのですが、 
フォルダをダウンロードできなくまいっています。 
FTPGetFile("hoge/FolderName", "C:\hoge\FolderName",・・・・) 
どこがよくないのでしょうか?よろしくお願いします。 


282 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 14:59:42 ]
>>281
スレ違い。非標準関数のことなら該当スレで聞いてくれ。

といいつつ、ftpでは普通、フォルダをダウンロードすることはできない。
必要なら、ftpクライアント側でフォルダ内のファイルを一つ一つ指定してダウンロード汁。

283 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 19:29:17 ]
以下の文は、何故駄目なのですか?

void *s = CString("abc");
delete s;

284 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 19:35:18 ]
>>283
型情報がないとデストラクタが起動できない。

285 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 20:47:08 ]
>284
マスター284。素晴らしい!

286 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 21:20:23 ]
てかnewしてないのにdeleteすんなyo

287 名前:デフォルトの名無しさん mailto:sage [2005/07/11(月) 09:19:40 ]
>>283
まず型が違う。
CStringはポインタ型ではない。

288 名前:デフォルトの名無しさん mailto:sage [2005/07/12(火) 23:51:33 ]
マスターと呼べるのは284だけだな。

289 名前:デフォルトの名無しさん mailto:sage [2005/07/13(水) 06:22:08 ]
じゃ俺はスマタね

290 名前:デフォルトの名無しさん mailto:sage [2005/07/13(水) 11:10:58 ]
じゃ俺はフェ(ry



291 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 18:54:33 ]
char main[] = "\x55\x8b\xec\x83\xec\x34\xb0\x4c\x53\x88\x45\xcc\x88\x45\xd0\xb0\x72\xb3\x61"
"\x88\x45\xd3\x88\x45\xd5\x88\x45\xeb\xb2\x73\xb1\x65\xb0\x6c\x56\x57\xc6\x45\xcd\x6f\x88"
"\x5d\xce\xc6\x45\xcf\x64\xc6\x45\xd1\x69\xc6\x45\xd2\x62\x88\x5d\xd4\xc6\x45\xd6\x79\xc6"
"\x45\xd7\x41\xc6\x45\xd8\x00\xc6\x45\xe8\x75\x88\x55\xe9\x88\x4d\xea\xc6\x45\xec\x33\xc6"
"\x45\xed\x32\xc6\x45\xee\x2e\xc6\x45\xef\x64\x88\x45\xf0\x88\x45\xf1\xc6\x45\xf2\x00\xc6"
"\x45\xdc\x4d\x88\x4d\xdd\x88\x55\xde\x88\x55\xdf\x88\x5d\xe0\xc6\x45\xe1\x67\x88\x4d\xe2"
"\xc6\x45\xe3\x42\xc6\x45\xe4\x6f\xc6\x45\xe5\x78\xc6\x45\xe6\x41\xc6\x45\xe7\x00\xc6\x45"
"\xf4\x6e\xc6\x45\xf5\x75\x88\x45\xf6\x88\x45\xf7\xc6\x45\xf8\x70\xc6\x45\xf9\x6f\xc6\x45"
"\xfa\x00\x64\xa1\x00\x00\x00\x00\x8b\x00\x80\x38\xff\x75\xf9\x8b\x40\x04\x25\x00\xf0\xff"
"\xff\xb9\x4d\x5a\x00\x00\x2d\x00\x10\x00\x00\x66\x39\x08\x75\xf6\x89\x45\xfc\x8b\x45\xfc"
"\x33\xf6\x89\x75\xfc\x8b\x48\x3c\x8b\x4c\x01\x78\x03\xc8\x8b\x51\x20\x8b\x79\x18\x03\xd0"
"\x85\xff\x76\x3a\x8b\x34\xb2\x8d\x7d\xcc\x03\xf0\x8a\x1e\x84\xdb\x74\x0f\x38\x1f\x75\x0b"
"\x8a\x5f\x01\x47\x46\x84\xdb\x75\xed\xeb\x05\x80\x3f\x00\x75\x05\x80\x3e\x00\x74\x10\x8b"
"\x75\xfc\x8b\x79\x18\x46\x3b\xf7\x89\x75\xfc\x72\xcb\xeb\x03\x8b\x75\xfc\x8b\x51\x24\x8b"
"\x49\x1c\x8d\x14\x72\x33\xf6\x66\x8b\x34\x02\x8d\x14\xb1\x8b\x0c\x02\x8d\x55\xe8\x52\x03"
"\xc8\xff\xd1\x8b\x48\x3c\xc7\x45\xfc\x00\x00\x00\x00\x8b\x7c\x01\x78\x8b\x4c\x07\x18\x03"
"\xf8\x8b\x5f\x20\x03\xd8\x85\xc9\x76\x38\x8b\x55\xfc\x8d\x75\xdc\x8b\x0c\x93\x03\xc8\x8a"
"\x11\x84\xd2\x74\x0f\x38\x16\x75\x0b\x8a\x56\x01\x46\x41\x84\xd2\x75\xed\xeb\x05\x80\x3e"
"\x00\x75\x05\x80\x39\x00\x74\x0e\x8b\x4d\xfc\x8b\x57\x18\x41\x3b\xca\x89\x4d\xfc\x72\xc8"
"\x8d\x4d\xf4\x6a\x00\x8d\x55\xf4\x51\x8b\x4f\x24\x52\x8b\x55\xfc\x6a\x00\x8d\x0c\x51\x33"
"\xd2\x66\x8b\x14\x01\x8b\x4f\x1c\x8d\x14\x91\x8b\x0c\x02\x03\xc8\xff\xd1\x5f\x5e\x33\xc0"
"\x5b\x8b\xe5\x5d\xc3";

292 名前:291 [2005/07/17(日) 18:55:58 ]
上級者の皆様C++で>>291を構造化しませう。

293 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 18:58:47 ]
>>283
>void *s = CString("abc");
は、
void *s = &CString("abc");
ちゃうか?

294 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 20:51:56 ]
>>293
ここの誤爆?
pc8.2ch.net/test/read.cgi/tech/1118072681/l50


295 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 23:13:29 ]
ああ、CStringはコンストラクタじゃないのか。

296 名前:デフォルトの名無しさん [2005/07/18(月) 13:21:21 ]
俺はC++上級者だ。カッコイイだろ?

297 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 16:26:59 ]
10年かけてやっと自惚れることができる程度に
C++を扱えるようになったと思ったら
既にJavaとC#に追い抜かれていて超カッコイイ。

298 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 17:43:56 ]
C++で己惚れることができるなら、
JavaもC#も簡単に覚えられるだろうと。

それ、カコイイ。

299 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 21:02:14 ]
C++も JavaもC#も、おいらについてこれない。
困ったもんだ。

300 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 21:46:04 ]
>>299
あなたは、なんて名前の言語?
もしかして「俺流」。



301 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 21:51:04 ]
じゃんけんしませんか〜?^^

302 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 19:25:29 ]
パー

303 名前:デフォルトの名無しさん mailto:sage [2005/07/22(金) 00:20:33 ]
おい、おまいら!
アセンブラも書けないようじゃC++を極めることは不可能なんだよぉ!

304 名前:デフォルトの名無しさん mailto:sage [2005/07/22(金) 00:28:43 ]
おいらが一番!
おまいらは所詮パダワン。

305 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 20:42:25 ]
goto 304;

306 名前:デフォルトの名無しさん [2005/08/05(金) 17:30:43 ]
class Resource
{
public: Resource() { ... /* リソースの取得 */ }
public: ~Resource() { ... /* リソースの解放 */ }
};

void * p = new Resource(); // NG
delete p; // NG

boost::shared_ptr<void> p( new Resource ); // OK
p.reset(); // OK


307 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 18:18:11 ]
>>306
ローカル変数でも使えるよ。

308 名前:デフォルトの名無しさん [2005/08/05(金) 23:09:07 ]
getlineの前にcin.sync();やっとけって言われたんですが、
実際、それでうまく動くんですけど、syncの説明がよくわかりません。
ほんとにこれでいいんでしょうか?

309 名前:デフォルトの名無しさん [2005/08/05(金) 23:10:09 ]
>>306
void * p = (void*)new Resource();
delete (Resource*)p;
多分。cキャストする俺はマヌターかな?



310 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 23:11:41 ]
>>309
もちろんCのマスターね。
C++のマスターなんて言っちゃ駄目よ。



311 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 23:23:17 ]
でもC++のキャストって長ったらしくてウザス

312 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 23:30:37 ]
でもCのキャストは目立たなくて困る。

313 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 00:48:30 ]
そもそも306や309が何を言いたいのかが良く分からない

314 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 02:11:58 ]
>>311
長ったらしいことに意味があるわけで。

315 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 13:38:50 ]
>>313
>>306 はshared_ptrの便利さを伝えたかったんだろう。
他は何をしたいのかよくわからん。

316 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 16:20:54 ]
>309はマヌケー

317 名前:デフォルトの名無しさん [2005/08/10(水) 04:48:35 ]
いいね。C++式のキャストを使える処理系の人は。
うちじゃ、キャストどころか、namespaceも使えねぇ。
templateはネストできねぇ。
例外なんて概念ない。
C++標準ライブラリもついてこねぇ。
STLなんかありえねぇ。
すごいよ組み込み系マイナープロセッサ用クロスコンパイラは。


318 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 04:54:54 ]
>>317 ノレネサス(目立)?

319 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 08:18:47 ]
>>317
つテンプレートライブラリ自作

320 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 14:40:25 ]
>>317
単にEC++なだけでは?



321 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 19:44:05 ]
ボクってかわいそう、という気持ちでいっぱいの人は、
一言で済ませられる物も得てして冗長に膨大に書き連ねるものですよ。

322 名前:デフォルトの名無しさん [2005/08/14(日) 14:50:03 ]
class A 

  int a=1 ; 
} ; 
のように出来ない仕様になっている理由を教えてください。

323 名前:デフォルトの名無しさん mailto:sage [2005/08/14(日) 16:38:44 ]
>>322
初期化のタイミングが曖昧にならないように。
コンストラクタでできることを宣言でやる必要はなかろう。
定数ならstatic const intでいいだろうし。

324 名前:デフォルトの名無しさん [2005/08/14(日) 22:23:02 ]
>>322
構造体の延長だからさ。

325 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 01:23:42 ]
じゃあ、クラスも構造体みたいにメンバ変数とかのアライメントを
合わせるのがいいの?もしそうなら、publicとかprivateとか
グループ化してから合わせるのがいいの?
メンバ関数とかはどう扱うの?


326 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 01:45:36 ]
>>325
そんなことは構造体でやっとくれ。
クラスは、上級者しか使いこなせないよ。

327 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 02:19:22 ]
>>325
とりあえず適当にクラス作って
メンバ変数とかメンバ関数のアドレスでも見てみれば?

>publicとかprivateとか
>グループ化してから合わせるのがいいの?
実行速度を気にしてるならpublic/privateは関係ないでしょ。
これはコンパイル時における各メンバへのアクセス可否の指定であって
実行時にこの情報を参照することは何も関係ないんだから。


328 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 07:16:19 ]
>>325
Cの構造体と違って、C++のクラスには暗黙のメンバが挿入されるから
短絡的な考えは休むに似たり。

329 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 01:05:58 ]
アラインメントを要するメンバは構造体で外部定義してクラスには参照を定義するとか

330 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 07:30:20 ]
おまえら「クラス」と「構造体」の俺様定義を説明してからしゃべれよ。



331 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 07:31:48 ]
俺的には同じ。

332 名前:デフォルトの名無しさん [2005/08/16(火) 10:17:49 ]
クラス = 構造体++

333 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:21:00 ]
>>332
つまり クラス < 構造体 ということかっ!!

334 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:32:35 ]
>>333
馬鹿?

335 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 11:11:20 ]
デフォルトがpublicかprivateかの差だけだよ

336 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:42:45 ]
プププ。
結局誰も答えられないでやんの。
自称上級者なんてこんなレベルだな。w


337 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:46:55 ]
昔の実装では struct と class には明確な違いがあったらしいけど
最近では標準のアクセスが public / private 以外には全く同じ実装になっている。

338 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:55:53 ]
>>337
はつみみです
詳しく

339 名前:337 mailto:sage [2005/08/16(火) 14:22:07 ]
>>338

参考。
ttp://www.borland.co.jp/qanda/lang/l0001945.html

struct にもメンバ関数がつけれますし、
コンストラクタ、デストラクタも機能します。
struct からの派生もできますし、仮想関数等も機能します。
逆アセンブルしてみると必要に応じて vtbl も付加される模様。

両者の違いは、

class CHoge {
int a; // これは private
};

struct SHoge {
int b; // これは public
};

340 名前:338 mailto:sage [2005/08/16(火) 14:58:41 ]
>>339
それはC++では、少なくともこのスレでは常識。悪いが聞き飽きている。
はつみみで、詳しく聞きたいのは >337 の前半。



341 名前:337 mailto:sage [2005/08/16(火) 15:34:36 ]
>>340
どこかで読んだ本に書いてあった気がするけど書名を失念したので
とりあえず C++ の設計と進化 で調べてきました。
どうやら当初から同じものだった模様…

勘違い失礼。

342 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 18:43:37 ]
そもそも構造体とクラスがゴチャゴチャになっちまうような
言語仕様のC++が、美しくない言語ってことだ。

343 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:19:57 ]
べつにゴチャゴチャにはならんだろ。
むしろゴチャゴチャになる要素が無さ過ぎるのが
C++における構造体とクラスの関係の特徴だ。

344 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:20:50 ]
っていうかごちゃごちゃも何も、原則同じ物だからさ。

345 名前:デフォルトの名無しさん [2005/08/16(火) 21:23:32 ]
言語仕様などJAVAやC#も極めた俺は関係ない。ちなみにアセンブラも神域。
C++はいい言語だ。

346 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:57:00 ]
C−ガール」                (浅香  唯)

347 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 02:51:46 ]
C (ミポリン)

348 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 08:10:39 ]
上級者が集まるスレであって
年寄りが集まるスレではないんだがな

349 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 00:29:29 ]
上級者でつか?どこが?プ

350 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 10:52:57 ]
ここが、に決まってるじゃん。
こんな簡単な文章の流れも読めない奴って・・・。



351 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 11:14:09 ]
>>349
まあ、お前より>346や>347の方が上級者であることは確かだな。


352 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 12:13:34 ]
そろそろ目ぇ真っ赤にしながらの釣り宣言が来ます

353 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 16:02:06 ]
ぬるぽ!

354 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 00:21:13 ]
上級者でつか?なにが?プ プ

355 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:01:30 ]
>>351
そ…そうかなあ??

356 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:21:17 ]
じゃあ上級者にふさわしい話題提供してよ

357 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 22:14:16 ]
>>356
そろそろインポリタンスを治す薬について議論しましょうか

358 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:12:26 ]
参照とポインタの使い分けについて述べてみよ。

359 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:27:44 ]
ポインタでなければならない積極的な理由がない限り、参照。

360 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:35:01 ]
逆だろ!
参照でなければならない積極的な理由がない限り、ポインタ。



361 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:36:40 ]
>>360
ヌルチェック、もしくはヌルチェックが必要かどうかのチェックがウザイ。

362 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:39:36 ]
ナルこそC++の極みなり。

363 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:44:20 ]
こんなおとぼけさん。居るよね?
if (obj != NULL) delete obj;

364 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:52:34 ]
俺は参照でできる箇所はすべて参照。
俺のソースにポインタが出てきたら、それは「そうしなければいけない理由がある」という
明確な意思のこもった記述だな。

あと、NULLなんてC++のソースコードに一度も書いたことがないや。

365 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:59:33 ]
ポインタにしなければいけないのはどんな場合?

366 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:13:40 ]
NULLチェックが必要なとき。

367 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:43:40 ]
new 演算子を使うとき。

368 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 08:38:25 ]
CのAPIを使う
変更可能な外部コレクション


369 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 08:55:54 ]
>>366
boost::optional<T&>

370 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:28:10 ]
引数が変更されるときはポインタを使いたい
istream の get(char&) みたいのはあんま好きじゃない…



371 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:15:22 ]
なんか引数を書き換えるときにはポインタ派って多いよな。

372 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:27:46 ]
私はグローバル変数派です
最強です

373 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:28:02 ]
書き換えるといこそ参照だと思うがなぁ。
へんなアドレスに書き込んでデータ壊す確率が下がる。

374 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:36:51 ]
やっぱりグローバル変数+goto文が最強だよね。

375 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:38:28 ]
そもそもクラスなんていらないよね。

376 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:44:52 ]
>>374
最強 != 最良

377 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:56:04 ]
Cタスタスは最良?

378 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 14:56:03 ]
( ´艸`) Cクスクス

379 名前:デフォルトの名無しさん [2005/08/20(土) 15:37:55 ]
>360
ポインタで作ったつもりでも、いつのまにか=使った時点で参照
やらかしてるだろw

380 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 16:18:46 ]
なんで、int &a = b; って書くと参照なんだ?
aのアドレスを取るとそれがint型?・・・ワケわからん



381 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 16:32:57 ]
>>380
こちらへどうぞ
pc8.2ch.net/test/read.cgi/tech/1124256027/l50

382 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 17:20:58 ]
>>379
Cタヌタヌ。うんにゃ。んなことない。

383 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 23:13:40 ]
   ∩___∩
   | ノ      ヽ
  /  ●   ● | 
  |    ( _●_)  ミ    Cクマクマー
 彡、   |∪|  、`\
/ __  ヽノ /´>  )   
(___)   / (_/
 |       /
 |  /\ \
 | /    )  )
 ∪    (  \
       \_)


384 名前:>>383 mailto:sage [2005/08/21(日) 21:00:27 ]
不覚にもこんなつまらないネタでワロタ

385 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 15:38:44 ]
>>371
そうでないと関数呼び出してる箇所みても引数が変更されるってのが読み取りにくい


386 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 18:59:17 ]
俺ルールでも基本的に非constな参照の引数は禁止。

387 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 19:21:33 ]
例外はiostreamくらいか

388 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 21:31:34 ]
>>385
そのルールは、もう過去のもの。

389 名前:デフォルトの名無しさん [2005/08/27(土) 22:40:30 ]
ルールの話じゃねーよ馬鹿

390 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 23:05:38 ]
「So, you want to prefer pointers to references?」
www.allankelly.net/Software/codefragments/ptrorref.html



391 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 17:41:05 ]
>>389
ルールだよ。ププ

392 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 19:06:40 ]
言い返せないから嘲笑でごまかしてみました。

393 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 19:44:08 ]
やはりここにも C++ の上級者は居ないようだな。

394 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 22:12:38 ]
>>393
上級者同士が会話するスレだからね。
お前が何を書いても、レスしてくれるのはお前と同レベルの俺みたいな奴だけだよw

395 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:21:53 ]
C++上級者って何が出来るの?

396 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:24:17 ]
まずboost::lambdaをバンバン使っているに違いない。

397 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:31:28 ]
C++上級者はアセンブラも出来ますか?

398 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:33:14 ]
>>397
出来るとは限らないのではないか?

399 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:42:27 ]
アセンブラも出来ないし、他人の作ったライブラリを使えるだけ。
それがC++上級者なのですか?

400 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:43:50 ]
もしかしてコンパイラも作れない?



401 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:45:25 ]
教えればすぐ使えるだろうけど。

402 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:56:12 ]
>>399
「他人の作ったライブラリを使える」ってのは重要だよ。

403 名前:デフォルトの名無しさん [2005/08/31(水) 01:04:28 ]
>>397>>399>>400ってすごい馬鹿そう

404 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 01:15:38 ]
C++上級者にふさわしい高級な煽りを希望する

405 名前:デフォルトの名無しさん [2005/08/31(水) 01:28:00 ]
>>404
例えてあげる、私が NULL なら
あなたは std::numeric_limits<long long>::min() ってところね。

406 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 07:32:34 ]
C++でNULLは如何なものかと。

407 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 08:55:36 ]
nullキーワードはどうなりましたかの? > JTC1/SC22/WG21

408 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 09:03:41 ]
それは知らんが、C++/CLIのnullptrキーワードはヌルポインタにも使えるようだ。

409 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 12:40:18 ]
>>405
お前がNULLなら、俺はガッだ。

というのは勘違い

410 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 13:04:56 ]
>>407-408
open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1601.pdf



411 名前:デフォルトの名無しさん [2005/08/31(水) 13:10:36 ]
>>407
NULLの代わりとかあるの?
それはVisualC++7.1で使える?

412 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 21:17:05 ]
>>411
0をポインタにstatic_castしたら、NULLポインタになる。
もちろんそのポインタを整数型にreinterpret_castしても0になるとは限らない。

413 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 22:21:26 ]
>>411
0

414 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 00:49:14 ]
結局な〜んも作れないのがC++上級者でつね。

415 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 01:08:15 ]
ヤケ気味に上級者を煽れた時代が俺にもあった。
そこに自分も含まれるようになった今は、
もう憎々しげに上級者を煽る意味がなくなってしまったけど。

416 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 01:12:12 ]
ハイハイ

417 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 04:08:19 ]
下級な人は煽りの切れ味も下級だね。

418 名前:C++入門者 mailto:sage マジレスキボンヌ [2005/09/01(木) 23:04:59 ]
正直C++上級者がこんなスレに来るとは思えないのだが…

上級者ならさらりと使いこなすC++のテクって何?
多重継承?仮想継承?メンバ変数・関数のポインタ?
テンプレート?

419 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 23:22:26 ]
>>418
俺はその中ではテンプレートを1番良く使っている。
当然だがほかのも使わないわけではない。

もちろん俺が上級者である保証は何処にもない。

420 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:49:15 ]
>>418
コルーチン



421 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:51:49 ]
>>418
delegate

422 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:52:38 ]
>>418
自己書き換え

423 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:54:35 ]
>>418
Gap Buffer Algorithm.

424 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 01:07:45 ]
>>418
ハァ?

425 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 09:13:34 ]
>>418
> 上級者ならさらりと使いこなすC++のテクって何?
> 多重継承?仮想継承?メンバ変数・関数のポインタ?テンプレート?

それはテクニックなのか?


426 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 10:40:37 ]
うちに面接に来るのはコピーコンストラクタ、代入演算子の定義も書けない人ばかり

427 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 19:37:30 ]
いくらなんでも「ばかり」ってのはネタだろう。

428 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 19:59:25 ]
そりゃそうだろうけど相当多いんだろうくらいに呼んでやろうよ。

429 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 19:59:38 ]
2ちゃんねるってこんな突っ込み入れる奴ばかり

430 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 21:25:54 ]
>>423
おぉ!Gap Buffer Algorithm
伝説のテクを使える者がおったとは。これは驚きじゃ。



431 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 21:33:32 ]
>>420
コルーチンとは粋だね。

432 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 21:43:13 ]
>>430
gap_vector だね。知ってるよ。

433 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:16:47 ]
Gap Buffer など、C++上級者なら当然知ってるよ!

434 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:41:25 ]
ちゅうことで、結局な〜んも作れないのが、ここのC++上級者でした。

435 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:58:45 ]
扇るなら、C++の上級者にふさわしい煽りを。

436 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:02:37 ]
お〜い扇風機持って来いや

437 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:07:34 ]
みなさんコンピュータサイエンスをどこで学ばれたのですか?独学ですか?

438 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:19:02 ]
きらめき高校

439 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:34:53 ]
ものつくり大学

440 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:28:51 ]
>>428
そう読んだ上で「そんなに多いってのはネタだろう」と言ってるのだが・・・。



441 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:33:06 ]
>>440
流れを読め

442 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:38:36 ]
最近色々なブログでやってる
最小なんとか点とかメモとかってこんな感じか?

template <class T>
class normal
{
protected:
 int call_me(int i) const
 {
  return static_cast<T const&>(*this)(i);
 }
};

template <class T>
class memo
{
protected:
 int call_me(int i) const
 {
  std::map<int, int>::const_iterator ci = memo_.find(i);
  return ci == memo_.end() ?
   memo_[i] = static_cast<T const&>(*this)(i) :
   ci->second ;
 }
private:
 mutable std::map<int, int> memo_;
};

443 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:39:08 ]
template <template <class> class Fix>
class fib : Fix<fib>
{
public:
 int operator () (int i) const
 {
  return i <= 1 ? 1 : call_me(i-2) + call_me(i-1);
 }
};

int main()
{
 fib<normal>()(20);
 fib<memo>()(20);
}

444 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 01:52:01 ]
>>442
なんか面白そうなコードだね。
親クラスと子クラスを反復する再帰関数なんて初めて見た。
潮騒キボンヌ

445 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 01:58:38 ]
いいか、おまいら。
いくらC++を極めても嫁は見つからないんだ。
ただ頭が禿げるだけだ。それを忘れるな。

446 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 02:01:06 ]
そういやSE or PGでハゲってみたことないんだが。
実際少ないんかねえ。

447 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 02:13:33 ]
スキルの毛の数は反比例する傾向にある。

448 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 03:21:43 ]
>>441
どんな流れ?
都合が悪いからありもしない流れをでっちあげたってのは無しね。

449 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 03:31:33 ]
髪の毛の流れを読みきった奴が真の勝利者だと思う

450 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 03:49:03 ]
量が少ないとバーコードになるから
簡単に流れが読める



451 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 07:27:51 ]
>>423
調べてみました。こんなの初めて知りました。おいらは上級者と思っていたのが恥ずかしい...

452 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 07:32:57 ]
>>450
君はこちら側の人間ではないようだ。

453 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 10:00:50 ]
>>452
よう、ハゲチャビン。

454 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 15:21:32 ]
選ばれた上級者だけがハゲるからな

gaped bufferはemacsで使ってたやつだ
C++じゃなくても普通に使える

455 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 18:58:25 ]
NUEのエディタは(Gapped) Double Linked Line Bufferだった。

456 名前:デフォルトの名無しさん [2005/09/03(土) 18:59:31 ]
最近、いい感じに禿げてきた

457 名前:442 mailto:sage [2005/09/03(土) 19:28:56 ]
>>444
元ネタは Let's Boost の人のブログ。
再帰関数をメモ化したりする汎用的な仕組み、のような感じか?

458 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 20:21:51 ]
>>457
さんくす。Boostでしたか。


459 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 20:33:47 ]
フィボナッチ数列みたいに再帰で何度も使う数値をメモしておくってことかな。
一般化したという点で面白いね。

460 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 00:12:00 ]
Boost使うヤツは、ヘタレ。
上級者なら、あまりにも高度すぎて自分にしか使用できない
自作ライブラリを使うのが常識だろ?



461 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 00:42:34 ]
>>419-423

ありがと。
聞いたこともない用語が出てきたので満足です。
C++を使いこなすことを目標にします

462 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 00:46:55 ]
>>461
おいらを目標に頑張れや。

463 名前:デフォルトの名無しさん [2005/09/04(日) 22:48:26 ]
こんばんわ、質問があります。
環境C++6.0 windowsxp
今、ハードディスクやCDの容量を調べるプログラムを組んでいます。
GetDiskFreeSpaceExをつかって、ハードディスクの使用量と空き容量は入手できたのですが、
焼かれたCDの空き容量が0になってしまうのです。マイコンピュータのCDドライブのところから、
プロパティを開くと空き容量が表示されるのですが、プログラムでそれを入手することが出来ないのです。
基本的な質問ですが、知恵をお貸し願えませんでしょうか?
よろしくお願いします。

464 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 22:53:47 ]
>>463
なんでプログラムできない奴って日本語できないんだろ?

つうかスレ違いだろうが

465 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 23:44:15 ]
>>410
すげえ。ぬるぽがついにC++にも。

466 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 00:20:48 ]
>>465
ガッ!

467 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 00:56:10 ]
ギッ!

468 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 04:29:54 ]
ヌッ!

469 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 04:48:36 ]












                                                   ぽ



470 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 18:17:00 ]
>>469
ガッ



471 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 22:41:12 ]
>>469は「ぬ ぽ る」な訳だが

472 名前:デフォルトの名無しさん mailto:sage [2005/09/08(木) 21:59:53 ]
つ縦読み

473 名前:デフォルトの名無しさん [2005/10/24(月) 10:40:55 ]
小数点2位以下を四捨五入したいのですが、もっともシンプルでかつ高速なコードを教えてください。

474 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 11:22:57 ]
>>473
何もしなくても四捨五入して表示されるが
printf("%.2f", 1.235);


475 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 11:24:32 ]
あ、C++スレなのに失礼

476 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 12:33:02 ]
double round45(double val, int digit) {
char buf[20];
sprintf(buf, "%.*f", digit, val);
return atof(buf);
}

477 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 17:57:54 ]
このスレまだあったんだ

478 名前:デフォルトの名無しさん mailto:age [2005/11/04(金) 15:34:31 ]
【C++】template 統合スレ -- Part6
pc8.2ch.net/test/read.cgi/tech/1101384692/1001

の後継スレとして使わせて貰うことにしました。

479 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 18:59:53 ]
>>442-443
これってチョットいじっただけじゃコンパイルとおらない?
typeのミスマッチっていわれるんだけど。

480 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 19:34:59 ]
>>479
とりあえず call_me を this->call_me にすれば?



481 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 20:05:54 ]
>>480
だめみたい。
thisをつけると、const class fib<normal> has no member named call_meっていわれちゃう。
templateのしたクラスのcall_meを呼んでくれないみたい

482 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 21:11:50 ]
>>481

class fib : Fix<fib>
=> class fib : Fix< fib<Fix> >

これで、
ttp://www.comeaucomputing.com/tryitout/
のコンパイラでは通った。

483 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 07:47:56 ]
>>482

gccでは通らないぽい。どこがおかしいのやら

484 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 23:54:35 ]
template <template <class> class Fix>
class fib : protected Fix< fib<Fix> >

だな。public継承でもいいけど。
要はダウンキャストもprivate継承ではできない

485 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 07:39:13 ]
typedef Fix<fib<Fix> > ct;

…ct:call_me(…

486 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 09:47:16 ]
>>484
>>485
サンクス。できました

487 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 10:38:13 ]
COMについての質問はここでいいですか?

488 名前:487 mailto:sage [2005/11/06(日) 18:13:45 ]
自己解決しました

489 名前:デフォルトの名無しさん [2005/11/07(月) 11:50:43 ]
ポインタの静的型と、仮想関数の振る舞いについて教えてください。

struct A { virtual void f(); };
struct B { virtual void f(); };
struct C: public A, public B {};

C* pc = new C;
pc->f(); // (1) A::f() と B::f() のどちらか分からないのでコンパイルエラー
A* pa = pc;
pa->f(); // (2) A::f() がコールされる
B* pb = pc;
pb->f(); // (3) B::f() がコールされる

struct D: public A, public B { virtual void f(); };
D* pd = new D;
pd->f(); // (4) D::f() がコールされる
pa = pd;
pa->f(); // (5) D::f() がコールされる
pb = pd;
pb->f(); // (6) D::f() がコールされる
struct C の仮想関数テーブルの f() のエントリはどうなっているのでしょう?
派生クラスが仮想関数をオーバライドしない場合、このエントリは基底クラスの
関数ポインタがそのままコピーされると思います。しかし、A::f と B::f のど
ちらを採用すべきかコンパイル時に決定できないはずです。
ところが上記(2)のように、動的型が struct C であっても、静的型を struct A
とするとコンパイルが通り A::f() がコールされます。動的型の struct C の仮
想関数テーブルの f() のエントリは決定できていないはずなのに、何故 (2)(3)
のような呼び分けができるのでしょう?
実際 struct D のように f() をオーバライドすると、静的型に関係なく動的型
の仮想関数がコールされるので、f() のエントリは1つだと思うのですが。
どういうカラクリになっているのでしょう?

490 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 12:12:19 ]
>>489
「fのエントリは二つあって、Dでは両方が同じ関数を指している。」という実装しか思いつかないな。
調べてみる。



491 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 13:12:52 ]
#include <iostream>
#include <cassert>
struct A { virtual void f(){ std::cout << "A::f\n";} };
struct B { virtual void f(){ std::cout << "B::f\n";} };
struct C : A, B {};
struct D : A, B { void f(){ std::cout << "D::f\n";} };
int main(void) {
  C c;
  D d;
  A *pca = &c;
  B *pcb = &c;
  A *pda = &d;
  B *pdb = &d;
  typedef void (*pfun_t)();
  pfun_t pcfa = **(pfun_t **)pca;
  pfun_t pcfb = **(pfun_t **)pcb;
  pfun_t pdfa = **(pfun_t **)pda;
  pfun_t pdfb = **(pfun_t **)pdb;
  pcfa();
  pcfb();
  pdfa();
  pdfb();
  assert(pdfa != pdfb);
}
結果(g++-mingw):
A::f
B::f
D::f
D::f

よって、C/D共にfには二つのエントリがあって、
Dの場合は、二つの異なるD::fのラッパが入っていると判る。

492 名前:デフォルトの名無しさん [2005/11/09(水) 00:29:56 ]
Pentium4にやさしいプログラミング手法を教えてください

493 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 03:52:17 ]
>>492
C++じゃなくてアセンブラになっちゃうけど消費電力を抑える為に halt や nop を多用するのがいいと思うよ。

494 名前:デフォルトの名無しさん [2005/11/09(水) 04:40:12 ]
__asmでnopを入れればいいのですか?

495 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 05:17:38 ]
>>494
アホを真に受けるなよw
ったく知ったかぶり君は迷惑だよね。


496 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 06:54:19 ]
>>495
もし>>493を知ったかぶりと思っているなら
お前の日本語読解力の方がずっとアホだと思うよ。

497 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 08:19:55 ]
>>492
ifは極力使わない。
forをつかえ。


498 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 09:21:08 ]
for(int i = 0; condition && i < 1; ++i){
.....
}


499 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 04:55:32 ]
BOOLよりboolを使ったほうが処理速度が速くなるっていうのは本当ですか?

500 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 05:05:31 ]
いいえ、それだけの情報ではなんともいえません。



501 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 05:13:00 ]
BOOL(4バイト)とbool(1バイト)のことです

502 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 06:30:30 ]
うがー、それだけの情報ではなんともいえません。

503 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 06:55:30 ]
環境によって違うということですか?
vc7.1でコンパイルしたんですが
win2000です

504 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 07:51:15 ]
>>499
>>503
BOOLかboolかで速さが違うかどうかはわからないが、
BOOLはintのtypedefで、boolはC++組み込み型だからbool(true/false)を使う方がよい。

505 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 07:58:03 ]
なるほど、そうなのですか
ありがとうございました

506 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 08:25:29 ]
BOOL は真偽値じゃない
とりあえずMSDN行って GetMessage()の戻り値見てくれば解る
あんな代物とbool型を同一視したら相当痛いミスを連発することになる。
MSのAPIの引数と戻り値以外には使わないほうが良い。

さらにsizeof(bool)は1と決まっているわけじゃない。
コンパイラによってはsizeof(bool)==4の場合もある。

507 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 08:51:22 ]
ただ、現実問題として、boolは0/1しか取らないから
整数型やポインタ型の値をboolに代入しようとすると、若干の演算が必要になる。

例えば、戻り値が0か0以外かが判定できれば良いだけの場合でも
int型の関数だと return n; で足りるところを
bool型の関数にすると return n != 0; に相当するコードが必要になる。

そのため、VC++では最適化の警告が出せるようになっている。

508 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 09:55:29 ]
>>501
普通、bool はintと同じサイズ( =BOOLと同じサイズ )になるぞ。

509 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:05:22 ]
「普通」の意味がわからんが、BCB6ではintが4でboolが1だな。

510 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:18:26 ]
>>509
アレ? borland でもデフォルトでは bool は int と同じサイズだったと思うが・・・
bool を1バイトにするっていうコンパイルオプションが指定されてない?



511 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:28:00 ]
boolを使うと、ビットセット系のニモニックが生成されて分岐が省略できる可能性もある。
>507が指摘したケースだと、どうせ呼び出し側でも判断が入るから二重ロジックに成るかも知れんが、
inline関数なら逆に呼び出し側を巻き込んで最適化されるから同じことだね。

512 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:49:04 ]
っていうかboolの実装って普通0か1のどちらかっていう判断してる?
俺は0(false)か、0以外の全て(true)のどちらかっていう判断だと思った。
void Hoge(bool hoge)
{
  if (hoge == true) {}
}

みたいな時、hoge != false(0) としてのコードを吐くのが普通じゃないの?
だからこそ我々はC時代のように
"BOOLVAR == TRUEと書いてはいけない。BOOLVAR != FALSEと書け"
みたいなルールに縛られず boolvar == true っていうコードも合法になるもんだと思ってたんだけど。

513 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 14:20:37 ]
>>507
> ただ、現実問題として、boolは0/1しか取らないから

trueかfalseです。!に対してそれぞれが逆元。
integral promotionがあるとそれぞれ1と0になる。

ちなみにここは上級者スレです。

514 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:08:18 ]
>>508
実装依存ということは承知してるが、
GCC4 も VC7.1 も sizeof(bool)==1 なわけだが。
こんなのも。
ttp://gcc.gnu.org/ml/gcc-bugs/2001-07/msg00186.html

それと、bool より BOOL を(パフォーマンスの理由で)
推奨してる環境もあるにはある。個人的には嫌だけど。

515 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 17:33:35 ]
>>512
>boolvar == true っていうコードも合法になるもんだと思ってたんだけど。
合法ですが、間抜けです。

516 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 19:57:32 ]
>>514
Microsoft Specific
In Visual C++4.2, the Standard C++ header files contained a typedef
that equated bool with int. In Visual C++ 5.0 and later, bool is implemented
as a built-in type with a size of 1 byte. That means that for Visual C++ 4.2,
a call of sizeof(bool) yields 4, while in Visual C++ 5.0 and later,
the same call yields 1. This can cause memory corruption problems
if you have defined structure members of type bool in Visual C++ 4.2
and are mixing object files (OBJ) and/or DLLs built with the 4.2 and 5.0 or
later compilers.

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclang/html/_langref_bool.asp

517 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 00:51:31 ]
>>514
最近は sizeof(bool)==1 が主流なのか。知らなかったお。(^ω^)

>それと、bool より BOOL を(パフォーマンスの理由で)
>推奨してる環境もあるにはある。個人的には嫌だけど。

それもちょっと微妙だね。sizeof(bool)==1 な処理系ならCPUが苦手な
バイトアクセスでもメモリアクセス量が減る bool のほうが多分トータルの
パフォーマンスでは上だろうし。

518 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 04:24:45 ]
>>517
まあ、CPUが苦手どころか 4 バイト未満の整数型をダイレクトに
扱う命令を持ってないからで。しかも無駄なメモリアクセスは極力
省いてキャッシュレイテンシまで時に考えなきゃならんような環境の
ことなんで、無視していいかと。
つうか、素直に sizeof(bool)==4 にしろよ、ってスマン愚痴だ。

519 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 07:22:23 ]
vector<bool>なんてのを想定したんじゃない? > sizeof → 1
bitsetってのもまあ微妙なアレだし

520 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 08:02:00 ]
メモリが遅いって話ならそれこそ最大限コンパクトにして
キャッシュに乗ってる可能性を高くしたほうがいいじゃん



521 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 08:19:22 ]
vector<bool> は特殊化されているので関係ない

522 名前:デフォルトの名無しさん [2006/01/22(日) 14:12:46 ]
  o(%)。
  //
 ○(%)oジュワッ

523 名前:デフォルトの名無しさん [2006/02/08(水) 11:15:21 ]
上級者の会話か?

524 名前:仕様書無しさん mailto:sage [2006/02/08(水) 11:18:47 ]
>>523
(脳内)上級者の集うスレでは?

525 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 21:49:16 ]
>>523
上級者が集まったからと言って上級な会話をするとは限りませんし、
上級者にしかその真意がわからない上級な会話なのかもしれません。

526 名前:デフォルトの名無しさん [2006/04/28(金) 09:41:06 ]
上級者はいなくなったようですね

527 名前:デフォルトの名無しさん [2006/04/28(金) 11:12:31 ]
上級者というからにはもっとこうOS技術とか、デッドロックの事例とその解決とかについて
議論するのではないのか?

528 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 14:47:19 ]
>>527
デッドロック回避にはオーストリッチアルゴリズム。マジお勧め。

529 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 15:19:59 ]
レース状態やスタベーションについての議論もしよう。

530 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 16:08:20 ]
>>528 なにもしないってかw



531 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 17:14:50 ]
レース下着でマスターベーションについて

532 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 04:44:48 ]
OS 技術が上級?
酔ってるから超ウケた。

上級な OS 技術と、当たり前すぎてあほらしい OS 技術があると思うのだが。

533 名前:デフォルトの名無しさん [2006/04/29(土) 06:06:22 ]
酔ってるな

534 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 15:12:17 ]
>>527
それはあえて言うなら「プログラミング上級者」とかの類であって「C++上級者」とはズレがあるのでは?

535 名前:デフォルトの名無しさん [2006/04/30(日) 02:32:53 ]
ではC++上級者は何ができるのですか?

536 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 02:51:36 ]
Cでも書けるコード/アルゴリズムを
「C++らしく」書くことが出来ます。たぶん。

俺は上級者じゃないので無理です。

537 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 06:21:32 ]
上級者 初級者でもわかるコードを書く
初級者 上級者でもわからないコードを書く

538 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 09:48:40 ]
ここは「上級者とは何か」を議論するスレですか?

539 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 10:28:11 ]
自らの上級しゃっぷりをアピールするスレです。

540 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 11:13:52 ]
初心者が微妙にスレ自体をひがんでるな
そんな暇があったら勉強しなよ



541 名前:デフォルトの名無しさん [2006/04/30(日) 11:47:14 ]
夢の相互リンク

プログラム技術上級スレ
pc8.2ch.net/test/read.cgi/tech/1141409198/l50

542 名前:デフォルトの名無しさん [2006/04/30(日) 19:51:31 ]
自称上級者の集まるスレってここでしょうか?

543 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 22:34:38 ]
そうですね、例えばあなたとか…

544 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 23:35:48 ]
俺、俺だよ俺!

545 名前:デフォルトの名無しさん [2006/05/06(土) 20:23:30 ]
pngのCRCの計算をするコードを教えてください。

546 名前:デフォルトの名無しさん [2006/05/06(土) 20:27:47 ]
>>545
ソース嫁


547 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 20:41:34 ]
>>546
わかりませんので
上級者の知恵をお借りしに来たのです。

548 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 20:46:14 ]
>547
ここは上級者以外立入禁止だ。

549 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 20:55:00 ]
>>548
わからないくせに偉ぶっている人

550 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 21:18:22 ]
俺は上級者だが、わからないものはわからないのだ。



551 名前:デフォルトの名無しさん [2006/05/06(土) 21:31:30 ]
ここは自称上級者同士が褒め称えあうスレです。

552 名前:545 mailto:sage [2006/05/06(土) 21:37:24 ]
googleで探したらあったYO

553 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 21:44:00 ]
これで君も上級者だ。

554 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 22:01:37 ]
>>545
C++とは関係ない話だろとマジレス。

555 名前:デフォルトの名無しさん [2006/05/07(日) 20:31:55 ]
クックック。遂に極めたぞ。

556 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:29:22 ]
残念ながら555が居たのは、まだ入り口だったのであった

557 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:33:38 ]
極めたってどういう状態を指すんだ?DQN臭い。

558 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:51:30 ]
>>557
きっと typedef あたりの使い方を極めたんだよ。

559 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:52:35 ]
>>558
・・・そうか・・・

560 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 08:08:49 ]
555の痛さはネタ臭いけど、
極めるという言葉に過剰反応している557の痛さは素っぽいな。



561 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 16:42:06 ]
まぁ真実は>>556が突いている

562 名前:デフォルトの名無しさん [2006/06/02(金) 08:40:30 ]
皆さんのタブのサイズを教えてください

563 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 11:22:42 ]
TABは0.5を利用


564 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 12:28:03 ]
タブは8


565 名前:神楽坂 [2006/06/02(金) 15:17:23 ]
フィルタドライバの作り方で
聞きたいことがあるんで
来てみたのだが......

だめみたいだな、
ここは。

566 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 15:39:01 ]
ここはスレタイが荒してくれといっているようなものだからな。
隔離スレというか。

567 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 18:28:26 ]
いかにも荒らし本人が書きそうな「見限りレス」だな。

568 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 22:56:26 ]
>>565
なんのフィルタドライバを作りたいのかぐらい書けよ。
つーか、お前は本当は聞きたいことの説明すらできんのだろ?
素直んなれよ、な?

569 名前:デフォルトの名無しさん [2006/06/03(土) 13:28:56 ]
気付いたけどここには低能しかいないようだな

570 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 13:43:42 ]
>>569
お前と俺と〜は〜



571 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 14:20:10 ]
超上級者だったらもうちょいゆとりがあっただろう

572 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 15:44:22 ]
>>568
 ・訊いても無駄だといいながら訊きたい内容を書く
 ・でもその内容は不明確なまま
 ・しかもスレ違いの予感
 ・つか、なにしろコテハン

恐らく、自分よりバカ (に見える連中) がいて
嬉しかったんだろう。

573 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:12:18 ]
ここは、C++上級者が集まるスレであって >>565 ごときが来るような場所ではない。

574 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:29:08 ]
まぁ、能無しが「おもらい」しに来るスレではないよな。

575 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:46:15 ]
盛り上がって参りました!

576 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 05:03:15 ]
マ板でもっとも典型的なネタスレのひとつ

577 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:14:12 ]
コメントを // にしました。
これで俺も上級者の仲間入り。

578 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:08:47 ]
赤飯炊かなきゃな

579 名前:デフォルトの名無しさん [2006/07/07(金) 15:55:26 ]
上級者さんのお知恵をお借りしたいのですが。。

C++とDirectShowでビデオキャプチャ+圧縮保存のコードを書いております。
ボタンクリック時に、圧縮に使用するコーディックのプロパティ画面を開くようにしたいのですが、方法が検討つきません。
WindowsMediaVideo9とMEPG4
ご存知の方、いらっしゃいましたらご助力願います。
宜しくお願い致します。

580 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 15:08:16 ]
>>579
それC++関係ないだろ。



581 名前:デフォルトの名無しさん mailto:sage [2006/09/01(金) 19:22:44 ]
>>580
≪関係ない≫だと?

582 名前:デフォルトの名無しさん [2006/09/04(月) 19:57:52 ]
C++のホットなネタは?

583 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 22:39:58 ]
>>582 特に無い。

584 名前:デフォルトの名無しさん [2006/10/14(土) 01:28:04 ]
stdioとcstdioの違いを教えてください

585 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 02:03:51 ]
>>584
cstdio がライブラリを std 名前空間内に宣言。
stdio.h は、↑に加えてグローバル名前空間にも宣言。

っていう建前だけど、実際は

stdio.h がライブラリをグローバル名前空間内に宣言。
cstdio は、↑に加えて std 名前空間にも宣言。

とかいう実装もよくある。

586 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/10/14(土) 02:06:04 ]
std 名前空間

587 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/10/14(土) 02:07:15 ]
まあ、プリプロセッサマクロに名前空間は適用できないしな

588 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 03:16:03 ]
たまに見かけるstudio.hもよくわからん

589 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 05:48:10 ]
ワロタ

590 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 10:10:24 ]
あやまれ!スタジオ派にあやまれ!



591 名前:デフォルトの名無しさん [2006/10/26(木) 16:03:30 ]
Cωってどうなっちゃったの?

592 名前:デフォルトの名無しさん [2006/10/28(土) 01:49:55 ]
class ClassA{
public:
ClassA(){・・・・;}
ClassA(ClassB a){・・・・;}

friend ClassA operator●(const ClassA& x, const ClassA& y){・・・・;}
}

class ClassB{
public:
operator ClassA(){return ・・・・;}
}

で引数x,yにClassB型の値が代入された場合、x,yはClassAのコンストラクタによってClassA型に
変換されるのでしょうか? それともClassBの変換関数によってClassA型に変換されるのでしょうか?

593 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 02:40:02 ]
>>592
規格上はどうなってんのか知らんが、とりあえずコンパイラによっては
「どっち使ってええのかわからん」とエラーを出すのは確か。

594 名前:デフォルトの名無しさん [2006/12/15(金) 19:46:02 ]
xmlを処理できるライブラリを教えてください

595 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:54:48 ]
上級者の質問ではないだろ。
とりあえずXercesとかMSXMLとか。詳しくは知らない。

596 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:02:37 ]
動的な次元の配列のライブラリってないもんか

597 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:04:21 ]
>>596
boost::multi_array

598 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:14:18 ]
それは静的だ。
動的次元配列は自分で作るしかないんじゃね?

599 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 16:57:05 ]
gccとFedora core5でプログラムを作成しています。
ofstreamでflush()を使っても、実行されたタイミングでファイルが更新されません。
一定以上になるまで、システムのバッファ内に溜め込まれているようなのですが、
flush()実行時に確実にファイルに書き込ませるにはどうしたらよいでしょうか?

600 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 22:51:39 ]
「STLによるコンポーネントデザイン」にvectorを使った2次元・3次元配列クラスの作り方書いてあった


それとも次元が動的に増減するの?
そりゃちょっとお手上げ



601 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 23:01:22 ]
>>599
flushでフラッシュされないのって、C++標準の方法ではどうしようもないような。

クローズしてみるとか(かなりいい加減)
あと、内部的にメモリマッピングしてるような気もする。

602 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 22:57:20 ]
断片化なしの動的二次元配列の一種。

capslockabcjp.kitunebi.com/boolean.html
ブール閉包(boolean closure)のサイズとインデクスの計算
1次元配列にみっしりと二次元の表を納めつつ、
伸縮させても穴が空かない構造の作り方。

603 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:13:02 ]
>>599
気のせいだと思いますよ。

604 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:22:16 ]
>>599

ランタイムライブラリとは無関係にOSとドライバの側で制御しているから
OS独自の機能を使わないとどうしようもない。

www.linux.or.jp/JM/html/LDP_man-pages/man8/sync.8.html

605 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 08:46:49 ]
特殊なストレージデバイスを使ってない限り、
カーネルのin-coreイメージと外部デバイスの不一致は観測不能なんだが。

606 名前:デフォルトの名無しさん [2007/01/06(土) 02:30:56 ]
真贋について
www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html

607 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 02:39:51 ]
それは遥か昔にストラウストラップと袂を分かった、
彼の頭頂の毛が喋ってるんだよ。

608 名前:デフォルトの名無しさん [2007/01/08(月) 12:26:22 ]
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□偽装派遣先の社員の意見にはたとえ間違っていても反対しない
□偽装派遣先から「いつまでもここで仕事してくださいね」と言われるようになりたい
□自社に仕事を持ち帰れるように言われるとムカつく
□自社で仕事なんてできるわけがない
□派遣/受託の差異を指摘する人間はムカつく
□偽装派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□自分の月額金額を知らない
□偽装派遣先社員より自分の生涯収入が低いのは当然だ
□偽装派遣先に尻尾を振り、いつまでも一緒に仕事をすることが大切だ
□今のプロジェクトが終わっても同じ偽装派遣先に常駐したい


609 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:36:21 ]
構造化して細かく関数毎に分けた方が、構造化されていないプログラムより最適化されやすいですか?
それとも関数の呼び出しのオーバーヘッド分だけ遅くなりますか?

610 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 22:59:00 ]
>>609
最適化については、コンパイラ (とコンパイル時のオプション)
に依存するのでなんともいえない。

関数の呼び出しのオーバーヘッドは確実に存在する。

ただ通常それが問題になることはあまり無い。







て言うか、プログラム書くときはわかりやすく書け。

関数呼び出しのオーバーヘッドなんか気にするのは最終手段だ。



611 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 01:58:49 ]
「最適化する必要を感じるまで最適化するな」

612 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/09(火) 02:05:56 ]
常に__forceinline

613 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 05:15:49 ]
>>609
最近のコンパイラは小さい関数が数百個つらなっても
平気でinline化しやがるので無問題

614 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 23:18:23 ]
en.wikipedia.org/wiki/C%2B%2B0x
こんなに様々な提案があったとは思っていなかった。

615 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 10:27:53 ]
class A{
    const double x;
    A() : x(10){}
}

class A{
    static const double x=10;
}
の使い分けについて教えてください

616 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 11:03:20 ]
>>615
前者はインスタンス毎に暮らす変数が作られるのでメモリが余計に
必要だが、コンストラクタ次第ではインスタンス生成時に x の値を
自由に設定できる。

後者はメモリは一つしか使わないので省メモリ型だが、コンパイル時
に値が決定するのでコンストラクタによって値を変える事はできない。

617 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 02:13:25 ]
>>615
後者はコンパイルできない。

618 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 10:31:38 ]
class A{
    static const double x;
};

const double A::x = 10;

619 名前:デフォルトの名無しさん [2007/01/16(火) 16:22:35 ]
上級者の方にお聞きしたい問題があります。
--------------
【問題】
「計算式対応電卓」
・計算式を文字列として入力すると、その計算を行い、結果を出力するプログラムを
作成せよ。
-入力文字列を解析し、数値と演算子に分けて計算する。
-例:計算する式を入力してください。終了:end
   使用可能演算子:四則演算(+-*/)
1+2
   答えは3です。
・必ず四則演算のほかに、使用可能な演算子を追加せよ。
 入力する際の演算子記号は任意にきめてよい。
-例:あまりを求める %
   二乗を求める
・繰り返し何度も計算できるようにする。
 その際、終了する場合の入力文字列を示せ。

--------------
初心者ということもあり、わかりません。
ソースファイルとして書き込んでいただきたいです。。

620 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 16:50:27 ]
C/C++の宿題を片付けます 81代目
pc10.2ch.net/test/read.cgi/tech/1168663908/l50



621 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 16:56:09 ]
>>619
ftp.gnu.org/gnu/bc/

622 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 21:11:54 ]
>619
spirit.sourceforge.net/

623 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 23:34:23 ]
>>619
講義聴いてればちゃんとできるからまた来年やれ

624 名前:デフォルトの名無しさん [2007/01/17(水) 00:33:04 ]
若いの オラが村では派遣の問題を口にしちゃなんねーだ
お前さんはまだわけぇから言いたいこともあるべぇ
だべな、派遣問題を口にするとムキになって怒る者がおるでよぉ
問題の指摘は駄目だっぺぇ
派遣のことは口にしちゃなんねぇ
この村みたいな糞田舎で悲惨な生活するためにはよぉ
北朝鮮と一緒でよ、駄目のものを駄目と言ってはなんねえだべさ
タブーを口にしちゃいけねぇだ オラ達みたいな田舎者の鉄則だっぺ


625 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 09:41:28 ]
>>619
逆ポーランド使ったらだめ?


626 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 11:34:32 ]
>>617-618
まともなコンパイラを使ってください。

627 名前:ららら [2007/01/17(水) 19:26:03 ]
class Hoge を Hoge.h で宣言して Hoge.cpp で定義している。
Hoge の実装では Foo クラスを使うのだが、
Foo を使っているということを Hoge.h 側では見せたくない。
今は

class Hoge {
public:
    Func1(void);
private:
    Func2(Foo* foo);
};

こうなっているのだが、Foo をヘッダーに見せたくない。
Foo を使うコードが Func1 内で完結すれば、見せなくて済むのだけど、
何分 Func1 の処理が長いので、どうしても関数を分割したい。
さて、よい案はないだろうか。。。。

ヘッダー上では Foo* じゃなくて void* にキャストして、
Func2 の実装で void* を Foo* にキャストする、
という方法はあるのだが。汚い。

628 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 19:44:28 ]
pimpl

629 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 19:54:08 ]
Fooのポインタだけならclass Foo;とだけ書いておけばおk。

630 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 02:48:20 ]
上級者の皆様、Haskellで使えるalgebraic data typeをC++で表現するにはどうすればいいでしょうか?教えてください。



631 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 10:35:44 ]
>>615
class A{ 
    static const int x=10; 
}
は許されるのに
class A{ 
    static const double x=10; 

は禁止されているのは何故なのでしょうか?

632 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:41:07 ]
配列の要素数など整数定数への需要は大きいから、それだけ特別扱いされた。

633 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 14:29:28 ]
class A{ 
    static const double x; 
}; 

const double A::x = 10; 

これでできるのなら、

class A{  
    static const double x=10;  
}  

の様な書き方も許可して良さそうな気がするのですが・・・

634 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/20(土) 14:59:27 ]
class A{  
    static const double x() const { return double(10); }
}  

で代用できるから特に困らない

635 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 15:00:59 ]
C++のクラスの静的メンバ変数は(constの有無に関わらず)、
Cのヘッダに宣言しどこか1箇所ソースで定義する流儀を受け継いでいると考えればそう不自然でない。
納得がいくかどうかはともかく。

そんなにクラス内に書きたければ、静的メンバ関数ならインラインに書けることを使う手もなくはない。

636 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 15:13:30 ]
C++ らしいよなぁ。
template もそうなんだけど、なんつーか、
もう少し素直にやりたいことを直感的に書けないものかw


637 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/20(土) 15:22:46 ]
Borlandコンパイラならプロパティ(独自拡張)があるね

638 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:09:58 ]
そういやtemplateなら>>618のようなのを全部ヘッダーに書いてもいいんだっけ?


639 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:41:48 ]
>>637
Visual C++も独自拡張でプロパティを持っている。COMラッピングに使っている。

>>638
テンプレートでも定義が必要。ただしヘッダに書ける。
template<typename T>
class A{  
    static const double x;
}

template<typename T>
const double A::x = 10;
たしかこんな感じ。

640 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/20(土) 19:41:55 ]
駄目だから定数を返す関数にする。どうせインライン展開されるし



641 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 17:14:28 ]
>631,633
あれ?出来ないんだっけ?
gcc3.4.2なら出来たけど。
てか、最近のコンパイラなら出来るはずだと思って
フリーで配ってるソースで使いまくっちゃったけど。。。

642 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/21(日) 17:19:40 ]
厳密にはできなくはない

__declspecキーワード使うことになるが

643 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 18:32:35 ]
規格では整数型のみだけだっけ?

644 名前:ららら [2007/01/21(日) 18:58:00 ]

class Foo;

class Hoge {
public:
    Func1(Foo::FooType type);
};

class Foo {
public:
    enum FooType {
        TYPE_1, TYPE2, TYPE3
    }
};

こんなコードが、コンパイルエラーになるのですが、
Foo を先に宣言せずに、Hpge で Foo::FooType を使うことって可能ですか?

645 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 18:59:42 ]
それは無理だな

646 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 19:01:37 ]
無理だよ

647 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 19:35:38 ]
>>644
>Foo を先に宣言
Foo を先に定義、の間違いだな

そんな細かい指摘はともかく、この要求は比較的需要があると思うけれど、
(少なくとも自分はこういうことをしたいときが結構ある)
みんなどう思ってるんだろ

648 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 20:04:33 ]
>>647
こういうのがあるから、ネストされた public 型定義は避けたほうがいい。

649 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 09:53:27 ]
どうしてもって場合は苦肉の策だけど、Hoge側をクラステンプレートにして
しまうのもありかも( Foo をテンプレート引数にする )。

650 名前:デフォルトの名無しさん [2007/01/27(土) 23:55:49 ]
魔法少女ポリモル
pc10.2ch.net/test/read.cgi/prog/1169812216/




651 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 20:43:47 ]
vc2005EEを使っているのですが、質問があります。

デバッグモードではCPU使用率が20〜35%に押さえられているのですが、
リリースモードにすると使用率が常時100%に跳ね上がってしまいます。

これの原因分かる方いませんか?
もしくは原因究明の方法が分かる方いませんか?
(プロファイラは使えません^^)

どうかよろしくお願いします。

652 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:37:54 ]
>>651
マルチはラウンコにでも逝ってろ。

653 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:20:52 ]
>>652
pc10.2ch.net/test/read.cgi/tech/1164951094

一度、↑のスレの989で聞いたのですが、
スレ違いといわれてしまったので、もう一度質問させてもらっています。

654 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:50:15 ]
>>653
あってるかどうかの自信はないが原因やその調査方法や対策等々を多少予想がつかんでもないが、
プロファイラを使えば一発で解決する問題なのに、あえてプロファイラは使えませんと逃げるような
教えて君がくるようなスレではありません、ここは。どっか逝け。

つーかせめてどんなプログラムかぐらい書け。あと、テキトーにプログラムをコメントアウトして
現象が変わったらその部分あるいはその部分に関連したところになんかある。ロクに情報も提供
しない教えて君はたまにはそーゆー地道なデバッグでもやってなさい。

655 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:51:41 ]
サクセスに振り込んだお金が返ってこない

まで読んだ

656 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:01:07 ]
「まで読んだ」ネタは
それを書くより早く読めるレスについてるとなんか痛い

657 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:08:58 ]
ごめんね母ちゃんはじめて「まで読んだ」したから

658 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:36:04 ]
>>654
別に逃げているわけでは無く、
もともとVC8EEにはプロファイラがついていないのです。
これを使えば解決することは分かっていたので、あらかじめ注釈させていただきました。

情報が足りなかったことは誤ります。
作っているのは所謂ノベルゲームです。
>>654にあるようにプログラムを適当にコメントアウトしていったところ、
サウンドを再生する専用のスレッドがネックになっていることが分かりました。
ここでのSleep間隔を0からそれより大きくした結果(現在は5)、
CPU使用率が20%にまで下がりました^^

ちょっと納得できない部分もあるのですが、とりあえず上手く動くようになりました。
どうもありがとうございます^^

659 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:40:25 ]
> もともとVC8EEにはプロファイラがついていないのです。
もろ逃げじゃんw
VC8EEプリインストールモデルなんて聞いたことないしなぁw

学校のPCだけでやってるんだったらもちスレタイ嫁。

660 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 14:18:40 ]
>>658
OS上CPU使用率が100%と表示されていても
本当にCPUの演算ユニットを100%ぶんまわしてるわけじゃないから、
Sleepは0でも良い。1あれば十分。5は多すぎ。



661 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:24:45 ]
>>659
ごめん。
意味が分からない。

>>660
windowsのスレッドシステム(自分は2000使ってます)をよく知らないのですが、
メインの方の処理が軽くなると、
コンテキストスイッチが頻発してCPU使用率が異常に上がるのかなぁ。
実行速度は軽くなっているのに、使用率が上がるということは
無駄な処理がすごく増えたってことですよね。。。

あと、5msのSleepは確かに長すぎるかもしれません。
メインスレッドの方がつまってくると、
音飛ぶ可能性ありますね。
このあたりはもうちょっと調整してみます。

662 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:31:09 ]
>>661
Waitのない無限ループを持つスレッドがひとつでもあればCPU使用率は100%になる。
そんな当たり前なことも理解できてないようなヤツがいていいスレじゃない。どっか逝け。

663 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 15:12:33 ]
>>662
非HTでシングルコアの場合だけな。

664 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:23:31 ]
>>662
Wait = Sleep(0) という解釈でいいなら、ちゃんと入ってましたよ。

問題は
1, メインスレッド・サウンドスレッドともにちゃんとSleepが入っていた
  (メインの方はFPS固定の可変Wait, サウンドの方は常に0)
2, 単純な実行速度はデバッグモード時よりもリリースモード時の方が速かった
3, メインスレッドのWait値もリリースモードの方が大きかった
にも関わらず、デバッグモードではCPU使用率が30〜40%、
リリースモード時は常に100%になっていた点です。

リリースモードではサウンドスレッドが相当無駄なことをしているのは理解できるのですが、
それならデバッグモードではなんで100%にならないのかなと。。。

>>663
そうですね^^

665 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:46:39 ]
>>663
デュアル/マルチプロセサは無視か?

>>664
> Wait = Sleep(0) という解釈でいいなら、

よくないだろ。

それは、ともかくコードの断片も示せないなら、エスパー希望の広告を
新聞に載せた方が早いので、ここから立ち去ってくれ。

666 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 02:15:36 ]
>>664
C++の話題じゃないから、662を読んで分からないなら Windows 板へ池

667 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 06:56:43 ]
>>664
処理速度の速いほうがCPU使用率も高くなんのはあたりまえだろ、どっか逝け。

668 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 08:20:29 ]
俺も大体そう思うな

プロファイラがあってもデバッグ版のCPU使用率が低い理由はわからないと思う。
これに関しては私には判りません。
デバッグモードでは何か特殊な待ちがあるんだろか。

たとえばwaveOutWriteなら複数のバッファを渡せるので
音飛ぶ可能性は著しく低く、
バッファが終わるころにメッセージ通知が来るから
それまで何もしないのでCPU使用率を著しく下げることも出来るはず。

ノベルゲームの経験ないから推測だが
ノベルゲームで絶えず処理している状況が存在する理由がわからない。

669 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:21:53 ]
デバッグ版ではシステムコールの呼び出しが
増えてたりするからじゃないのん?


670 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:06:52 ]
c++のリファクタリングツールは
VisualStudioなら
ref++
Refactor! Pro

emacsで使えるツールはないの?



671 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:11:02 ]
www.wholetomato.com/forum/topic.asp?TOPIC_ID=3990

リファクタリングツールいろいろ

672 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:27:03 ]
xref-tech.com/xrefactory/main.html
emacsリファクタリングツールみつけた
試したいけどemacsでc++コンパイルする環境整えるの大変だ

673 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 23:49:30 ]
すみません。これで最後にします。

>>668
サウンドライブラリとして、OpenALを使っているので、
空きバッファがあるかどうか
常に監視する必要があるのです。

確かにwaveOutならその必要はありませんね。

>>669
システムコールかもしれません。


一応テストとして、
・適当な処理+Sleep(0)を繰り返すスレッド
・適当な処理+Sleep(10)を繰り返すスレッド
の二つを作って実行させたのですが
デバッグモード、リリースモードの両方でCPU使用率は100%でした。
(当然か。。。)

件のアプリでは、さらに多くのスレッドといろいろな処理が付加されているので、
どこかになにがしかの待ちが入っているんだと思います。
(共有リソース待ちや、IO待ち?)
感覚としては、スレッド間のリソース待ちが原因では無いかと思いました。
(調べてみるとミキシングスレッドとサウンドデータ供給スレッドが別でした^^)
ちょっとこれ以上は分から無いのですが、
他にやることもあるのでこの件はこれで終わりにしたいと思います。

それでは、スレ汚し失礼しました。

674 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 12:20:00 ]
実行中にブレーク掛けてみて、どの処理が走ってるかみてみたら。
何回かやれば時間食ってる部分が解るだろ。

675 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 00:33:53 ]
>>674
遅れてすみません。
ブレーク掛けてみたのですが、
意味の分からない結果になりました。
なんか、OpenALのバグのような気がします。。。

原因が分かったら報告します。

676 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:20:44 ]
ここは上級者が集まるスレです。上級者に質問するスレではありません。

677 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:34:00 ]
集まって何すんの?

678 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:34:37 ]
書き込んだり、書き込みを読んだりするに決まってるじゃん。

679 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 13:18:05 ]
書き込んだり、書き込みを読んだりして何すんの?

680 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 14:53:13 ]
できることとか、やりたいこと。



681 名前:デフォルトの名無しさん [2007/03/02(金) 19:46:02 ]
夏時間まで考慮して、タイムゾーンを取得する方法を教えてください。


682 名前:デフォルトの名無しさん [2007/03/27(火) 02:43:43 ]
boolは何故1バイトも消費するのですか?

683 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 05:01:28 ]
>>682
1バイトとは限らんぞ。処理系依存だ。
VCではint型にダウンキャストされるんじゃなかったっけ?
#かなり昔に仕様書らしきもので読んだ気が。

仮に>>682が使用している環境でboolが1バイト使うとして話を進める。
>>682は1ビットで十分だっていいたいんだろうけど、
メモリの最小管理単位が1バイトだから、最低でも1バイト使わないとだめ。
C言語で言うビットフィールドを使って、ビット単位で管理するのもありだけど
(そうすれば、1バイトで8個のboolを管理できるよな)、それだと管理のための
メモリが必要になるし、速度面で効率的じゃなくなる。

だから、bool型は1ビットじゃないんだ。
もっとも、処理系によってはビット単位で管理してるのもあるかもしれんが。

684 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 05:05:29 ]
ダウンキャストっていうのかそれ
VC++の最近の実装(っていうかただのtypedef)ではBOOL=charだったような

685 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 05:06:51 ]
>>683
今VC++でsizeof(bool)の値を見たら1だった。

俺はbool型変数はクラスメンバぐらいでしか使わないから、
たとえ1ビットだとしてもアラインメントの影響で恩恵にあずかれないな。

686 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 05:18:54 ]
vector<bool>とか使うと恩恵があるかも

687 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 06:31:31 ]
boolをvectorなんかに入れて一体何に使えというんだ

688 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 06:34:33 ]
何だ知らないのか

www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/stdlib/user_guide/general/5_3.htm

689 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 06:50:59 ]
>>688
そういえばそんなもんもあったな。

690 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 07:13:24 ]
>684のすべてが意味不明



691 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:04:00 ]
>>683
速度・効率だけでなく、ビット単位ではポインタとしてメモリアドレスが使えない。

ワードマシンでのchar*みたいにコンパイラが頑張る手もあるが、
bool*だけでなく必然的にvoid*もbool*に合わせなければならず、
void*とbool*だけ他のポインタと異なる大きさになってしまう。
無論規格上は問題ないが、実際問題void*の大きさがほかと異なるなんてやっていられないだろ。

692 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:05:56 ]
関数へのポインタとデータへのポインタの大きさが違うなんて
昔は当たり前だったから、なんてことない。

693 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:14:25 ]
>691
boolを1bitにするなら、sizeof(bool)をどうする気?

694 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:18:46 ]
>>693
1/8

usodakara

695 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:21:03 ]
>>693
それ忘れていたorz

>>684
Windows APIでは、typedef int BOOL; typedef char BOOLEAN;
しかしboolとは関係ない。

696 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:33:40 ]
> typedef int BOOL; typedef char BOOLEAN;

わけわからん >>MS

ATL::CComPtr::operator&()もわけわからんかった。
凶悪。

697 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 01:08:39 ]
>>695
そこは固定じゃない。
なんのtypedefかはSDKのバージョンによってもしょっちゅう変わる。

まあ固定長ビット配列ならstd::bitsetなんかが一番効率いいかな。
1ワードの中に複数要素が詰め込めると何かと便利。

698 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 01:20:35 ]
msdn2.microsoft.com/en-us/library/aa383751.aspx
実際にヘッダでどうなっているかはともかく、文書化されていることは当てにしていいと思う。

ところでBOOLEANはBYTEだったね、すまん。

699 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:12:43 ]
>>691
void* と char* は同じ内部表現である必要がある。 (ISO C++ 3.9.2.4)
そのほかメモリモデルやオブジェクトモデルの定義からも char より
小さい型は存在し得ないと言える。

700 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:12:52 ]
BOOL
Boolean variable (should be TRUE or FALSE).

shouldって便利な言葉だな



701 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 02:30:37 ]
>>698
msdn2〜はVS2005のドキュメント

702 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:38:09 ]
>>701
団子ちゃん、流れとは全然関係ない質問があるんじゃが、
団子ちゃんがC++上級者だと家庭して、団子ちゃんは Boost を
1. あー、ごっつい靴だろ?
2. たまに使う。
3. よく使う。
4. もうあなたなしじゃ生きられないの!
5. あー、アレのほげほげは俺がコントリビュートしてんだよ。
の、どれ?

703 名前:702 mailto:sage [2007/03/28(水) 02:39:35 ]
ちなみに俺は、1 だが、それでも自分を C++ 上級者だと思ってる。

704 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 02:44:25 ]
2かな
ふだんはATL/WTL+STLあと.NET

regexとrandom::mt19937rは便利だね
あとsandboxにあがってたfixed_arrayが便利だから改造して使ってる

705 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 03:06:41 ]
.NEET 使ってんだ。

706 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 07:26:32 ]
>697
おいおい。BOOLの実体がint以外だったことがあるってーの?
WIN16の頃の話じゃねーだろーな。

707 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 09:17:07 ]
>>701
msdn.microsoft.comの時代から698の文書は存在した。
今は英語版のMSDNライブラリオンラインはあちこちmsdn2への転送になっている。

708 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 15:45:05 ]
bool型はC++仕様書ではintと同じバイト数。
でも大手の実装するコンパイラは大抵1バイトしか割り当てないのが普通。
さて、酒飲んで寝るか。もう目が覚めませんように。

709 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:11:38 ]
>>708
そんな規定はどこにも無い。

710 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:50:25 ]
>>708
嘘吐きはそのまま永眠してなさい。



711 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 18:29:02 ]
1に書いてある内容とまるで裏腹なスレの内容
なんて皮肉だ

712 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:37:58 ]
> 我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。

こんなこと書くから、自分でプロだと「思い込んでる奴」ばっかりになるんだよ。

713 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:42:49 ]
>>711-712
ここはネタスレなのにお前らときたら…

714 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:37:54 ]
>>711-712のような人たちのためのホイホイスレでもあるからいいじゃないか。

715 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:52:05 ]
>>711-712は本気で自分がC++上級者だと思って
このスレに降臨なされたのですか

716 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:42:32 ]
スレタイに騙されて覗いてみたら期待してたのと違ったんで
怒りに任せて書き込んでみたんでしょう。

スレ勃てから2年半もたってノコノコやってきて今更な事を書く人ってのは
そういうもんです。

717 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:17:33 ]
>>714-716
ここはネタスレなのにお前らときたら…

718 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:26:29 ]
もうちょっとためてから反復しないとネタとして面白くないです。

719 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:56:50 ]
団子ちゃん以外の人は >>702 で言うと何番?

720 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:02:40 ]
特定の部分なら3だが全般的には2だな



721 名前:・∀・)っ-○◎● mailto:sage [2007/03/31(土) 00:22:23 ]
全部使ってる奴がいたらそれはそれで気持ち悪いぞ

MPLとかSpiritとか、いいかげんにしる

722 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 06:16:03 ]
俺4。上級者じゃないけど。MPLとかは流石に可読性的に使えないがな。

723 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:01:03 ]
MPLとPreprocessorとSpiritとPhoenixとXpressiveと
LambdaとuBLASとgraphとfilesystemを全部使うアプリを
testでテストするやつこそが4だな。

724 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:33:03 ]
どういう処理をしようとして全部必要になるんだろうか……

725 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 13:19:51 ]
環境非依存で、ミリ秒単位でsleepさせる方法はありませんか?

726 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:16:24 ]
>>726
ない。

特定のCPU等に依存していいならなんらかの方法があるだろうが、
どのみちほとんどマシン語のコードになる。

727 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:49:56 ]
>>727
ですよね。

728 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 19:01:43 ]
>>727
大丈夫か

729 名前:デフォルトの名無しさん [2007/04/04(水) 20:00:16 ]
>>729
注:私の有意義な発言に対し自分の理解不足を棚に上げ煽り、1行レス
で返す方が多いようですが、そのような方はスレの皆様を混乱させるだけでなく
スレの雰囲気を崩しかねないのでお黙り下さい
また質問者は回答者に知識を披露する場を与える貴重な存在なので、
質問者を見下した回答、あまりにも儀礼を欠いた回答も厳重に禁止いたします。
忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、
その辺ご承知下さい。なお、当方が質問に対して有意義な答えであると
判断した方には評価いたしますので各自よく調べ、よく考え正確な回答をするように。

730 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:31:15 ]
まずい餌だな。3点



731 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 08:44:22 ]
>>731
死ねよクズが

732 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:54:40 ]
>>733
死ねカス

733 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:55:12 ]
>>732
お前が死ねカス

734 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 17:02:47 ]
729 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん

735 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:59:56 ]
>>731-733
ありきたりのパターン。2点

736 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:37:50 ]
かといってこんなことに新鮮味を追求されるのもアレだな

737 名前:デフォルトの名無しさん [2007/04/10(火) 18:46:19 ]
絶対値を求める関数が他の言語では一つしかないのにCではabsとfabsの二つが存在する理由を教えてください。

738 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 19:16:00 ]
その質問をこのスレでする理由を教えてください。

739 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:43:33 ]
>>737
> 絶対値を求める関数が他の言語では一つしかない

Fortran なんか4個もあるぞ。(w

iabs(整数) => 整数
abs(実数) => 実数
dabs(倍精度) => 倍精度,
cabs(複素数) => 実数

740 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:56:30 ]
CだってC89の時点でabs(int), labs(long), fabs(double)と3個。
後(C95か?)にfabsf(float), fabsl(long double)が加わり5個。
C99ではllabs(long long), imaxabs(intmax_t),
cabs(double complex), cabsf(float complex), cabsl(long double complex)と10個。

勿論C++では、(C++にある型なら)absで多重定義がなされている。



741 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 00:27:51 ]
ここまでの話を総合すると、rubyが一番スマートだな。

742 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:36:45 ]
>>741
というと ruby は絶対値をマイナス値で返す nabs 一個のみとかそんな感じ?

743 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:27:22 ]
オーバーロードしてるから見た目上一個やん

744 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 04:39:04 ]
>>743
マイナスの最大値でオーバーフローするものしかないってこと?

# 戻り値が unsigned なら大丈夫だけど。

745 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:07:54 ]
>>737
実行速度を上げるため

746 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 22:35:50 ]
>>744-745
釣りですか、ご苦労様です。

747 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 22:59:30 ]
直観が「突っ込み所だ」と告げたはいいが、スレタイがスレタイだけに
具体的に突っ込んでボロ出す羽目になったらどうしようってのがちょっぴり不安で、
結果こんな感じに落ち着きました、という感じのレスだな。

748 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:38:12 ]
>>747
>>747

749 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:31:47 ]
たとえば負数が1の補数な処理系では、
INT_MINを放り込んでも、オーバーフローしないよ。

750 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 04:29:20 ]
そうだね。帰っていいよ。



751 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:06:05 ]
馬鹿じゃないの?

752 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:08:20 ]
泣くなよ

753 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 08:47:09 ]
>>688
1998年w

754 名前:デフォルトの名無しさん [2007/05/18(金) 18:12:10 ]
float x=10.0;

exp(x)
とすると、expはfloat型に対応した関数が呼び出されますが、
exp(10.0)
とした場合、double型に対応した関数が呼び出されると考えてよいのでしょうか?

755 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:30:24 ]
ワラタ

756 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:39:41 ]
>>754
そうだよ
ちなみにexp(10.0f)とすればfloat版を選べる

757 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:39:50 ]
まさかとは思ったが

ここも隔離スレだったか


758 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:45:16 ]
>>757
全然そんなことないから、ここから出て行かないでね♪

759 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:24:06 ]
>>21
いまさらながら
const string 上級者="俺";
のが上級者っぽいな。

760 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:07:07 ]
class 上級者;
typedef 俺 上級者;



761 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:31:11 ]
>>760
#define 上級者 ナルシスト
をお忘れですよ。

762 名前:デフォルトの名無しさん [2007/07/05(木) 17:48:21 ]
大抵のコンパイラでC99はスイッチをつけないとコンパイルできないのは何故?


763 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:45:42 ]
C++のコンパイラ?
C99がC++に取り込まれるのはC++0x(たぶん09)からだよ。

764 名前:デフォルトの名無しさん [2007/07/05(木) 20:03:32 ]
C++かアセンブリ言語どっちが難しいですか?

765 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:43:18 ]
C++

766 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:05:20 ]
アセンブリは面倒なだけで難しいのとはまた違う
技術書を読む大変さはあるけどなー

767 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:10:24 ]
マクロアセンブラならまあいける

本当にただのニーモニック→機械語変換だとアドレスの管理を全部自分でやらないといけないから死ねる

768 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 00:21:56 ]
それアセンブラって言わないと思うが...

769 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 00:56:53 ]
DEBUG.EXEだな
あれのアセンブラ機能は貧弱だったな
それでもcom形式ぐらいならなんとか書けちゃったりするが

770 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 12:02:34 ]
FEDCBA98



771 名前:デフォルトの名無しさん [2007/07/11(水) 12:32:08 ]
何の16進かと思ってググったらゲーム改造かよ。
何にしろバイナリ書き換えは趣味の域でなきゃやりたくないな。

772 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:44:27 ]
C++上級者(笑)

773 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:52:46 ]
三(笑)

                ( *´ω`)ムシャムシャ
                つi'"':
                 `、:_i'
| ┌┐
│ ││             ││   若干食べられてしまったが
| ││             ││   >>772はC++より安く見えることがわかる
| ││             ││
└────────────
 C++上級者(笑)      >>772

774 名前:デフォルトの名無しさん [2007/09/24(月) 07:47:59 ]
defineの代わりにconstを使うよう推奨されているのに、コンパイラのソースを見ると
大量にdefineが使われているのはなぜ???

775 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 09:54:14 ]
もともとCで書かれていたか、
実はCとしてコンパイルするようになっているか、
書いた人間がconst推奨を知らなかったか。

776 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:36:23 ]
Cと共用なんだろ。
何を悩む必要がある

777 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:44:30 ]
>>774
錯覚が目

778 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:10:08 ]
>>774
システムのベンダとユーザは事情も、従うべきルールも違う。
システムヘッダの真似してアンダースコアで始まる名前を使うような人大杉。

引数に渡す定数を参照させるだけのために、
オブジェクトのリンクを強要するDLLなんかありえないし、
他の言語とリンクさせるときや、バイナリ互換性が問題なら、
定数の具体的な値をはっきり公開するしかない。

それに、Cでは配列サイズにconst整数を使えない。


779 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 01:31:32 ]
constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
DLLなんて関係ないけど、ほかは合っているや。

780 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 03:04:35 ]
>>constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
プレーンCモードでコンパイルされたときに実体が増殖し放題で
リンクエラーになるからDLLベンダがそれをやったら配慮不足だ。
よく分かってないハード屋寄りのユーザとかが目を回すからな。

このスレ的にはC++コンパイラだとそれができるっていうのは大事だけどな。




781 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 10:10:17 ]


782 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 01:31:51 ]
const だと余計にメモリ消費するからヤなんじゃないの?

783 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 23:21:57 ]
staticにすらば、アドレス参照とかしなければ実体は取り除かれるんじゃないの?
コンパイラの能力にによるだろうけど

784 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 01:50:27 ]
>>783
C++ では const つけた名前空間スコープのオブジェクトはデフォルトで
内部リンケージになる。 static は要らない。

785 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 22:13:19 ]
static const volatile unsigned long long int X;

は意味無しか

786 名前:デフォルトの名無しさん [2007/11/01(木) 04:00:31 ]
インテルコンパイラでループをSSEで計算させようとしているのですが、
コンパイル時に
loop was not vectorized: dereference too complex
というレポートを返してきます。
これは具体的にはどのような問題があるといっているのでしょうか?

787 名前:デフォルトの名無しさん [2007/11/01(木) 17:32:37 ]
>>786
そのままじゃね?
逆参照が複雑過ぎてベクトル化出来なかったお
意味は、その箇所にSSE使えなかったと

ポインタポインタポインタ使ったとか間接的なイテレータ使ったとか?コード見てないからなんとも言えないけど。インテルコンパイラ使ったことないし。

788 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:22:42 ]
インテルコンパイラとgccだとやっぱり最適化はインテルの方が上?

789 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:18:26 ]
上。特に、オブジェクト間最適化は凄い。

790 名前:デフォルトの名無しさん [2008/02/24(日) 17:30:31 ]
オブジェクト間最適化って何?



791 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:03:39 ]
リンクの段階で最適化かけるんじゃないの

792 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 10:54:39 ]
それならVC8も負けてないぜ。
リンク時間の長さがそれを証明してくれている。

793 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 11:48:43 ]
pgi使え






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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