C++上級者が集まるスレat TECH
C++上級者が集まるスレ - 暇つぶし2ch1:デフォルトの名無しさん
04/09/14 07:16:41
ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。
我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。


2:デフォルトの名無しさん
04/09/14 07:24:45
ERROR:このスレッドには書けません!

3:デフォルトの名無しさん
04/09/14 09:29:48
上級者とは?

4:デフォルトの名無しさん
04/09/14 09:42:24
BASIC使う人の事ですね

5:デフォルトの名無しさん
04/09/14 09:43:20
HSPじゃないの?

6:デフォルトの名無しさん
04/09/14 12:11:34
上級者を定義しろと言ってみるテスツ
↓定義厨キター

7:デフォルトの名無しさん
04/09/14 12:12:45
>>6
すでに >>3 にいますよ?

8:デフォルトの名無しさん
04/09/14 12:30:57
最も高級なのはLOGO

9:デフォルトの名無しさん
04/09/14 12:37:35
インラインアセンブラ使いは低級者

10:デフォルトの名無しさん
04/09/14 13:13:39
テニスをやっている奴も庭球者。

11:デフォルトの名無しさん
04/09/14 13:18:10
リロードしまくってる>>10はヘタレ低級者

12:デフォルトの名無しさん
04/09/14 16:21:26
>>3
規格上は問題ないけど実際にはコンパイルできないコードを書く香具師ら。

13:デフォルトの名無しさん
04/09/14 16:26:00
>>10
wrota

14:デフォルトの名無しさん
04/09/14 16:58:13
インラインアセンブラしか書かないのが上級者

15:デフォルトの名無しさん
04/09/14 17:00:16
具体的なことを言わなければ、上級者じゃないということはバレない

16:デフォルトの名無しさん
04/09/14 17:05:08
上級者とも思われないけどな。

17:デフォルトの名無しさん
04/09/14 17:07:52
>>16
そこで印象操作ですよ。

18:デフォルトの名無しさん
04/09/14 17:13:05
>>12
規格上ダメだけど、指定コンパイラで、スーパー速いコードを書く奴。


と言わなかった君をほめよう。

19:18
04/09/14 17:13:57
つまり、君は、C++廚であって、C廚でないことがわかるからだ。

20:デフォルトの名無しさん
04/09/14 17:27:49
廚と厨のスワップ

21:デフォルトの名無しさん
04/09/15 16:47:50
#define 上級者 俺

22:デフォルトの名無しさん
04/09/15 16:52:06
#if 0
>>21
#endif

23:デフォルトの名無しさん
04/09/15 17:03:31
/*
>>22
むしろこうだろ
*/

#if 上級者 == 21
#undef 上級者
#define 上級者 NULL
#endif

