■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

C++相談室 part33
1 名前:v(^・^)v :04/07/19 04:46
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
テンプレートライブラリ(STL含む)に関する質問は
専用の別スレにお願いッス。

過去スレ、関連スレ、関連リンクなどは >>2-10 あたり

2 名前:v(^・^)v :04/07/19 04:48
1 http://mimizun.mine.nu:81/2chlog/tech/piza.2ch.net/tech/kako/980/980175292.html
2 http://pc.2ch.net/tech/kako/996/996640937.html
3 http://pc.2ch.net/tech/kako/1003/10038/1003832761.html
4 http://pc.2ch.net/tech/kako/1009/10090/1009071535.html
5 http://pc.2ch.net/tech/kako/1014/10142/1014217496.html
6 http://pc.2ch.net/tech/kako/1018/10184/1018454705.html
7 http://pc.2ch.net/tech/kako/1021/10217/1021787032.html
8 http://pc3.2ch.net/tech/kako/1025/10250/1025010364.html
9 http://pc3.2ch.net/tech/kako/1027/10273/1027347982.html
10 http://pc3.2ch.net/tech/kako/1029/10293/1029315669.html
11 http://pc3.2ch.net/tech/kako/1032/10323/1032345774.html
12 http://pc3.2ch.net/tech/kako/1035/10350/1035005882.html
13 http://pc3.2ch.net/tech/kako/1038/10380/1038031395.html
14 http://pc5.2ch.net/tech/kako/1041/10413/1041328679.html
15 http://pc5.2ch.net/tech/kako/1043/10436/1043605481.html

3 名前:v(^・^)v :04/07/19 04:49
改行制限により分割
16 http://pc5.2ch.net/tech/kako/1045/10457/1045746245.html
17 http://pc5.2ch.net/tech/kako/1047/10475/1047560042.html
18 http://pc5.2ch.net/tech/kako/1050/10501/1050177746.html
19 http://pc5.2ch.net/tech/kako/1052/10526/1052625846.html
20 http://pc5.2ch.net/tech/kako/1055/10551/1055162298.html
21 http://pc5.2ch.net/tech/kako/1057/10575/1057580107.html
22 http://pc5.2ch.net/tech/kako/1060/10603/1060361082.html
23 http://pc5.2ch.net/tech/kako/1062/10626/1062690663.html
24 http://pc5.2ch.net/tech/kako/1066/10665/1066546387.html
25 http://pc5.2ch.net/tech/kako/1067/10679/1067949669.html
26 http://pc5.2ch.net/test/read.cgi/tech/1070164402/ (迷子)
27 http://pc5.2ch.net/test/read.cgi/tech/1074454641/ (迷子)
28 http://pc5.2ch.net/test/read.cgi/tech/1077985164/
29 http://pc5.2ch.net/test/read.cgi/tech/1082047479/
30 http://pc5.2ch.net/test/read.cgi/tech/1084030770/
31 http://pc5.2ch.net/test/read.cgi/tech/1086185282/
32 http://pc5.2ch.net/test/read.cgi/tech/1088236078/

4 名前:v(^・^)v :04/07/19 04:51
■基本■
[C++ FAQ]
 http://www.parashift.com/c++-faq-lite/
 http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
  Cとその仕様を比較しながらの解説なので分かりやすい。
  ***** 質問の前に必ずこの二つに目を通してください *****

[禿 Stroustrup]
 http://www.research.att.com/~bs/
[C++ International Standard]
 http://www.kuzbass.ru/docs/isocpp/
 http://www.kuzbass.ru/docs/ansi_iso_iec_14882_1998.pdf
 http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=38110&ICS1=35&ICS2=60&ICS3=
[JTC1/SC22/WG21 - C++]
 http://std.dkuug.dk/jtc1/sc22/wg21/

[C/C++ Users Journal]
 http://www.cuj.com/
[cppll (ML)]
 http://www.trickpalace.net/cppll/ (日本語)

5 名前:v(^・^)v :04/07/19 04:52
■Books■
amazon.com C,C++関連書籍
 http://www.amazon.com/exec/obidos/tg/browse/-/3956/ref=br_bx_c_1_3/

The C++ Programming Language
 http://www.amazon.com/exec/obidos/ASIN/0201700735/
 http://www.amazon.co.jp/exec/obidos/ASIN/475611895X/ (翻訳)
C++ Primer (3rd Edition)
 http://www.amazon.com/exec/obidos/ASIN/0201824701/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756140068/ (翻訳)
The C++ Standard Library
 http://www.amazon.com/exec/obidos/ASIN/0201379260/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756137156/ (翻訳)
Effective C++
 http://www.amazon.com/exec/obidos/ASIN/0201924889/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756118089/ (翻訳)
More Effective C++
 http://www.amazon.com/exec/obidos/ASIN/020163371X/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756118534/ (翻訳)
Exceptional C++
 http://www.amazon.com/exec/obidos/ASIN/0201615622/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894712709/ (翻訳)
More Exceptional C++
 http://www.amazon.com/exec/obidos/ASIN/020170434X/
Effective STL
 http://www.amazon.com/exec/obidos/ASIN/0201749629/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714108/ (翻訳)
Modern C++ Design
 http://www.amazon.com/exec/obidos/ASIN/0201704315/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714353/ (翻訳)
C++ Templates
 http://www.amazon.com/exec/obidos/ASIN/0201734842/

6 名前:v(^・^)v :04/07/19 04:53
■Libraries■
[Boost]
 Boost http://www.boost.org/
 (日本語) http://user.ecc.u-tokyo.ac.jp/~s31552/wp/boost/
 (日本語) http://www.kmonos.net/alang/boost/
[STL]
 STLport http://www.stlport.org/
 SGI-STL http://www.sgi.com/tech/stl/
 STLFilt http://www.bdsoft.com/tools/stlfilt.html
 (日本語) http://www005.upp.so-net.ne.jp/episteme/html/stlprog/
 (日本語) http://www.wakhok.ac.jp/~sumi/stl/
[Loki]
 http://www.moderncppdesign.com/
 LokiPort-MSVC7 http://www.geocities.com/rani_sharoni/LokiPort.html
 LokiPort-MSVC6sp5 http://fara.cs.uni-potsdam.de/~kaufmann/?page=lokiport
[他]
 ACE http://www.cs.wustl.edu/~schmidt/
 Blitz++ http://www.oonumerics.org/blitz/
 flex++ Bison++ http://www.idiom.com/free-compilers/TOOL/BNF-15.html
[他ライブラリリンク集]
 http://www.trumphurst.com/cpplibs/cpplibs.phtml
 (日本語) http://www.kmonos.net/alang/cpp/lib.html

7 名前:デフォルトの名無しさん :04/07/19 05:09
>>1
こんな朝っぱらに乙!

8 名前:v(^・^)v :04/07/19 05:13
■関連スレ■
【C++】template 統合スレ -- Part4
http://pc5.2ch.net/test/read.cgi/tech/1083550483/
ようかんマンがC/C++の宿題を片付けて見せます 28棹
http://pc5.2ch.net/test/read.cgi/tech/1089974839/
C/C++でのWindowsPrograming議論スレ(質問お断り)
http://pc5.2ch.net/test/read.cgi/tech/1049790146/
managed C++ やろうぜ!!
http://pc5.2ch.net/test/read.cgi/tech/1014486422/
ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/
COM の世界を斬る!
http://pc5.2ch.net/test/read.cgi/tech/981823340/
WTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/

9 名前:v(^・^)v :04/07/19 05:14
■コンパイラスレ■
タダで最強!フリーC/C++コンパイラ
http://pc5.2ch.net/test/read.cgi/tech/1035882599/(html化待ち)
GCCについて part3
http://pc5.2ch.net/test/read.cgi/tech/1072484422/
タダで使えるVisual C++ $2
http://pc5.2ch.net/test/read.cgi/tech/1086287039/
タダで使えるBorland C++ Part3
http://pc5.2ch.net/test/read.cgi/tech/1054390397/
OpenWatcom C++
http://pc5.2ch.net/test/read.cgi/tech/1033433728/
"Code of the Nerds" Digital Mars C/C++
http://pc5.2ch.net/test/read.cgi/tech/1044210976/

10 名前:v(^・^)v :04/07/19 05:15
■開発環境スレ■
★初心者にVisual C++を教えるスレ★ Part13
http://pc5.2ch.net/test/read.cgi/tech/1089011118/
■MFC相談室 mfc11.dll■
http://pc5.2ch.net/test/read.cgi/tech/1088084875/
C++Builder相談室 Part10
http://pc5.2ch.net/test/read.cgi/tech/1089299158/
Borland C++ BuilderX
http://pc5.2ch.net/test/read.cgi/tech/1065260556/

11 名前:v(^・^)v :04/07/19 05:18
連続投稿規制に引っかかってむしゃくしゃしていた.
スレが立てられるなら何でも良かった.
今はあらかじめ串を用意しておくべきだったと反省している.

12 名前:デフォルトの名無しさん :04/07/19 05:22
>>1 は無罪。

13 名前:7 :04/07/19 05:27
>>1
割り込んですまんかった...orz

14 名前:デフォルトの名無しさん :04/07/19 11:08
前スレの>>928
>>927ですが、ネットで調べても解決できなかったので他に当たってみます。

15 名前:デフォルトの名無しさん :04/07/19 13:52
v(^・^)v が復活したな。酸素〜

16 名前:デフォルトの名無しさん :04/07/19 21:55
STLつかうと一気に実行ファイルサイズが10倍に?!

17 名前:デフォルトの名無しさん :04/07/19 22:02
つまんね
実測すりゃ済むことで
人に聞く必要性は完璧にゼロ

18 名前:デフォルトの名無しさん :04/07/19 22:11
>>17
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

19 名前:デフォルトの名無しさん :04/07/19 22:19
( ・_・)?

20 名前:デフォルトの名無しさん :04/07/19 22:18
>>17
もー。
打ち合わせ通りにやってよね。
正しくは

> >>16
> 環境によるだろ。
> 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
> ランタイムを使用するようにして使っているが、例えばstd::vectorを
> 使っても使わない時と比べ10Kほどしか増えない。

21 名前:デフォルトの名無しさん :04/07/20 00:21
(;´Д`)

22 名前:デフォルトの名無しさん :04/07/20 00:29
>>20
わざわざタイムマシンで乙

23 名前:デフォルトの名無しさん :04/07/20 00:31
STL信者が我慢できなくなったようだなw

24 名前:デフォルトの名無しさん :04/07/20 00:59
>>20
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。

25 名前:デフォルトの名無しさん :04/07/20 01:05
もういいってw
何回やれば気が済むんだ?

26 名前:デフォルトの名無しさん :04/07/20 01:28
むしろこれもテンプレの一部だろ

27 名前:デフォルトの名無しさん :04/07/20 05:04
実は今日は火曜日だったりするわけ。

28 名前:デフォルトの名無しさん :04/07/20 05:27
C1010(ry

29 名前:デフォルトの名無しさん :04/07/20 06:54
>>28
#include "stdafx.h"

あと死ね。

30 名前:デフォルトの名無しさん :04/07/20 09:13
テンプレ扱いならテンプレ扱いで、気合入れてやってくれよ。
死ぬほど面倒くさそうにやられると、見てるこっちも疲れてくる(^_^;

31 名前:デフォルトの名無しさん :04/07/20 10:31
次スレから気合入れてやるってことで

32 名前:デフォルトの名無しさん :04/07/20 20:11
class CMyClass
{
public:
static const int nState = 0;
};
これだとコンパイルが通るんですが
intをdoubleに変えるとエラーになるのは何故ですか?


33 名前:デフォルトの名無しさん :04/07/20 20:21
>>32
どこかでCMyClass::nStateをintだとおもってつかってるからでしょう。

34 名前:デフォルトの名無しさん :04/07/20 20:21
C++の仕様

ちと古いコンパイラはその書き方もダメだった

35 名前:デフォルトの名無しさん :04/07/20 20:44
昔は整数型定数しか初期化できなかった

36 名前:デフォルトの名無しさん :04/07/20 21:12
え?今は浮動小数点数もいけるのか?

37 名前:デフォルトの名無しさん :04/07/20 23:10
いけません。

38 名前:デフォルトの名無しさん :04/07/20 23:43
主人が帰ってきますわ。

39 名前:デフォルトの名無しさん :04/07/20 23:59
ああ、そんなこと、やめてください。

40 名前:デフォルトの名無しさん :04/07/21 00:20
パソリンカット


41 名前:デフォルトの名無しさん :04/07/21 00:25
L."DANCHI",R

42 名前:デフォルトの名無しさん :04/07/21 09:25
ttp://www.open-std.org/jtc1/sc22/wg21/
News 2004-07-21: The C++ Standard Library Issues List (Revision 31) is available

43 名前:デフォルトの名無しさん :04/07/22 01:10
>>42
auto_ptr_ref はついに消えてくれそうだな。前から怪しいと思ってはいたんだ。

44 名前:デフォルトの名無しさん :04/07/22 01:54
怪しさ大爆発!
というよりは、むしろ不気味な存在。

45 名前:デフォルトの名無しさん :04/07/22 12:43
VC.netについて相談させてください。

実行exeにアイコンを登録したいのですがわかりません。
ご教授お願いします。

46 名前:デフォルトの名無しさん :04/07/22 12:54
>>45
スレ違い。
ttp://pc5.2ch.net/test/read.cgi/tech/1083995297/
テンプレの「開発環境」にVC++.Netが無いようだが、誘導はこれでいいのかな?

47 名前:デフォルトの名無しさん :04/07/22 13:12
すれ違いって>>1
C++に関する質問には入らないの?

48 名前:デフォルトの名無しさん :04/07/22 13:14
>>47
各開発環境ごとに専用の別スレがあるから、そっちのほうが適切。
>>1に明示的に書いてないようだが、ここはおそらく(標準ライブラリを含む)言語スレ。

49 名前:デフォルトの名無しさん :04/07/22 16:53
#include <iostream>
#include <string>
using namespace std;

int i,k;
int main()
{
string str[4][2];

str[0][0] = "就職 ";
str[0][1] = "活動 ";
str[1][0] = "会社 ";
str[1][1] = "訪問 ";
str[2][0] = "集団 ";
str[2][1] = "面接 ";
str[3][0] = "学校 ";
str[3][1] = "推薦 ";

for(i=0;i<4;i++){
for(k=0;k<2;k++){

cout << str[i][k] << endl;

}
k=0;
cout << "\n";
}

return 0;
}

これってどうよ?

50 名前:デフォルトの名無しさん :04/07/22 16:57
>>49
不採用


51 名前:デフォルトの名無しさん :04/07/23 03:48
不問

52 名前:デフォルトの名無しさん :04/07/23 18:27
int main(int argc, char* argv[])
{
try
{
throw int();
}
catch(int)
{
}

return 0;
}

これだけのプログラムなのですが
例外処理 (初回) は hoge.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。
とデバッガのアウトプットに出るのです。
前は出てなかったような気がするんですが
throwを使うと必ず出るものなんですか?

53 名前:52 :04/07/23 18:28
書き忘れました。
VC++6.0 SP5 Win2kです。

54 名前:デフォルトの名無しさん :04/07/23 19:49
機種依存の話は受け付けてません

55 名前:デフォルトの名無しさん :04/07/23 19:53
>>52
警告無視してるだろ

56 名前:デフォルトの名無しさん :04/07/23 21:00
warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクス
は有効にはなりません。-GX を指定してください。


57 名前:デフォルトの名無しさん :04/07/23 23:52
VC++7.1のコード補完は軽いけどテンプレートとかでうまく動かない。
C++Builder6のコード補完は重いけどテンプレートでも使える。
まともなコード補完してくれて軽いIDEはいつでるんだろうか…

58 名前:デフォルトの名無しさん :04/07/23 23:53
マシン買い換えろ

59 名前:52 :04/07/24 00:59
>>55
警告は何も出ずビルドできてます。(リビルドしても変わらず)
/GX オプションも付いていることを確認しています。


60 名前:52 :04/07/24 01:02
試しにGXを外してみたら>>56の警告が出ました。

スレ違いとのことなので移動します。
ありがとうございました。

61 名前:デフォルトの名無しさん :04/07/24 01:23
VCのIntellisenceは、なんか初回発動時にハードディスクからガガガガガって音が聞こえてきてちょっと怖い。

62 名前:デフォルトの名無しさん :04/07/24 01:44
multisetから重複している要素のみを抽出したいのですが、
どうすればよいでしょうか?

63 名前:62 :04/07/24 01:51
自己解決しました。
adjacent_findでできました

64 名前:デフォルトの名無しさん :04/07/24 02:01
おまんこぺろぺろ

65 名前:デフォルトの名無しさん :04/07/24 02:02
>>63
template<typename T>
void unique(std::multiset<T>& x);
実装貼り付けきぼんぬ。

66 名前:デフォルトの名無しさん :04/07/24 02:04
>>63
adjacent_find は等値判定に基づくアルゴリズムなので、
multisetに対する操作としてはまずいかも。

67 名前:65 :04/07/24 02:16
重複要素の削除かと勘違いした。ごめん。
もう一度>>62を読み直したら、どんな動作がさせたかったのかわからなくなった。

ということで、やっぱり実装貼り付けきぼんぬ。

68 名前:デフォルトの名無しさん :04/07/24 02:24
>>66
EffectiveSTL読み直してみます。

>>67
こんな感じでresultが欲しかったのです。

HogeMultiSet result;
for(HogeMultiSet::iterator it = hogeMultiSet_.begin();;)
{
  it = std::adjacent_find(it, hogetMultiSet.end(),
  HogeEquals());
  if(it != hogetMultiSet.end())
  {
    int count = hogetMultiSet.count(*it);
    for(int i=0; i<count; ++i)
      result.insert(*it++);
  }
  else
    break;
}

69 名前:デフォルトの名無しさん :04/07/24 06:13
>>68
欲を言うと,重複要素のカウントはメンバ関数のcountじゃなくて,
自前でイテレータを動かして重複要素を数え上げたほうが速いかも知れないということが1点と,
resultがhogeMultiSetと同じ順序を使っているなら
result(*it++);よりもresult.insert(result.end(), *it++);の方が推奨されるってことが1点.
非常に細かい話で申し訳ない.
後は66さんの言うように等値と等価の違いに注意するぐらいですかね.

70 名前:デフォルトの名無しさん :04/07/24 09:09
More Exceptional C++の和訳は出る予定あるのかな?
もしかしてExceptional C++があんまり売れなかったとか?

71 名前:デフォルトの名無しさん :04/07/24 10:32
STLportのhashコンテナで比較関数にgreater<>を使ったんですが
降順に正しくソートされません。
MSのSTLだと比較関数のデフォルトにless<>がセットされているのですが
STLportだと、_EqualKeyとしてequal_to<>になっているのも気になります。
もしかしてhashコンテナにソートを求めるのが間違っているのでしょうか?

72 名前:デフォルトの名無しさん :04/07/24 11:21
間違ってる

73 名前:デフォルトの名無しさん :04/07/24 13:28
クラスって自分自身で自分自身をdeleteすることはできないのですか?

あるメンバ関数の処理を終えたら、自分自身でデストラクターを呼んで
開放したいのですが…やってもいいのですか?

74 名前:デフォルトの名無しさん :04/07/24 13:30
一応できるよ。
でもdeleteした後に自分自身にアクセスしちゃ駄目だよ。

75 名前:デフォルトの名無しさん :04/07/24 13:45
delete this; // suicide

76 名前:デフォルトの名無しさん :04/07/24 18:05
メールチェッカーを作ってるんですけど
参考になるページ教えて下さいませんか?
全然見通しがたたなくって

77 名前:デフォルトの名無しさん :04/07/24 18:22
>>76
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%81%E3%82%A7%E3%83%83%E3%82%AB%E3%83%BC

78 名前:デフォルトの名無しさん :04/07/24 18:30
>>73
そのクラスのオブジェクトをスタック上に作ることはないのか?

79 名前:デフォルトの名無しさん :04/07/24 19:11
>78
当然privateデストラクタでガードだな。

80 名前:デフォルトの名無しさん :04/07/24 19:26
そこですかさず
#define private public
ですよ

81 名前:デフォルトの名無しさん :04/07/24 19:28
そこで間髪いれず
#undef private
ですよ

82 名前:デフォルトの名無しさん :04/07/24 19:36
#if 0
>>80-81
#endif

83 名前:デフォルトの名無しさん :04/07/24 23:04
つーか、自殺オブジェクト作った場合も結局はdelete前に、自分を参照しているオブジェクトに通知する必要があるわけだが。


84 名前:デフォルトの名無しさん :04/07/24 23:11
一つのクラスを *.h と *.cpp の 2 ファイルに分けて、
実装は原則として *.cpp ファイルに書いてるんですが、

 inline const String getName(void) const { return _name; };

みたいな inline 関数とか短いのとかは *.h ファイルに書くこともあります。

でも、なんかこういうのって気持ち悪いと感じるんですよ、性格的に。
関数によってファイルが違ったら統一性に欠けるじゃないですか。
プログラミングってのは美しくないとね。

だから月曜日からは実装は全部 *.cpp ファイルに書け!という
決まりを制定しようとたったいま酒をあおりながら思ったんですが、
別に問題ないですよね?

なにかご意見頂ければ幸いです。

85 名前:デフォルトの名無しさん :04/07/24 23:18
>>84
個人で開発するぶんには無問題

ただ、気持ち悪いとかいう主観でそんなことする人間が職場にいたら多分殴ると思う

86 名前:デフォルトの名無しさん :04/07/24 23:19
>>84
インラインの実体は *.inl に書いといて *.h から #include するとか・・・

87 名前:デフォルトの名無しさん :04/07/24 23:19
全部.hにかけばいいとおもうが。

88 名前:デフォルトの名無しさん :04/07/24 23:20
>>85
ソースの体裁って主観以外の何だ?
肝心なのは空気読むことだろ

89 名前:デフォルトの名無しさん :04/07/24 23:24
テンプレートってヘッダーファイルにしか書けない環境もあるんじゃなかったっけ?

90 名前:デフォルトの名無しさん :04/07/24 23:27
>>88 勝手に体裁の話にすんなよ。

91 名前:84 :04/07/24 23:37
>>85
殴られやしないから無問題☆

>>86
なぜにわざわざ?

>>87
そんなのかっこわるいし!

>>89
テンプレートの場合は *Inter.h と *Impl.h に分けてます。


んじゃあまあ、結論としては全然おっけーってことで。
ご回答ありがとうございました!

92 名前:デフォルトの名無しさん :04/07/25 00:07
>>91
86だが、理由は84が述べているから説明していない
まあ酔っ払いの相手なんてこんなもんかw

93 名前:84 :04/07/25 00:23
>>92
あーもう、そういうことを聞きたかったのに!

いまネットで調べてみたら
inline 関数はヘッダファイルに書くんじゃん!
*.cpp に書いたら問題大ありじゃん!

もっと早く教えてよ!

だいたい「決まりを制定」とか大きな口叩いたけど、
現行ソースいじってるのは漏れ一人だし、まだ製品レベルでもなくて
C++入門したての新人だから、そんなこと知らなくても当然なの!

もう寝ます。おやすみなさい。

#前スレ 518-609 だけど今度は追放しないでね(はぁと

94 名前:デフォルトの名無しさん :04/07/25 00:32
素でキモイ…

95 名前:デフォルトの名無しさん :04/07/25 00:32
>>93
今後は初心者スレに逝け

96 名前:84 :04/07/25 00:38
ごめんなさい。なんかすごく反省しています。
恥ずかしいのでもう一杯お酒飲んでから寝ます。

>>94
リアルだともっとキモイよ!

>>95
初心者スレって↓ですか?今度からはそうします。

【初心者歓迎】C/C++室 Ver.7【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1086373839/

お騒がせしました。さようなら。

97 名前:デフォルトの名無しさん :04/07/25 09:24
まあMSは*.inlだよね、俺もそうしてるよ。

98 名前:デフォルトの名無しさん :04/07/25 11:10
>>94
同意
ついでに酒飲んでりゃ何でも許されると思ってる人種はくたばれ

99 名前:デフォルトの名無しさん :04/07/25 11:48
>>98
「何でも」とはずいぶん拡大解釈したものだな
誰かそんなに許されないことでもしでかしたのか?

真面目くさった勤務を終えた後でくだけた話をするなというなら2ch自体いらないと思うが
無職な人にはここが聖域だったりするわけかw

100 名前:デフォルトの名無しさん :04/07/25 11:51
読解力のない香具師がいるな

101 名前:デフォルトの名無しさん :04/07/25 12:18
>>99
そういう目的ならこちらでどうぞ^^
ttp://life5.2ch.net/yume/
ttp://life6.2ch.net/mental/

102 名前:デフォルトの名無しさん :04/07/25 13:51
C++でJavaのinstanceofに相当するものはありませんか?
よろしくお願いします。

103 名前:デフォルトの名無しさん :04/07/25 13:52
>>102
dynamic_cast

104 名前:デフォルトの名無しさん :04/07/25 14:02
dynamic_cast を本当に使わなきゃならん時なんてあんまりないと思うが

105 名前:102 :04/07/25 14:06
どうもありがとう

106 名前:デフォルトの名無しさん :04/07/25 14:24
>>104
たまにある。

107 名前:デフォルトの名無しさん :04/07/25 14:31
>>106
どんなとき?

108 名前:デフォルトの名無しさん :04/07/25 14:32
Javaでinstanceofを使いたくなるような時

109 名前:デフォルトの名無しさん :04/07/25 14:34
>>108
どんなとき?

110 名前:デフォルトの名無しさん :04/07/25 14:47
悲しいとき〜

111 名前:デフォルトの名無しさん :04/07/25 14:52
http://www-6.ibm.com/jp/developerworks/java/010907/j_j-diag4.html

112 名前:デフォルトの名無しさん :04/07/25 15:04
>>109
C++ 版の union がほしいとき (boost::any とか)

スクリプト言語とデータをやりとりするとき。スクリプト側に C++ 並の型システムを
実装するのは骨なので、スクリプト側には総称的なハンドル型を渡しておいて、
そこから C++ コードが呼ばれたときに dynamic_cast で検証して使う。


113 名前:デフォルトの名無しさん :04/07/25 15:36
>>111
そこの結論はinstanceof使わない方法だろ。

114 名前:デフォルトの名無しさん :04/07/25 15:50
多重継承しているときなんかで汚いコードだとは思うがおまえはだれって聞きたくなるときがある。

115 名前:デフォルトの名無しさん :04/07/25 16:17
abstract factoryで一群の公開インターフェイスで返したオブジェクト群が
互いに内部用インターフェイスで通信したいときに
dynamic_castで引っ張りだしたりすることはあるな。

116 名前:デフォルトの名無しさん :04/07/25 17:04
つーか、virtual 使いまくって dynamic_cast だけ毛嫌いする論理的な議論ってどんなんだ?

117 名前:デフォルトの名無しさん :04/07/25 17:22
>>116
dynamic_castのコストは継承ツリーの大きさが大きいほど大きくなる。
virtual関数コールは定数オーダー。
同列に扱うほうがおかしい。

118 名前:デフォルトの名無しさん :04/07/25 17:35
ディレクトリツリーをコンポジットパターンで操作するとき、必要にならないか?

119 名前:デフォルトの名無しさん :04/07/25 17:41
>>118
ディレクトリかどうかの判定はC++言語じゃなくてOSなりに任せるべきだろ。

120 名前:デフォルトの名無しさん :04/07/25 17:44
かみ合って無いやり取りが続いてるな

121 名前:デフォルトの名無しさん :04/07/25 17:54
>>118
葉も幹もすべて同じ仮想関数を持てばdynamic_castは必要にならない。

が、そうすることが最適解とも思えない。

122 名前:デフォルトの名無しさん :04/07/25 18:53
>>121
処理はVisitorにまかせる

123 名前:デフォルトの名無しさん :04/07/25 19:02
BorlandC++compilerを使ってコンパイルしたんですが
exeファイルが見つかりません。
作成された↑はどこに保存されるんでしょうか?
初歩的なことですみません;

124 名前:デフォルトの名無しさん :04/07/25 19:08
>116
RTTIの必要性

125 名前:デフォルトの名無しさん :04/07/25 19:35
double dispatchとか。

126 名前:デフォルトの名無しさん :04/07/25 20:41
>>123
情報が足りない。

コンパイラのexeなのか、
自分でコンパイルしたモノのexeなのか、
他のexeなのか。
何のexeだ?

127 名前:デフォルトの名無しさん :04/07/25 20:57
>>126
「コンパイルした」ということから、コンパイラのexeは候補から消えるだろう。
「作成された↑」ということから、自分でコンパイルしたモノのexeである可能性が高いと言えるだろう。

本当に必要な情報は
・何をしたのか(なるべくそのまま、正確に)
・自分の期待した結果とどうちがっていたのか(なるべく詳しく)
だろう。

>>123
スレ違い。こっち逝け→http://pc5.2ch.net/test/read.cgi/tech/1054390397/

128 名前:デフォルトの名無しさん :04/07/25 22:51
dynamic_castはきれいな設計をしたら防げるんじゃないかと思うのが7,8割じゃないかと思うんですが...
これは自分に言い聞かせ。

double dispatchにはつかわね。

129 名前:デフォルトの名無しさん :04/07/25 22:54
コンソールに文字を左寄せで出力したいのですが
その際に、10文字とか決めて出力したいです。

cout << name << data << endl;

とかなっている時に、nameのサイズ決めないと後ろがずれてしまうので…
setwだと右寄せになってしまって、できなかったです。
Cではprintfの%-dとかやってたんですが、C++ではどう書けばいいのでしょうか?
初歩的ですいませんが、ご教授お願いします。

130 名前:デフォルトの名無しさん :04/07/25 23:09
C++でもprintf()使えるよ。

131 名前:デフォルトの名無しさん :04/07/25 23:09
>>128
> dynamic_castはきれいな設計をしたら防げるんじゃないかと思うのが7,8割じゃないかと思うんですが...
dynamic_cast を使った方がきれいな設計になることもある。
むやみに dynamic_cast 使うのはやめた方が良いが、
むやにみ dynamic_cast 禁止するのもやめとけ。

132 名前:129 :04/07/25 23:12
>>130
返答ありがとうございます。
この場合はprintfとかを使うしかないのかな…

133 名前:デフォルトの名無しさん :04/07/25 23:23
>>123は「コンパイルした」とは書いてるが「リンクした」とは書いてないところが気になるが。

まさかとは思うが、デスクトップに自分で作ったbcc32.exeのショートカットをダブルクリックしてるとか。 (藁
あと、そのショートカットにソースをドロップして「コンパイルした」とか...。

いや、冗談じゃなくて、本当にいたんだよ、こーゆーアフォが。


134 名前:デフォルトの名無しさん :04/07/25 23:35
>131
禁止はしないんだけれど、なんか引っかかるんですよね。
dynamic_cast使うと結局もしこれだったらって言うコードになるから。

135 名前:デフォルトの名無しさん :04/07/26 00:20
>>129
cout.setf(...)はどう?

136 名前:デフォルトの名無しさん :04/07/26 00:23
>>129
std::left を突っ込め。

137 名前:129 :04/07/26 00:26
>>135-136
ありがとうございます、両方これから試してみます。

138 名前:デフォルトの名無しさん :04/07/26 00:26
boost::formatとか

139 名前:129 :04/07/26 00:43
cout.setf(ios::left)とstd::left、どちらもちゃんとできました。
boostについては、使ったことがないので、いずれ勉強します。
ライブラリダウンロードしたりしなくてはいけないようなので。
皆さん、親切にありがとうございました。


140 名前:デフォルトの名無しさん :04/07/26 03:21
boost っていつになったら組み込まれるんだろう

141 名前:123 :04/07/26 06:23
よくわからず環境変数を設定してadministrator>bcc32を実行したため
その下のディレクトリに保存されてました。お騒がせしてすみません、、
アドバイスありがとうございました〜

142 名前:デフォルトの名無しさん :04/07/26 06:38
子クラスを引数としたメンバ関数内から
子クラスを親クラスに代入するのって
class Hoge2::Hoge1;
Hoge2::HogeHoge(Hoge1 *hoge){
 this->… = hoge->…;
 …
}
って感じで力技でやるしかないんですか?
 this = hoge;
って感じでやりたいんですが。

143 名前:デフォルトの名無しさん :04/07/26 07:32
>>142
Hoge1::operator=(Hoge1 const&) が正しく定義されてるなら、
*(Hoge1*)this = hoge;
で良いんじゃない?


144 名前:デフォルトの名無しさん :04/07/26 07:33
>>142
Hoge2::HogeHoge(Hoge1 *hoge){
 Hoge1::operator =(*hoge);
}

145 名前:デフォルトの名無しさん :04/07/26 08:16
>>144
(*hoge);
この括弧は関数呼び出しの括弧になるの?

146 名前:デフォルトの名無しさん :04/07/26 08:24
>>145
Hoge1::operator=(Hoge1 const&) が正しく定義されてるなら

Hoge2::HogeHoge(Hoge1 *hoge){
  *(Hoge1*)this = *hoge;
}

じゃないかな?
っていうかHogeHoge自体不要


147 名前:デフォルトの名無しさん :04/07/26 08:24
そう

148 名前:デフォルトの名無しさん :04/07/26 11:12
>142-147
そんなoperator書いている後輩がいたら有無を言わさず消去する人

ノシ

149 名前:デフォルトの名無しさん :04/07/26 15:22
お前らなんか間違ってないか?
>子クラスを親クラスに代入する
んだから、
*this = *hoge;
で十分だろ。

150 名前:デフォルトの名無しさん :04/07/26 21:04
>>148
お前の存在が有無を言わさず消されるといいな

151 名前:デフォルトの名無しさん :04/07/26 21:35
delete 150

152 名前:デフォルトの名無しさん :04/07/26 23:38
>>151
エラー:セミコロンが見つかりません。

153 名前:デフォルトの名無しさん :04/07/26 23:58
#kill TERM >>150-151

154 名前:デフォルトの名無しさん :04/07/27 00:24
>>152
なかなかのコンパイラだね。

155 名前:デフォルトの名無しさん :04/07/27 00:39
>>149
(Hoge1)*this = *hoge;

156 名前:デフォルトの名無しさん :04/07/27 02:01
>>155 なんだそりゃ?

157 名前:デフォルトの名無しさん :04/07/27 09:23
*(Hoge1)this

158 名前:デフォルトの名無しさん :04/07/29 10:45
ああ

159 名前:デフォルトの名無しさん :04/07/29 11:51
なんですか?

160 名前:デフォルトの名無しさん :04/07/29 12:02
>>159
女は恐いし

161 名前:デフォルトの名無しさん :04/07/29 12:03
ネタない?

162 名前:デフォルトの名無しさん :04/07/29 12:04
>>161
C++の基礎を教えて。

163 名前:デフォルトの名無しさん :04/07/29 12:21
privateとprotectedの違いってなんだっけ

164 名前:デフォルトの名無しさん :04/07/29 12:27
class A
{
protected:
 int a;
private:
 int b;
}

class B : public A
{
 void Hoge()
 {
  a = 0; //OK
  b = 0; //エラー
 }
}

165 名前:デフォルトの名無しさん :04/07/29 12:35
なんかこのスレも門下金柑だな

166 名前:デフォルトの名無しさん :04/07/29 13:07
>>162
ごめん君には基礎は教えられない。君に理解できるとは思えないから。

167 名前:デフォルトの名無しさん :04/07/29 13:42
void Unko(Poko** p)
{
*p = new Poko();
}
void Unko(Poko* p)
{
p = new Poko();
}

int main()
{
Poko* p;

Unko(p);
Unko(&p);
}

どう使い分ければいいのですか?

168 名前:デフォルトの名無しさん :04/07/29 13:49
#include <iostream>
int main()
{
Poko* p = 0;

Unko(p);
std::cout << p << '\n';
Unko(&p);
std::cout << p << std::endl;
}

169 名前:デフォルトの名無しさん :04/07/29 13:50
>>167
マジレスすると後者のUnko()は一時変数のポインタにPokoのインスタンスへの
ポインタを代入しているだけだから、関数から抜けたらメモリリークを起こす。
(Pokoのインスタンスを解放するすべがなくなる)。

というか、C++ならポインタへのリファレンスを使おうよ。

170 名前:デフォルトの名無しさん :04/07/29 13:55
なるほど。納得しました。ありがとうございました。
危ないところでした・・・

171 名前:デフォルトの名無しさん :04/07/29 15:36
for_eachにsetのiterator渡すのはまずいのでしょうか?

コンパイラに怒られてしまったのですが。
[C++ 警告] W8091 template の _InputIter 引数('for_each' に渡される)は \
output 反復子:input 反復子が必要

172 名前:デフォルトの名無しさん :04/07/29 15:40
C++しらないけどconst渡したとか?

173 名前:デフォルトの名無しさん :04/07/29 15:46
begin()とend()渡しただけなので普通のiteratorだと思うのですが。

174 名前:デフォルトの名無しさん :04/07/29 15:48
>>171
まずくないはず。
g++で通ったし。
コンパイラとバージョンは?

>>172
それは問題なし

175 名前:デフォルトの名無しさん :04/07/29 15:50
>>171
まずくはないでしょ.これ通るでしょ.
#include <iostream>
#include <set>
#include <algorithm>
#include <functional>
using namespace std;
class A {
private:
int value_;
public:
A (int p): value_ (p) {}
bool operator < (const A &p) const {return value_ < p.value_;}
void show () const {cout << value_ << endl;}
};
int main () {
typedef set <A> Set;
Set s0;
for (int i (0); i < 10; ++ i)
s0.insert (A (i));
for_each (s0.begin (), s0.end (), mem_fun_ref (&A::show));
return 0;
}


176 名前:デフォルトの名無しさん :04/07/29 15:51
BCB6です。
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland

177 名前:デフォルトの名無しさん :04/07/29 15:52
>>175
警告 W8091 tewst.cpp 19: template の _InputIter 引数('for_each' に渡される)は
output 反復子:input 反復子が必要(関数 main() )

との事です。

178 名前:175 :04/07/29 15:55
>>177
なぬぅ!? 私のはg++ 3.3.4なんだけど,この警告は何なの?
因みに実行は問題ないんですよね?


179 名前:デフォルトの名無しさん :04/07/29 15:55
tewstはファイル作る時にtestとタイプミスしただけです。

180 名前:デフォルトの名無しさん :04/07/29 15:57
>>178
実行は問題無いです

181 名前:デフォルトの名無しさん :04/07/29 16:24
setのiteratorをoutputと申告するようなstlは捨てちまえ。

ところでBCCの警告はテンプレート引数名に反応してるのか?
親切だな。

182 名前:デフォルトの名無しさん :04/07/29 19:31
あー、俺もBCB使ってて、以前から「なんだろこれ?」と思ってた。

問題が起こってるようには見えないんで、無視してるけど・・・。

183 名前:デフォルトの名無しさん :04/07/29 21:06
反復子って単語知らなかった…
どこのコンパイラか知らんが,iteratorまで翻訳するなよ(><

184 名前:デフォルトの名無しさん :04/07/29 23:42
BCC5.6.4のSTLはSTLport4.5.3だよ。BCCが悪いのかSTLportのバージョンが古い
のが悪いのかわからんが、時々おかしな警告は出るね。(KT変数がどうのこうのとか)。

しかしSTLportなかなか新しいの出ないね。gcc3.4.0への対応に手間取っているら
しい。かなり変更点があったからね。

185 名前:デフォルトの名無しさん :04/07/29 23:46
std名前空間のなりすましとコンパイラ提供のiostreamを混在させたときに破綻してたのは解決したんだろうか?

186 名前:デフォルトの名無しさん :04/07/29 23:57
うちはBCB6だが>>175で警告は出ないが?

187 名前:デフォルトの名無しさん :04/07/29 23:59
警告 (藁8091

188 名前:デフォルトの名無しさん :04/07/30 00:03
>>186
-w付けろよ

189 名前:デフォルトの名無しさん :04/07/30 00:25
イテレータ
イタレータ
どっち使いますか?

190 名前:デフォルトの名無しさん :04/07/30 00:26
-藁

191 名前:デフォルトの名無しさん :04/07/30 00:45
-w付けろよデコ助野郎!!

192 名前:デフォルトの名無しさん :04/07/30 01:12
>>189
繰返子

193 名前:デフォルトの名無しさん :04/07/30 07:52
痛レータ

194 名前:デフォルトの名無しさん :04/07/30 08:00
http://www.google.co.jp/search?q=%E3%82%A4%E3%83%86%E3%83%AC%E3%83%BC%E3%82%BF&ie=UTF-8&hl=ja&lr=
イテレータ の検索結果 約 9,640 件中 1 - 10 件目 (0.12 秒)

http://www.google.co.jp/search?q=%E3%82%A4%E3%82%BF%E3%83%AC%E3%83%BC%E3%82%BF&ie=UTF-8&hl=ja&lr=
イタレータ の検索結果 約 130 件中 1 - 10 件目 (0.28 秒)

http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=%22%E5%8F%8D%E5%BE%A9%E5%AD%90%22&lr=
"反復子" の検索結果 約 1,530 件中 1 - 10 件目 (0.18 秒)

195 名前:デフォルトの名無しさん :04/07/30 10:04
板前の源さん

196 名前:デフォルトの名無しさん :04/07/30 12:33
void型のポインタを宣言して
そこに動的に確保したクラスのポインタを収納して
必要なときに、dynamic_castか何かでキャストして取り出してそうさすることは可能ですか?
さまざまなクラスのポインターを一様に収納できる入れ物を作りたいのです。

void *ptr;
class1 *hoge;

hoge = new class1();

ptr = hoge;

class1 *test;

test = dynamic_cast<class1*>(ptr);

test->〜
test->〜

これは可能ですか?

197 名前:デフォルトの名無しさん :04/07/30 12:41
>>196
5分もかからないのに、なぜやってみないのですか?

198 名前:デフォルトの名無しさん :04/07/30 12:42
>>196
reinterpret_cast でならできるよ。
どうやって型を覚えておくのかはしらないけどね。

199 名前:デフォルトの名無しさん :04/07/30 12:44
なんでアップキャスト使わないの?

200 名前:デフォルトの名無しさん :04/07/30 12:44
>>199
へ?

201 名前:デフォルトの名無しさん :04/07/30 12:45
>>196
試せ

202 名前:デフォルトの名無しさん :04/07/30 12:45
>>198
static_cast でも大丈夫だと思う。
どうやって型を(ry

203 名前:196 :04/07/30 12:51
型の覚え方は簡単です。

実はこの間に仲介するクラスがあって。

publicメンバーで
int型とvoid*型が宣言されています。

intが1であったら
class1で型キャストする
intが2であったら
class2で型キャスト
intが3であったら…

という風にしようとおもっています。

204 名前:デフォルトの名無しさん :04/07/30 13:01
>>203
「可能かどうか?」と聞かれれば「可能」だが、
絶 対 に 設 計 を 見 直 し た 方 が い い !

205 名前:デフォルトの名無しさん :04/07/30 13:02
>>203
C++ 以外の言語でやりなさい

206 名前:196 :04/07/30 13:40
そうですか…
しかしメインのタスクシステムがあってそのタスクシステムから
他の機能モジュールへ実行命令を発行させようとおもったらこの形がいいかな
とおもって…

こういう設計は、バグの要因になるでしょうか???


207 名前:デフォルトの名無しさん :04/07/30 13:42
>196
なにするかによるが、たぶん設計間違ってる

208 名前:デフォルトの名無しさん :04/07/30 13:42
>>206はC++には向いてない

209 名前:デフォルトの名無しさん :04/07/30 13:44
>>206
boost::anyじゃ駄目なの?

210 名前:196 :04/07/30 13:48
実はタスクシステムはスレッドが回っています。
そしてList型をprivateメンバーに持っていて。

そのList型に

class Ctask{
public:
int TaskType;
void *ptr;
}

こう言ったtaskクラスが順に格納できるようになっています。

インターフェイスからCtaskに適切な情報を入力して。
このタスクシステムのListに放り込んでやったら。

タスクシステムが順にListを呼んでいって、TaskTypeに適切なクラスにptrをキャストして
実行すると…というふうなシステムを考えました…

211 名前:デフォルトの名無しさん :04/07/30 13:49
CCtask多重継承しときゃいいやん。

212 名前:196 :04/07/30 13:50
>>209
boostはしりません…(TT
STLで同じようなものはないでしょうか?

213 名前:196 :04/07/30 13:51
>>211
えっとどういうことでしょうか?
もっと詳しく教えてくれれば幸いです。おながいしますm(_ _)m

214 名前:デフォルトの名無しさん :04/07/30 13:52
>>196
>さまざまなクラス
とやらの基底クラスを作れ。void*の代わりにその基底クラスへのポインタを持て。

215 名前:デフォルトの名無しさん :04/07/30 13:53
全部の昨日モジュールクラスがこれから派生する。
class CCtask{
virtual public void Execute(){}=0;
}
見たいな感じで。
単一継承でもいいけど

216 名前:デフォルトの名無しさん :04/07/30 13:53
>>214
共通のメソッドがなかったりして(w

217 名前:デフォルトの名無しさん :04/07/30 13:54
class AbstractTask
{
public:
 virtual void Process() = 0;
};

class TaskA : public AbstractTask
{
 //いろいろ
}

class SugoiTask : public AbstractTask
{
 //いろいろ
}

class ShoboiTask : public AbstractTask
{
 //いろいろ
}

std::list<AbstractTask*> taskList;

これじゃあ駄目なの?

218 名前:デフォルトの名無しさん :04/07/30 13:54
それか呼び出し自体をファンクターにしてそれを保持しておくとか

219 名前:196 :04/07/30 13:56
>>216
そのとおりです…
機能モジュールは何か共通のクラスから派生しているわけではないです…

220 名前:デフォルトの名無しさん :04/07/30 13:57
だから多重継承したらいいやん。

221 名前:デフォルトの名無しさん :04/07/30 14:00
機能モジュール変更できないならファンクター使うべし

222 名前:196 :04/07/30 14:00
>>217
なるほど、この方法なら僕のけったいな設計よりはるかにスマートですね。
ちょっとコードを書いてみます。

223 名前:196 :04/07/30 14:01
>>221
ファンクターってのは…なんでしょう…ぐぐってきます

224 名前:デフォルトの名無しさん :04/07/30 14:02
変更できるのかよ…

225 名前:196 :04/07/30 14:03
機能モジュールはいくらでも変更可能ですw
まだまだコーディング段階なので…
いわれてみれば>>217さんの言うようなシステムでまとまりますね!

まだまだ経験が足りないようです。

みんなありがとう!

226 名前:デフォルトの名無しさん :04/07/30 14:04
こーどーも電話っ相談室ー

227 名前:デフォルトの名無しさん :04/07/30 14:07
また一人ヤバすぎる設計をする馬鹿を救う事が出来た

228 名前:デフォルトの名無しさん :04/07/30 14:19
ある意味、そのような機能を実装するのにリフレクションもどきを使おうとする196に才能の片鱗を見たが

229 名前:デフォルトの名無しさん :04/07/30 14:47
>>228
見ないって。

230 名前:デフォルトの名無しさん :04/07/30 14:49
>>227
猪突猛進中が多いなか、素直な奴で良かった。
おまえは伸びるかもしれない。周りにいい奴がいればな。

が、こいつは多態も知らずに……いや、なんでもない。がんばれよ。

231 名前:196 :04/07/30 16:13
>おまえは伸びるかもしれない。周りにいい奴がいればな。
周りには誰もいない(TT…(学生なもので

232 名前:デフォルトの名無しさん :04/07/30 16:16
学生が無人島からアクセス

233 名前:デフォルトの名無しさん :04/07/30 16:53
>196
始めてどのぐらい?

234 名前:デフォルトの名無しさん :04/07/30 18:34
関数の中の引数と関数の中の変数の名前が同じ場合名前を変えないでやるにはどうしたらいいですか?

235 名前:デフォルトの名無しさん :04/07/30 18:34

COM の IUnknown は、相当イカス仕組みだと思う。
とくに QueryInterface はナイスアイデア

236 名前:デフォルトの名無しさん :04/07/30 18:36
>>234
名前を変えてください

237 名前:デフォルトの名無しさん :04/07/30 18:38
>>236
変えないでやる方法があるはずです
おしえてください

238 名前:デフォルトの名無しさん :04/07/30 18:39
>>237
変えたくない理由を教えてください

239 名前:デフォルトの名無しさん :04/07/30 18:42
クラスの中のメンバー変数とメンバー関数の引数の名前が同じだからです
これを変えてしまうとシステムを初めから構築しなければなりません

240 名前:デフォルトの名無しさん :04/07/30 18:43
それなら this してください

241 名前:デフォルトの名無しさん :04/07/30 18:43
>239
だったらはじめから作り直したらどうですか?

242 名前:デフォルトの名無しさん :04/07/30 18:44
thisとはどのようにしてつかったらよろしいのでしょうか?

243 名前:デフォルトの名無しさん :04/07/30 18:44
ググって下さい無能

244 名前:デフォルトの名無しさん :04/07/30 18:46
かしこまりましたグッグてみることにいたします

245 名前:デフォルトの名無しさん :04/07/30 18:46
りファクタリング使えボケ

246 名前:デフォルトの名無しさん :04/07/30 18:47
りファクタリングとはどのようにつかったらよろしいのでしょうか?

247 名前:デフォルトの名無しさん :04/07/30 18:49
ググれよ...

248 名前:デフォルトの名無しさん :04/07/30 18:50
C++のまともなりファクタリングツール内の?

249 名前:デフォルトの名無しさん :04/07/30 18:51
ない

250 名前:デフォルトの名無しさん :04/07/30 19:00
this->aがメンバー変数になるのはわかりましたが
メンバー変数ではなくてメンバー関数の中で変数を定義した変数と引数の名前が同じ場合は
どうやればいいですか?


■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.