/*

24:デフォルトの名無しさん
04/09/17 01:48:19
下級者ですが何か

25:デフォルトの名無しさん
04/09/17 01:56:19
スレ違いですよ。

26:マイク ◆yrBrqfF1Ew
04/09/17 05:50:12
レスが随分2ch的でアレだな。

27:デフォルトの名無しさん
04/09/17 05:59:17
C++の先行者はいつ来ますか?

28:デフォルトの名無しさん
04/09/17 10:57:08
>>27
沈んだよ。先行しすぎてな

29:デフォルトの名無しさん
04/09/19 10:40:04
するとたちまち鶏が鳴いた

30:デフォルトの名無しさん
04/09/27 15:42:10
#include <iostream>

#include <iostream.h>
の違いを教えてください

31:デフォルトの名無しさん
04/09/27 15:57:18
ageんでいいからC++相談室36を立ててくれ。俺からは立てられないんで。

>>30
一応マジレスしておくと、前者は標準ライブラリがstd名前空間に包まれる。
後者は包まれない。

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

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

と書いていたのですが、

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

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


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

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

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

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

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

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

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

39:デフォルトの名無しさん
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:デフォルトの名無しさん
04/09/29 18:14:55
>>42
上級者は学会論文を読みます。

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

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

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

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

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

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

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

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

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

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

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

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


56:上級者&rlo;者級上:&lro;
04/10/08 12:02:38
ぬるぽ

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

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

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

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

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

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


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

64:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/12 21:42:45
>>65
ふざけんな俺の頭は禿げてるだけで奇形じゃないぞ

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

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

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

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

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

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

boost萌え。

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


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

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


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

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

77:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/15 15:08:52
>75
一般性ってどういう意味での?
マニアックな用途のライブラリが多いってこと?

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

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


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

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

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


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

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

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

89:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/21 15:54:26
>>89
最適化で消えるループに何の意味が?

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

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

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

94:デフォルトの名無しさん
04/10/23 02:20:35
これがC++上級者の開発用マシンだ!!!
URLリンク(nice.kaze.com)

95:デフォルトの名無しさん
04/10/23 02:23:18
ごめん、リンク間違っちゃった
URLリンク(pc.watch.impress.co.jp)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

110:デフォルトの名無しさん
04/11/19 15:27:19
URLリンク(www.tietew.jp)
これ見てふと思ったんだけどこんなのはどう?

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

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

112:デフォルトの名無しさん
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:デフォルトの名無しさん
04/11/20 13:55:11
>>114
違う。a=(b=0); だから、

b=0;
a=b;

と同じ。

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

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

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

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

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

120:デフォルトの名無しさん
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:デフォルトの名無しさん
04/11/22 15:58:21
後者

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

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


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

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

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

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

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

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

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

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

134:132
04/12/14 23:00:10
そんなものはぐぐればいくらでもあるのじゃ。ふぉっふぉっふぉ。
URLリンク(www.asahi-net.or.jp)
次ぃ!

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

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

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

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

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

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

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

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

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

144:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/21 23:00:57
>>122
ってゆ~か、&ってintの演算子だっての。

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

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


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

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

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

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

153:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/31 15:54:40
>>154
何でメンバが全部private?
その__declspec(novtable)て意味あるの?
URLリンク(www.microsoft.com)

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

MSC以外であるかもな

157:デフォルトの名無しさん
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:デフォルトの名無しさん
05/01/04 02:00:56
え?

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

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

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


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

164:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
05/02/22 10:32:29
>>167 スレリンク(tech板)

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

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

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

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

173:デフォルトの名無しさん
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:デフォルトの名無しさん
05/03/10 17:22:49
>>174
読んだまま。

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

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

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

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

180:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
05/03/11 09:31:53
URLリンク(d.hatena.ne.jp)
同じようなこと考えてる人はいるんだなぁ.

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

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

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


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

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

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

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

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

190:デフォルトの名無しさん
05/04/08 03:26:52
言語だけでは全く使い物にならない。

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

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


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

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

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

195:デフォルトの名無しさん
05/04/20 00:53:51
ドコモもC++だよ。

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

197:デフォルトの名無しさん
05/05/09 08:25:06
leaveがtry~catchの変わり。> Symbian

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

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

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

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

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


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

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

205:デフォルトの名無しさん
05/05/24 16:42:32
みんな人が悪いよね。

206:デフォルトの名無しさん
05/05/24 17:01:20
頭でしょ

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

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

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

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

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

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

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

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

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

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



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


217:デフォルトの名無しさん
05/05/25 04:26:15
>>215はコンパイラから自作する神

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

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

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

221:209
05/05/25 07:40:14
>>210
いや、要素数は実行時に決まるからboost::arrayは無理。

222:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/05/25 11:55:08
boostってSTLと比べてそんなにえーのんか?


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

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

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

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

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

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

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

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

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


233:デフォルトの名無しさん
05/05/27 14:26:05
>>222
boost::array

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


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

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


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

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

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

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

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


237:デフォルトの名無しさん
05/05/27 17:04:05
そこでダイソン先生ですよ。

238:デフォルトの名無しさん
05/05/27 19:10:19
C++の規格は統一されているわけだが。

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

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

241:234
05/05/27 21:13:16
ねえー誰か答えてよぅ!

242:234
05/05/27 23:32:12
教えてくれるまで永遠にアゲ

243:デフォルトの名無しさん
05/05/27 23:38:29
>>242
2000年1月1日のビル・ゲイツの寝言。

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



245:デフォルトの名無しさん
05/05/28 00:01:38
どうも、ビル・ゲイツです。

246:デフォルトの名無しさん
05/05/28 00:13:11
馬車も十分凶器になるから人力車で

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


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


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


250:デフォルトの名無しさん
05/05/28 02:50:42
>>222
URLリンク(web.archive.org)
ここの117に俺が書いたのがある。
そのまま使うには拙い(たとえば、要素は代入可能でなければならない)けど、
実装の参考にはなるかもしれん。

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

ちょっと調べてみましたが、
URLリンク(lists.boost.org)
この一連のスレッドでも同種の話があったようです。
大分車輪の再発明的なネタのようで。
URLリンク(alps.comp-phys.org)
こういうのとか。


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

253:デフォルトの名無しさん
05/06/03 21:53:14
D言語こそが孤高でありC++は下僕言語である
スレリンク(prog板)

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

255:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/06/06 16:12:58
これは例の、通称「C++の最も奇妙な構文」ってやつかな。

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

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

258:デフォルトの名無しさん
05/06/08 21:08:03
ほにゃぁ。ほにゃぁ。ほにゃぁ。ほにゃぁ。

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

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


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


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

262:デフォルトの名無しさん
05/06/09 20:44:34
スタックなん?

263:デフォルトの名無しさん
05/06/09 21:36:19
ヒープでねぇの?

264:デフォルトの名無しさん
05/06/10 15:38:14
誰だよ >>261 なんて呼んだの。

265:デフォルトの名無しさん
05/06/10 19:14:00
釣られすぎ。

266:0b11111111
05/06/12 12:30:28
>>256
即レスthx。ビンゴでした。やっぱ上級者は違うね。修行してくる。


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


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


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

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

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

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

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

272:デフォルトの名無しさん
05/07/07 10:18:50
超サンクス>>271

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

273:デフォルトの名無しさん
05/07/07 10:55:20
目的と手段がかみ合ってない気がする。

274:デフォルトの名無しさん
05/07/07 11:31:59
じゃぁ、pimplって何の目的のための文法なんですか?





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

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

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

277:デフォルトの名無しさん
05/07/07 13:51:18
ものには複数の使い方があって良いとは思わんのか?

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

279:デフォルトの名無しさん
05/07/07 15:27:32
>>274
コンパイル依存性の解消 + 例外安全性の向上

280:デフォルトの名無しさん
05/07/07 15:40:04
>コンパイル依存性の解消 

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

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


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

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

283:デフォルトの名無しさん
05/07/09 19:29:17
以下の文は、何故駄目なのですか?

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

284:デフォルトの名無しさん
05/07/09 19:35:18
>>283
型情報がないとデストラクタが起動できない。

285:デフォルトの名無しさん
05/07/09 20:47:08
>284
マスター284。素晴らしい!

286:デフォルトの名無しさん
05/07/09 21:20:23
てかnewしてないのにdeleteすんなyo

287:デフォルトの名無しさん
05/07/11 09:19:40
>>283
まず型が違う。
CStringはポインタ型ではない。

288:デフォルトの名無しさん
05/07/12 23:51:33
マスターと呼べるのは284だけだな。

289:デフォルトの名無しさん
05/07/13 06:22:08
じゃ俺はスマタね

290:デフォルトの名無しさん
05/07/13 11:10:58
じゃ俺はフェ(ry

291:デフォルトの名無しさん
05/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
05/07/17 18:55:58
上級者の皆様C++で>>291を構造化しませう。

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

294:デフォルトの名無しさん
05/07/17 20:51:56
>>293
ここの誤爆?
スレリンク(tech板)l50


295:デフォルトの名無しさん
05/07/17 23:13:29
ああ、CStringはコンストラクタじゃないのか。

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

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

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

それ、カコイイ。

299:デフォルトの名無しさん
05/07/18 21:02:14
C++も JavaもC#も、おいらについてこれない。
困ったもんだ。

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

301:デフォルトの名無しさん
05/07/18 21:51:04
じゃんけんしませんか~?^^

302:デフォルトの名無しさん
05/07/21 19:25:29
パー

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

304:デフォルトの名無しさん
05/07/22 00:28:43
おいらが一番!
おまいらは所詮パダワン。

305:デフォルトの名無しさん
05/07/23 20:42:25
goto 304;

306:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/08/05 18:18:11
>>306
ローカル変数でも使えるよ。

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

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



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

311:デフォルトの名無しさん
05/08/05 23:23:17
でもC++のキャストって長ったらしくてウザス

312:デフォルトの名無しさん
05/08/05 23:30:37
でもCのキャストは目立たなくて困る。

313:デフォルトの名無しさん
05/08/06 00:48:30
そもそも306や309が何を言いたいのかが良く分からない

314:デフォルトの名無しさん
05/08/06 02:11:58
>>311
長ったらしいことに意味があるわけで。

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

316:デフォルトの名無しさん
05/08/06 16:20:54
>309はマヌケー

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


318:デフォルトの名無しさん
05/08/10 04:54:54
>>317 ノレネサス(目立)?

319:デフォルトの名無しさん
05/08/10 08:18:47
>>317
つテンプレートライブラリ自作

320:デフォルトの名無しさん
05/08/10 14:40:25
>>317
単にEC++なだけでは?

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

322:デフォルトの名無しさん
05/08/14 14:50:03
class A 
{ 
  int a=1 ; 
} ; 
のように出来ない仕様になっている理由を教えてください。

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

324:デフォルトの名無しさん
05/08/14 22:23:02
>>322
構造体の延長だからさ。

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


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

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

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


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

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

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

331:デフォルトの名無しさん
05/08/16 07:31:48
俺的には同じ。

332:デフォルトの名無しさん
05/08/16 10:17:49
クラス = 構造体++

333:デフォルトの名無しさん
05/08/16 10:21:00
>>332
つまり クラス < 構造体 ということかっ!!

334:デフォルトの名無しさん
05/08/16 10:32:35
>>333
馬鹿?

335:デフォルトの名無しさん
05/08/16 11:11:20
デフォルトがpublicかprivateかの差だけだよ

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


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

338:デフォルトの名無しさん
05/08/16 12:55:53
>>337
はつみみです
詳しく

339:337
05/08/16 14:22:07
>>338

参考。
URLリンク(www.borland.co.jp)

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

両者の違いは、

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

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

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

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

勘違い失礼。

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

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

344:デフォルトの名無しさん
05/08/16 21:20:50
っていうかごちゃごちゃも何も、原則同じ物だからさ。

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

346:デフォルトの名無しさん
05/08/16 21:57:00
C-ガール」                (浅香  唯)

347:デフォルトの名無しさん
05/08/17 02:51:46
C (ミポリン)

348:デフォルトの名無しさん
05/08/17 08:10:39
上級者が集まるスレであって
年寄りが集まるスレではないんだがな

349:デフォルトの名無しさん
05/08/18 00:29:29
上級者でつか?どこが?プ

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

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


352:デフォルトの名無しさん
05/08/18 12:13:34
そろそろ目ぇ真っ赤にしながらの釣り宣言が来ます

353:デフォルトの名無しさん
05/08/18 16:02:06
ぬるぽ!

354:デフォルトの名無しさん
05/08/19 00:21:13
上級者でつか?なにが?プ プ

355:デフォルトの名無しさん
05/08/19 14:01:30
>>351
そ…そうかなあ??

356:デフォルトの名無しさん
05/08/19 14:21:17
じゃあ上級者にふさわしい話題提供してよ

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

358:デフォルトの名無しさん
05/08/20 01:12:26
参照とポインタの使い分けについて述べてみよ。

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

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

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

362:デフォルトの名無しさん
05/08/20 01:39:36
ナルこそC++の極みなり。

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

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

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

365:デフォルトの名無しさん
05/08/20 01:59:33
ポインタにしなければいけないのはどんな場合?

366:デフォルトの名無しさん
05/08/20 02:13:40
NULLチェックが必要なとき。

367:デフォルトの名無しさん
05/08/20 02:43:40
new 演算子を使うとき。

368:デフォルトの名無しさん
05/08/20 08:38:25
CのAPIを使う
変更可能な外部コレクション


369:デフォルトの名無しさん
05/08/20 08:55:54
>>366
boost::optional<T&>

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

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

372:デフォルトの名無しさん
05/08/20 13:27:46
私はグローバル変数派です
最強です

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

374:デフォルトの名無しさん
05/08/20 13:36:51
やっぱりグローバル変数+goto文が最強だよね。

375:デフォルトの名無しさん
05/08/20 13:38:28
そもそもクラスなんていらないよね。

376:デフォルトの名無しさん
05/08/20 13:44:52
>>374
最強 != 最良

377:デフォルトの名無しさん
05/08/20 13:56:04
Cタスタスは最良?

378:デフォルトの名無しさん
05/08/20 14:56:03
( ´艸`) Cクスクス

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

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

381:デフォルトの名無しさん
05/08/20 16:32:57
>>380
こちらへどうぞ
スレリンク(tech板)l50

382:デフォルトの名無しさん
05/08/20 17:20:58
>>379
Cタヌタヌ。うんにゃ。んなことない。

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


384:>>383
05/08/21 21:00:27
不覚にもこんなつまらないネタでワロタ

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


386:デフォルトの名無しさん
05/08/27 18:59:17
俺ルールでも基本的に非constな参照の引数は禁止。

387:デフォルトの名無しさん
05/08/27 19:21:33
例外はiostreamくらいか

388:デフォルトの名無しさん
05/08/27 21:31:34
>>385
そのルールは、もう過去のもの。

389:デフォルトの名無しさん
05/08/27 22:40:30
ルールの話じゃねーよ馬鹿

390:デフォルトの名無しさん
05/08/27 23:05:38
「So, you want to prefer pointers to references?」
URLリンク(www.allankelly.net)

391:デフォルトの名無しさん
05/08/28 17:41:05
>>389
ルールだよ。ププ

392:デフォルトの名無しさん
05/08/28 19:06:40
言い返せないから嘲笑でごまかしてみました。

393:デフォルトの名無しさん
05/08/28 19:44:08
やはりここにも C++ の上級者は居ないようだな。

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

395:デフォルトの名無しさん
05/08/31 00:21:53
C++上級者って何が出来るの?

396:デフォルトの名無しさん
05/08/31 00:24:17
まずboost::lambdaをバンバン使っているに違いない。

397:デフォルトの名無しさん
05/08/31 00:31:28
C++上級者はアセンブラも出来ますか?

398:デフォルトの名無しさん
05/08/31 00:33:14
>>397
出来るとは限らないのではないか?

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

400:デフォルトの名無しさん
05/08/31 00:43:50
もしかしてコンパイラも作れない?

401:デフォルトの名無しさん
05/08/31 00:45:25
教えればすぐ使えるだろうけど。

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

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

404:デフォルトの名無しさん
05/08/31 01:15:38
C++上級者にふさわしい高級な煽りを希望する

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

406:デフォルトの名無しさん
05/08/31 07:32:34
C++でNULLは如何なものかと。

407:デフォルトの名無しさん
05/08/31 08:55:36
nullキーワードはどうなりましたかの? > JTC1/SC22/WG21

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

409:デフォルトの名無しさん
05/08/31 12:40:18
>>405
お前がNULLなら、俺はガッだ。

というのは勘違い

410:デフォルトの名無しさん
05/08/31 13:04:56
>>407-408
URLリンク(open-std.org)

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

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

413:デフォルトの名無しさん
05/08/31 22:21:26
>>411
0

414:デフォルトの名無しさん
05/09/01 00:49:14
結局な~んも作れないのがC++上級者でつね。

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

416:デフォルトの名無しさん
05/09/01 01:12:12
ハイハイ

417:デフォルトの名無しさん
05/09/01 04:08:19
下級な人は煽りの切れ味も下級だね。

418:C++入門者
05/09/01 23:04:59
正直C++上級者がこんなスレに来るとは思えないのだが…

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

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

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

420:デフォルトの名無しさん
05/09/02 00:49:15
>>418
コルーチン

421:デフォルトの名無しさん
05/09/02 00:51:49
>>418
delegate

422:デフォルトの名無しさん
05/09/02 00:52:38
>>418
自己書き換え

423:デフォルトの名無しさん
05/09/02 00:54:35
>>418
Gap Buffer Algorithm.

424:デフォルトの名無しさん
05/09/02 01:07:45
>>418
ハァ?

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

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


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

427:デフォルトの名無しさん
05/09/02 19:37:30
いくらなんでも「ばかり」ってのはネタだろう。

428:デフォルトの名無しさん
05/09/02 19:59:25
そりゃそうだろうけど相当多いんだろうくらいに呼んでやろうよ。

429:デフォルトの名無しさん
05/09/02 19:59:38
2ちゃんねるってこんな突っ込み入れる奴ばかり

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

431:デフォルトの名無しさん
05/09/02 21:33:32
>>420
コルーチンとは粋だね。

432:デフォルトの名無しさん
05/09/02 21:43:13
>>430
gap_vector だね。知ってるよ。

433:デフォルトの名無しさん
05/09/02 22:16:47
Gap Buffer など、C++上級者なら当然知ってるよ!

434:デフォルトの名無しさん
05/09/02 22:41:25
ちゅうことで、結局な~んも作れないのが、ここのC++上級者でした。

435:デフォルトの名無しさん
05/09/02 22:58:45
扇るなら、C++の上級者にふさわしい煽りを。

436:デフォルトの名無しさん
05/09/02 23:02:37
お~い扇風機持って来いや

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

438:デフォルトの名無しさん
05/09/02 23:19:02
きらめき高校

439:デフォルトの名無しさん
05/09/02 23:34:53
ものつくり大学

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

441:デフォルトの名無しさん
05/09/03 00:33:06
>>440
流れを読め

442:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/09/03 01:52:01
>>442
なんか面白そうなコードだね。
親クラスと子クラスを反復する再帰関数なんて初めて見た。
潮騒キボンヌ

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

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

447:デフォルトの名無しさん
05/09/03 02:13:33
スキルの毛の数は反比例する傾向にある。

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

449:デフォルトの名無しさん
05/09/03 03:31:33
髪の毛の流れを読みきった奴が真の勝利者だと思う

450:デフォルトの名無しさん
05/09/03 03:49:03
量が少ないとバーコードになるから
簡単に流れが読める

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

452:デフォルトの名無しさん
05/09/03 07:32:57
>>450
君はこちら側の人間ではないようだ。

453:デフォルトの名無しさん
05/09/03 10:00:50
>>452
よう、ハゲチャビン。

454:デフォルトの名無しさん
05/09/03 15:21:32
選ばれた上級者だけがハゲるからな

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

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

456:デフォルトの名無しさん
05/09/03 18:59:31
最近、いい感じに禿げてきた

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

458:デフォルトの名無しさん
05/09/03 20:21:51
>>457
さんくす。Boostでしたか。


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

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

461:デフォルトの名無しさん
05/09/04 00:42:34
>>419-423

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

462:デフォルトの名無しさん
05/09/04 00:46:55
>>461
おいらを目標に頑張れや。

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

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

つうかスレ違いだろうが

465:デフォルトの名無しさん
05/09/04 23:44:15
>>410
すげえ。ぬるぽがついにC++にも。

466:デフォルトの名無しさん
05/09/05 00:20:48
>>465
ガッ!

467:デフォルトの名無しさん
05/09/07 00:56:10
ギッ!

468:デフォルトの名無しさん
05/09/07 04:29:54
ヌッ!

469:デフォルトの名無しさん
05/09/07 04:48:36












                                                   ぽ



470:デフォルトの名無しさん
05/09/07 18:17:00
>>469
ガッ

471:デフォルトの名無しさん
05/09/07 22:41:12
>>469は「ぬ ぽ る」な訳だが

472:デフォルトの名無しさん
05/09/08 21:59:53
つ縦読み

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

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


475:デフォルトの名無しさん
05/10/24 11:24:32
あ、C++スレなのに失礼

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

477:デフォルトの名無しさん
05/10/24 17:57:54
このスレまだあったんだ

478:デフォルトの名無しさん
05/11/04 15:34:31
【C++】template 統合スレ -- Part6
スレリンク(tech板:1001番)

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

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

480:デフォルトの名無しさん
05/11/04 19:34:59
>>479
とりあえず call_me を this->call_me にすれば?

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

482:デフォルトの名無しさん
05/11/04 21:11:50
>>481

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

これで、
URLリンク(www.comeaucomputing.com)
のコンパイラでは通った。

483:デフォルトの名無しさん
05/11/05 07:47:56
>>482

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

484:デフォルトの名無しさん
05/11/05 23:54:35
template <template <class> class Fix>
class fib : protected Fix< fib<Fix> >

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

485:デフォルトの名無しさん
05/11/06 07:39:13
typedef Fix<fib<Fix> > ct;

…ct:call_me(…

486:デフォルトの名無しさん
05/11/06 09:47:16
>>484
>>485
サンクス。できました

487:デフォルトの名無しさん
05/11/06 10:38:13
COMについての質問はここでいいですか?

488:487
05/11/06 18:13:45
自己解決しました

489:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/11/07 12:12:19
>>489
「fのエントリは二つあって、Dでは両方が同じ関数を指している。」という実装しか思いつかないな。
調べてみる。

491:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/11/09 00:29:56
Pentium4にやさしいプログラミング手法を教えてください

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

494:デフォルトの名無しさん
05/11/09 04:40:12
__asmでnopを入れればいいのですか?

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


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

497:デフォルトの名無しさん
05/11/09 08:19:55
>>492
ifは極力使わない。
forをつかえ。


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


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

500:デフォルトの名無しさん
05/11/10 05:05:31
いいえ、それだけの情報ではなんともいえません。

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

502:デフォルトの名無しさん
05/11/10 06:30:30
うがー、それだけの情報ではなんともいえません。

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

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

505:デフォルトの名無しさん
05/11/10 07:58:03
なるほど、そうなのですか
ありがとうございました

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

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

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

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

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

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

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

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

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

512:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/11/10 14:20:37
>>507
> ただ、現実問題として、boolは0/1しか取らないから

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

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

514:デフォルトの名無しさん
05/11/10 16:08:18
>>508
実装依存ということは承知してるが、
GCC4 も VC7.1 も sizeof(bool)==1 なわけだが。
こんなのも。
URLリンク(gcc.gnu.org)

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

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

516:デフォルトの名無しさん
05/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.

URLリンク(www.microsoft.com)

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

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

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

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

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

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

521:デフォルトの名無しさん
05/11/11 08:19:22
vector<bool> は特殊化されているので関係ない

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

523:デフォルトの名無しさん
06/02/08 11:15:21
上級者の会話か?

524:仕様書無しさん
06/02/08 11:18:47
>>523
(脳内)上級者の集うスレでは?

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

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

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

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

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

530:デフォルトの名無しさん
06/04/28 16:08:20
>>528 なにもしないってかw

531:デフォルトの名無しさん
06/04/28 17:14:50
レース下着でマスターベーションについて

532:デフォルトの名無しさん
06/04/29 04:44:48
OS 技術が上級?
酔ってるから超ウケた。

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

533:デフォルトの名無しさん
06/04/29 06:06:22
酔ってるな

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

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

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

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

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

538:デフォルトの名無しさん
06/04/30 09:48:40
ここは「上級者とは何か」を議論するスレですか?

539:デフォルトの名無しさん
06/04/30 10:28:11
自らの上級しゃっぷりをアピールするスレです。

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

541:デフォルトの名無しさん
06/04/30 11:47:14
夢の相互リンク

プログラム技術上級スレ
スレリンク(tech板)l50

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

543:デフォルトの名無しさん
06/04/30 22:34:38
そうですね、例えばあなたとか…

544:デフォルトの名無しさん
06/04/30 23:35:48
俺、俺だよ俺!

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

546:デフォルトの名無しさん
06/05/06 20:27:47
>>545
ソース嫁


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

548:デフォルトの名無しさん
06/05/06 20:46:14
>547
ここは上級者以外立入禁止だ。

549:デフォルトの名無しさん
06/05/06 20:55:00
>>548
わからないくせに偉ぶっている人

550:デフォルトの名無しさん
06/05/06 21:18:22
俺は上級者だが、わからないものはわからないのだ。

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

552:545
06/05/06 21:37:24
googleで探したらあったYO

553:デフォルトの名無しさん
06/05/06 21:44:00
これで君も上級者だ。

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

555:デフォルトの名無しさん
06/05/07 20:31:55
クックック。遂に極めたぞ。

556:デフォルトの名無しさん
06/05/08 00:29:22
残念ながら555が居たのは、まだ入り口だったのであった

557:デフォルトの名無しさん
06/05/08 00:33:38
極めたってどういう状態を指すんだ?DQN臭い。

558:デフォルトの名無しさん
06/05/08 00:51:30
>>557
きっと typedef あたりの使い方を極めたんだよ。

559:デフォルトの名無しさん
06/05/08 00:52:35
>>558
・・・そうか・・・

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

561:デフォルトの名無しさん
06/05/08 16:42:06
まぁ真実は>>556が突いている

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

563:デフォルトの名無しさん
06/06/02 11:22:42
TABは0.5を利用


564:デフォルトの名無しさん
06/06/02 12:28:03
タブは8


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

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

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

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

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

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

570:デフォルトの名無しさん
06/06/03 13:43:42
>>569
お前と俺と~は~

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

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

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

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

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

575:デフォルトの名無しさん
06/06/03 19:46:15
盛り上がって参りました!

576:デフォルトの名無しさん
06/07/01 05:03:15
マ板でもっとも典型的なネタスレのひとつ

577:デフォルトの名無しさん
06/07/03 22:14:12
コメントを // にしました。
これで俺も上級者の仲間入り。

578:デフォルトの名無しさん
06/07/03 23:08:47
赤飯炊かなきゃな

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

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

580:デフォルトの名無しさん
06/07/08 15:08:16
>>579
それC++関係ないだろ。

581:デフォルトの名無しさん
06/09/01 19:22:44
>>580
≪関係ない≫だと?

582:デフォルトの名無しさん
06/09/04 19:57:52
C++のホットなネタは?

583:デフォルトの名無しさん
06/09/04 22:39:58
>>582 特に無い。

584:デフォルトの名無しさん
06/10/14 01:28:04
stdioとcstdioの違いを教えてください

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

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

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

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


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch