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


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

C++相談室 part19
1 名前:v(^・^)v :03/05/11 13:04
C++に関する質問はこちらへどうぞ。
ただし質問の前にFAQに一通り目を通してください。
また、テンプレートライブラリ(STL含む)に関する質問は
専用の別スレへどうぞ。

過去スレ、関連スレ、関連リンクなどはこちら>>2-10

2 名前:v(^・^)v :03/05/11 13:04
■基本■
[Stroustrup]
禿 http://www.research.att.com/~bs/
C++に関するリンクの総本山でもあります。

[C++ Final Draft International Standard]
http://www.kuzbass.ru/docs/isocpp/
http://www.kuzbass.ru/docs/ansi_iso_iec_14882_1998.pdf

[JTC1/SC22/WG21 - C++]
http://std.dkuug.dk/jtc1/sc22/wg21/
規格書の重箱の隅的な話題などが読めます。

[C/C++ Users Journal]
http://www.cuj.com/
[Object Management Group]
http://www.omg.org/
[Association of C & C++ Users]
http://www.accu.org/

[news]
news:comp.lang.c++
news:comp.lang.c++.moderated

[ML]
cppll(日本語) http://www.trickpalace.net/cppll/
メインページにC++に関する良質なC++日本語リンク集があります。

3 名前:v(^・^)v :03/05/11 13:04
■Document■

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

[STL]
http://www005.upp.so-net.ne.jp/episteme/html/stlprog/
Standard Template Library プログラミング on the Web
リファレンス的内容。http://www.wakhok.ac.jp/~sumi/stl/
STL Programmer's Guide http://www.sgi.com/tech/stl/
[boost]
これに関しては公式のドキュメント、又はソースを読むのが一番です。
ただし日本語でいくつか有益な情報が読めます。
Let's boost http://www.kmonos.net/alang/boost/
shinichiroさん http://user.ecc.u-tokyo.ac.jp/~g940455/wp/
news news:gmare.comp.lib.boost.devel

4 名前:v(^・^)v :03/05/11 13:05
■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/

5 名前:v(^・^)v :03/05/11 13:06
■Compiler■
[GCC]
http://gcc.gnu.org/
(Windows上でのPOSIX環境構築 http://www.cygwin.com)
[Borland C++ Compiler]
http://www.borland.co.jp/cppbuilder/freecompiler/
[.NET Framework SDK]
1.0 http://www.microsoft.com/japan/msdn/netframework/downloads/sdk.asp
1.1βhttp://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/002/056/msdncompositedoc.xml
[MSVC] コンパイラ以外のツール、ドキュメントです。
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
(一括ダウンロードの時は上のURLに続けてこちらを入力してください
default.htm?p=/msdownload/platformsdk/sdkupdate/psdk-full.htm)

なお上記三者を組み合わせたプログラミングにおいてはこちらが分かりやすいです。
http://www.geocities.com/Tokyo/Ginza/5432/documents/winprog/index.html

[DigitalMars]
http://www.digitalmars.com/
[OpenWatcom]
http://www.openwatcom.org/
[Comeau]
http://www.comeaucomputing.com/
[intel C++ Compiler]
http://www.intel.com/software/products/compilers/
[metrowerks]
http://www.metrowerks.com/mw/default.htm

6 名前:v(^・^)v :03/05/11 13:06
■Libraries■
Boost http://www.boost.org/
STLport http://www.stlport.org/
Loki http://www.moderncppdesign.com/
LokiPort
MSVC7 http://www.geocities.com/rani_sharoni/LokiPort.html
MSVC6.0 SP5 http://fara.cs.uni-potsdam.de/~kaufmann/?page=lokiport

ACE/TAO http://www.cs.wustl.edu/~schmidt/
Network、Thread、ORBなどのポータブルなライブラリ
Blitz++ http://www.oonumerics.org/blitz/
数値計算ライブラリとして人気がある、らしい
spirit http://spirit.sourceforge.net/
flex++ Bison++ http://www.idiom.com/free-compilers/TOOL/BNF-15.html
パーサジェネレータ

他ライブラリリンク集
http://www.trumphurst.com/cpplibs/cpplibs.phtml

7 名前:v(^・^)v :03/05/11 13:07
■過去スレ■
Part1 http://piza.2ch.net/tech/kako/980/980175292.html
Part2 http://pc.2ch.net/tech/kako/996/996640937.html
Part3 http://pc.2ch.net/tech/kako/1003/10038/1003832761.html
Part4 http://pc.2ch.net/tech/kako/1009/10090/1009071535.html
Part5 http://pc.2ch.net/tech/kako/1014/10142/1014217496.html
Part6 http://pc.2ch.net/tech/kako/1018/10184/1018454705.html
Part7 http://pc.2ch.net/tech/kako/1021/10217/1021787032.html
Part8 http://pc3.2ch.net/tech/kako/1025/10250/1025010364.html
Part9 http://pc3.2ch.net/tech/kako/1027/10273/1027347982.html
Part10 http://pc3.2ch.net/tech/kako/1029/10293/1029315669.html
Part11 http://pc3.2ch.net/tech/kako/1032/10323/1032345774.html
part12 http://pc3.2ch.net/tech/kako/1035/10350/1035005882.html
part13 http://pc3.2ch.net/tech/kako/1038/10380/1038031395.html
part14 http://pc2.2ch.net/test/read.cgi/tech/1041328679/
part15 http://pc2.2ch.net/test/read.cgi/tech/1043605481/
part16 http://pc2.2ch.net/test/read.cgi/tech/1045746245/
part17 http://pc2.2ch.net/test/read.cgi/tech/1047560042/
part18 http://pc2.2ch.net/test/read.cgi/tech/1050177746/

8 名前:v(^・^)v :03/05/11 13:07
■関連スレ(テンプレートを用いたライブラリ中心)■
【C++】template 統合スレ -- STL/Boost/Loki, etc.
part1 http://pc2.2ch.net/test/read.cgi/tech/1037795348/
part2 http://pc2.2ch.net/test/read.cgi/tech/1047978546/l50
【C++】Boost使い集まれ!
http://pc2.2ch.net/test/read.cgi/tech/1033830935/
STLスレッド
part1 http://pc.2ch.net/tech/kako/1004/10042/1004287394.html
part2 http://pc3.2ch.net/tech/kako/1026/10267/1026793823.html
Generic Programming with C++ Template
http://pc.2ch.net/tech/kako/1008/10085/1008593126.html

9 名前:v(^・^)v :03/05/11 13:09
■関連スレ(環境依存の話題)■
[GCC]
GCCについて
part1 http://pc2.2ch.net/tech/kako/1007/10077/1007731543.html
part2 http://pc2.2ch.net/test/read.cgi/tech/1046179115/
祝・GCC 3.0リリース http://pc.2ch.net/test/read.cgi/unix/992942337/l50
[Digital Mars]
Code of the Nerds" Digital Mars C/C++
http://pc2.2ch.net/test/read.cgi/tech/1044210976/l50
[Borland]
C++Builder相談室
part1 http://piza2.2ch.net/tech/kako/969/969458279.html
part2 http://pc.2ch.net/tech/kako/997/997074601.html
part3 http://pc3.2ch.net/tech/kako/1016/10160/1016065855.html
part4 http://pc2.2ch.net/tech/kako/1035/10355/1035596146.html
part5 http://pc2.2ch.net/test/read.cgi/tech/1045542179/l50
タダで使えるBorland C++!
part1 http://pc3.2ch.net/tech/kako/1002/10023/1002377328.html
part2 http://pc2.2ch.net/test/read.cgi/tech/1030493157/l50
[VisualC++]
VisualC++相談室
part 1 http://piza.2ch.net/tech/kako/970/970607517.html
part 2 http://piza.2ch.net/tech/kako/981/981630730.html
part 3 http://piza2.2ch.net/tech/kako/993/993186053.html
part 4 http://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 http://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 http://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 http://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 http://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 http://pc2.2ch.net/tech/kako/1036/10368/1036897197.html



10 名前:v(^・^)v :03/05/11 13:10
初心者にVisual C++を教えるスレ
part1 http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html
part2 http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
part3 http://pc2.2ch.net/tech/kako/1038/10381/1038160750.html
part4 http://pc2.2ch.net/test/read.cgi/tech/1044196393/l50
part5 http://pc2.2ch.net/test/read.cgi/tech/1048698321/l50


VisualC++(MFC限定)相談室 MFC7.dll
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
Windows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/l50
COM の世界を斬る!
http://pc2.2ch.net/test/read.cgi/tech/981823340/l50
ATL 相談室
http://pc2.2ch.net/test/read.cgi/tech/1029029882/l50
managed C++ やろうぜ!!
http://pc2.2ch.net/test/read.cgi/tech/1014486422/l50

11 名前:デフォルトの名無しさん :03/05/11 13:11
心擦れ鬱枯れ〜

12 名前:前スレ991 :03/05/11 13:16
>>前スレ995
ふむ。訂正します。

インスタンスをnew以外で作成するのを禁止しないと、あぶない。>delete this;

13 名前:デフォルトの名無しさん :03/05/11 13:25
C++の機能を有効に使ってプログラムを書きたいんですけど、どこかに
これこれこういうプログラムを作れというような問題を提供して、模範
解答みたいなソースもあるサイトないですか?

14 名前:デフォルトの名無しさん :03/05/11 13:27
すれたて乙>>1

15 名前:デフォルトの名無しさん :03/05/11 13:29
>>13
http://pc2.2ch.net/test/read.cgi/tech/1051594046/

16 名前:デフォルトの名無しさん :03/05/11 13:49
とりあえず猫でも読んどけ。
問題解くのはそれからだ。

17 名前:デフオルトの名無しさん :03/05/11 15:24
STLつかうと一気に実行ファイルサイズが10倍に?!

18 名前:デフォルトの名無しさん :03/05/11 15:27
>>12
どうやって禁止するんだ?

19 名前:デフォルトの名無しさん :03/05/11 15:29
>>18
privateコンストラクタ&コピーコンストラクタ+生成用staticメンバ関数

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


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


21 名前:デフォルトの名無しさん :03/05/11 15:57
>20
それを言うならスタティックリンク

22 名前:デフォルトの名無しさん :03/05/11 15:58
>>21は真性なのだろうか、釣りなのだろうか。

23 名前:デフォルトの名無しさん :03/05/11 16:49
C言語にあったNULLというのは標準C++では規定されているので
しょうか?小文字のnullっていうのも見たことあるような気がしますが。
しかし0を使うのがいいと何かの本に書いてあった気もします。

24 名前:デフォルトの名無しさん :03/05/11 16:51
されてます。小文字のnullは他の言語です。

25 名前:デフォルトの名無しさん :03/05/11 17:48
次スレは?


26 名前:デフォルトの名無しさん :03/05/11 18:16
DLLのためのインポートライブラリは、静的にリンクされますな
GW終わったのに香ばしくなってきたぞ

27 名前:デフォルトの名無しさん :03/05/11 18:35
これって恒例行事なの? >17-

28 名前:デフォルトの名無しさん :03/05/11 21:00
静的メンバ関数ってどういう時に使うもの?

29 名前:デフォルトの名無しさん :03/05/11 21:05
CreateObject

30 名前:デフォルトの名無しさん :03/05/11 21:07
いろいろあるけど例えばFactoryパターンとかやるとき。


31 名前:デフォルトの名無しさん :03/05/11 21:07
Singletonのinstance()

32 名前:デフォルトの名無しさん :03/05/11 21:19
BorlandC++BuilderとVisualC++ならどっち覚えるべきですか?

33 名前:デフォルトの名無しさん :03/05/11 21:20
C++覚えれ。

34 名前:28 :03/05/11 21:37
静的メンバ関数のデメリットって何?
どういう時に使ってはいけない?
一応動くけどこれはやばいだろ、非効率だろ
ってのを教えて欲しい。

35 名前:デフォルトの名無しさん :03/05/11 21:49
>>34
そんな質問には答えようが無い

36 名前:デフォルトの名無しさん :03/05/11 22:19
>>33
VCはやめろってこと?

37 名前:デフォルトの名無しさん :03/05/11 22:24
Borland C++もVisual C++も製品名。言語ではない。

38 名前:デフォルトの名無しさん :03/05/11 22:26
開発環境より言語を先に覚えろと

39 名前:デフォルトの名無しさん :03/05/11 22:43
だってC++とVCは違うんだ!

ってよく怒り出す人いるじゃん。

40 名前:デフォルトの名無しさん :03/05/11 22:45
>>39
怒るのはどうかと思うが、とりあえず違うことに間違いない。

41 名前:デフォルトの名無しさん :03/05/11 22:46
C++覚えた上でVCの標準に準拠してない所を覚えた方が混乱しにくいと思う

42 名前:デフォルトの名無しさん :03/05/11 22:53
Borlandでやってみようかな

43 名前:デフォルトの名無しさん :03/05/12 00:16
>>19
テンプレートライブラリを
ダイナミックリンクできるのか?
vector <int> とかよく使われるものは
DLL から提供できるようにしてたり?
というか、10K も増えてたら
ダイナミックリンクされてないと思うが。

44 名前:デフォルトの名無しさん :03/05/12 02:42
シンボル情報を見てからものをいうべきだろ

45 名前:デフォルトの名無しさん :03/05/12 06:26
>>43 コピペニマ(ry

46 名前:デフォルトの名無しさん :03/05/12 12:35
たとえていうなら
標準c++ > 標準語
VC > 関西弁

同じ日本語じゃないか!!

47 名前:デフォルトの名無しさん :03/05/12 13:49
生粋の関西人であるVCコンパイラは標準語を理解できません

48 名前:名無し :03/05/12 22:16
そのくせお金にはうるさいです

49 名前:デフォルトの名無しさん :03/05/12 22:21
iostreamの使い方について詳しく解説しているサイトや書籍をおしえてください

全然触れていなかったり、なぜかCの入出力関数を使ってお茶を濁していたり
するのが多くて

50 名前:デフォルトの名無しさん :03/05/12 22:22
>>49
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=iostream

51 名前:デフォルトの名無しさん :03/05/12 22:22
やさしいSTL 高橋麻奈・著

52 名前:51 :03/05/12 22:24
iostreamってSTLに含まれるものじゃなかったんだ(恥

53 名前:49 :03/05/12 22:26
>>50
ありがとうございます
っていうか一番目によさげなサイトが。
何を調べていたんだ俺

54 名前:デフォルトの名無しさん :03/05/12 22:38
>>48
禿しくワロタよ

55 名前:デフォルトの名無しさん :03/05/13 11:44
vector<short> stest(200);

というのをローカル変数で定義しましたが、値は初期化されてますでしょうか?


56 名前:デフォルトの名無しさん :03/05/13 11:48
shortのデフォルトで初期化済み

57 名前:デフォルトの名無しさん :03/05/13 11:59
thanx!>>56

もしかして、リサイズでは元の値は保持されて追加部分は初期化ですか?
だったらすごい。

58 名前:デフォルトの名無しさん :03/05/13 12:00
クラスの宣言で
メンバ変数は最初と最後のどっちに書くのが一般的?

59 名前:デフォルトの名無しさん :03/05/13 12:08
>>57
リサイズでは元の値は保持されて追加部分は初期化です。
ポインタやイテレータは死ぬけど。

60 名前:デフォルトの名無しさん :03/05/13 12:20
>>58
アクセス指定で順番が変わるのが一般的だと思う。
public→protected→privateの順で書けば、インターフェースが見やすい。
で、一般的にメンバ変数は全部private。
なので、最後に書くのが一般的と言えるかもしれない。


61 名前:デフォルトの名無しさん :03/05/13 12:28
>>59
>ポインタやイテレータは死ぬけど。
必ずしも死んでしまうわけではないし、判別も可能だと思うが

62 名前:55 :03/05/13 13:02
>必ずしも死んでしまうわけではないし
そういう問題でないでつ。

>判別も可能だと思うが
了解です。
自分的にはもう一回ポインタ取り直すだけで十分かも。

63 名前:デフォルトの名無しさん :03/05/13 13:49
>public→protected→privateの順で書けば、
最初こうしてたけどメンバを直接参照する inline メソッドが
書きにくいんだよな・・・。

64 名前:デフォルトの名無しさん :03/05/13 13:52
>>63
なんで?
まあ宣言が下にあるのに使えるってのは奇妙には感じるか。

65 名前:デフォルトの名無しさん :03/05/13 14:35
>>63
class C{
public:
inline void m();
};

inline void m(){
// ...
}
これでいいやん

66 名前:デフォルトの名無しさん :03/05/13 15:33
>>65
class C{
public:
inline void m() { p_ = 1; }
private:
int p_;
};
これでいいやん

67 名前:デフォルトの名無しさん :03/05/13 20:27
クラスを作るときの基準を教えてくれ。
昔は、データと機能をあわせたものとか言ってたけど、
Javaなんかじゃ機能(メソッド)だけのもあるよね。
C++はどうなん?

68 名前:デフォルトの名無しさん :03/05/13 20:35
>>67
お前の好きにしてええよ

69 名前:デフォルトの名無しさん :03/05/13 21:43
>>67
それは言語の問題じゃない
オブジェクト指向を勉強したら?

70 名前:58 :03/05/13 23:01
くだらん質問にこたえていただきありがとうございますた。

そっか、publicから書くのが普通だったのか・・・。

71 名前:デフォルトの名無しさん :03/05/13 23:19
俺は変数は一番上に固めてる。

72 名前:デフォルトの名無しさん :03/05/14 00:17
俺はクラス定義内でメンバ関数の定義はしない。

73 名前:67 :03/05/14 00:31
>>68
>>69
俺の聞き方悪かった?なら謝る。
しかしさ、>>69は、メンバ変数のないクラスをどう思うのよ。

74 名前:デフォルトの名無しさん :03/05/14 00:47
>>73
何が聞きたいのか未だにわからん。

75 名前:デフォルトの名無しさん :03/05/14 00:47
俺が昔の職場で策定したソース管理規定の場合(ファイル名は仮称)

原則として、システム全体で共通なインクルード、#defineやtypedefなどは
ヘッダファイル sys_common.h に記述。(下層モジュール毎にも設ける)
機能ごとのクラス定義はクラス毎にヘッダファイル my_class.h に記述、
メンバ関数はヘッダファイルに対応するソースファイル my_class.cpp に記述。

これで綺麗に整理できるし、インクリメンタル・コンパイルにも対応できる。

76 名前:デフォルトの名無しさん :03/05/14 00:48
関数オブジェクトとは違うの?

77 名前:デフォルトの名無しさん :03/05/14 00:51
>>75 common.h イクナイ

78 名前:デフォルトの名無しさん :03/05/14 00:53
>>73
C++ではメンバ関数のみのクラスはあまり無い。

それならただの関数で十分。 ネームスペースで分けることもできるし。

79 名前:デフォルトの名無しさん :03/05/14 01:01
>>73
メンバ関数のみのクラスは主にインターフェイスとして使うときとか。
メンバ関数を純粋仮想にして

>>78の言う用途ならstaticなメンバ関数を使うとか

80 名前:デフォルトの名無しさん :03/05/14 01:06
無限ループで議論になっていますが本当のところどうなんでしょう?
http://pc2.2ch.net/test/read.cgi/tech/1052537020/57-67

81 名前:67 :03/05/14 01:11
>>78
>>79
マジレスサンキュー。
しかし、そこなんだよね。
俺はC++屋だから、「うーん。これはグローバル関数かな」とか考える。
そのように教育されたから。
ところが、クラスしかないJava屋さんは、そういう発想がない。
とにかく、なんでもクラスにしてるように見える。
そこで、気になるのが、>>69の「それは言語の問題じゃない 」みたいな反応なんだよ。
最近の風潮としては、オブジェクト指向が基本だよな。
とすると、Java屋のやってることと俺のやってることがなんで違うんだろう?
もしかして、C++の常識も変わったの?みたいな。

ああ、すまん。言ってて俺もわからなくなったわ。

82 名前:デフォルトの名無しさん :03/05/14 01:23
>>81
Java厨ってC++厨を装いたがるよな。
ナンカコンプレックスあるの?

83 名前:デフォルトの名無しさん :03/05/14 01:26
>>81
実装じゃなく概念を理解しろってことだろ

言語が違うんだから実現方法が違うのは当たり前

84 名前:デフォルトの名無しさん :03/05/14 06:37
関係あるのかないのかわかんないですけど、
よく「オブジェクトは状態を持つ」って言うじゃないですか。
それって、コンストラクタで値を設定するだけで、メンバ関数は
ぜんぶconstってクラスはおかしいってことでしょうか。
データを変更できないので、それは「状態」ではないと。

確かに、そういうクラスのメンバ関数は、グローバル関数でも
実現できそうだけど、クラスの組み合わせで考えた方が
ずっと楽ですが。

85 名前:デフォルトの名無しさん :03/05/14 07:59
> データを変更できないので、それは「状態」ではないと。
なんでやねん。

86 名前:デフォルトの名無しさん :03/05/14 08:17
人間の性という状態はconst修飾子がついてる。
コンストラクタで設定された後は変えることは出来ない。

87 名前:デフォルトの名無しさん :03/05/14 08:18
無理やりキャストすれば可能だけどね

88 名前:デフォルトの名無しさん :03/05/14 11:06
>>84
"状態が常に一定である”

89 名前:デフォルトの名無しさん :03/05/14 12:37
>>75
>>77も言ってるが、すべてのファイルがsys_common.hに依存するのは(・A・)イクナイ

>>79
関係ないけど、たまにメンバ変数をそのクラスに入れればいいのに
それを他所のクラスにおいて、staticメンバ関数(パラメータにその変数を使う)だけの
クラスを作るヤシがいて困るw

90 名前:デフォルトの名無しさん :03/05/14 12:44
配列の要素数を得るマクロとか、
デバッグ用マクロ/関数とか、
そういう基本的なのは
sys_common.h みたいなのになるのも
仕方が無い気もするが。

91 名前:デフォルトの名無しさん :03/05/14 16:02
>>90
はい、スコープが全体に及ぶデバッグ用定義やコンパイルオプション類の
#ifdefなど一元管理上どうしても必要です。

CからC++になって変わった事といえば、設計の仕方や考え方が変わった。

従来は、構造化言語世代主流の「データ・フロー」と「処理手続」のふたつが
軸だった気がする。

オブジェクト指向になってからは、クラスという「データ」と「処理手続」をカプ
セル化したオブジェクトが中心になり、処理のフローもそのオブジェクトの
時系列的な状態遷移で捉える様になった。と思う。

92 名前:デフォルトの名無しさん :03/05/14 17:09
MinGw2.0.0でコンパイルするにはなんのexeを使えばいいのですか?

93 名前:デフォルトの名無しさん :03/05/14 17:11
>>90
>配列の要素数を得るマクロとか、
そういうのは使うところでだけincludeすれば。

>>91
>はい、スコープが全体に及ぶデバッグ用定義やコンパイルオプション類の
>#ifdefなど一元管理上どうしても必要です。

コンパイルオプションはコンパイルオプションで処理すればいいし、
デバッグや単体テストは別ビルドにすればいいと思うのだがどうか。

94 名前:デフォルトの名無しさん :03/05/14 17:36
>>93
プロジェクトの管理をする立場になってみると考えが少し変わる。
コマンドラインを使用していると、オペミスは証拠が残らないので、
コンパイルオプションのミスに誰も気づかない事があった。
以降、ソース側でオプションスイッチの記述を明確にしていたよ。

俺は現場から離れてン年経つので少し古いやり方かな。

95 名前:デフォルトの名無しさん :03/05/14 17:39
makeでいいじゃん

96 名前:デフォルトの名無しさん :03/05/14 18:19
>>95
>94は「少し古いやり方かな」って書いてるじゃん。
>94が現場を離れたのはmakeが普及するよりも以前なんじゃないの?

# いつだ? 70年代か?

97 名前:デフォルトの名無しさん :03/05/14 18:25
http://game3.2ch.net/mmominor/dat/1052667275.dat

ウィザードリーオンライン開発中。Java

98 名前:デフォルトの名無しさん :03/05/14 18:27
C++スレなんだから70年代の話は無しでw

99 名前:94 :03/05/14 19:09
>>96
当時の現場ではコンパイルミス、未コンパイル、リンクミスが頻発していた。
俺が初めてmakeを導入。管理者に使い方を伝授したら神扱いされたw

P.S.
内緒だがその現場は在京大手電機メーカの某事業所。
西の松下、東の●●のライバル方ね。

100 名前:デフォルトの名無しさん :03/05/14 19:18
>>99
make使った上で
>コマンドラインを使用していると、オペミスは証拠が残らないので、
>コンパイルオプションのミスに誰も気づかない事があった。
とは相当な神だなw

101 名前:94 :03/05/14 19:30
>>100
だってMS-DOSのバッチファイルにIF文やラベルを使って条件分岐
の制御が書けるだけでヒーロー、UNIXのコマンドが打てるだけでも
ヒーローだったもんなw。
レベル的に「パーミッションって何ですか?」だぜ?!

102 名前:デフォルトの名無しさん :03/05/14 19:35
タイムマシンでそんな時代に行ってみたいな。さぞかし笑いが
とまらないのだろうな。

103 名前:デフォルトの名無しさん :03/05/14 19:38
>>94は以後無視ということで。
そろそろC++の話に戻ろう。


104 名前:デフォルトの名無しさん :03/05/14 20:00
>>80
どうでもいい。偉い人に従っとけ。
迷ったら、
do {
...
} while(true);
をドゾー

105 名前:デフォルトの名無しさん :03/05/14 20:02
>>80
その議論は信じるな。

106 名前:デフォルトの名無しさん :03/05/14 20:26
for(; ;) // うえーん! もう無限ループ疲れたよー!
{
 ...
}

107 名前:デフォルトの名無しさん :03/05/14 20:43
それで思い出したが、やねうらおのクラス設計ってどうよ?

108 名前:デフォルトの名無しさん :03/05/14 21:01
読んだ事無い。

109 名前:デフォルトの名無しさん :03/05/14 21:25
http://yaneurao.hp.infoseek.co.jp/yaneSDK3rd/
ここから落せる

110 名前:デフォルトの名無しさん :03/05/14 21:37
ゲームにいらなそうな程大仰だなぁ。便利かも知れないけど

111 名前:デフォルトの名無しさん :03/05/14 23:50
プログラマーを馬鹿扱いする会社は、
馬鹿なプログラマーしか残らないんだって。
なるほどって思ったよ。


112 名前:デフォルトの名無しさん :03/05/14 23:55
普通の会社はプログラムなんて外注か派遣だからプログラマ自体いないよ。

113 名前:デフォルトの名無しさん :03/05/14 23:57
事件は現場で起こっているってことを知らない会社は、いずれつぶれる。


114 名前:デフォルトの名無しさん :03/05/14 23:59
結局、受けるところがいなくなれば、自分のところでやるっきゃないと。
そういう器を持っているかいないかの違いはおおきいな。確かに。

115 名前:デフォルトの名無しさん :03/05/15 00:00
社員がこんな会社すぐつぶれると言ってる会社は以外につぶれなかったり。
言ってる奴はリストラになったり。

116 名前:デフォルトの名無しさん :03/05/15 00:01
害虫か派遣でも、そこで入れ替わりが激しければ、
技術の蓄積は望めないわな。
人が変われば、また一から教えるぞと。ああ、疲れる・・・


117 名前:デフォルトの名無しさん :03/05/15 00:03
そろそろ10階建てのビルくらい建っててもいいかな、
って覗きにいくと、いまだに平屋のプレハブ賃貸だったりすることも。


118 名前:デフォルトの名無しさん :03/05/15 00:04
>>115
つぶれる、と言っている社員と優秀な人間は、
必ずしもイコールでは無いからな。


119 名前:デフォルトの名無しさん :03/05/15 00:06
おまえらageてまで雑談すんなよ

120 名前:デフォルトの名無しさん :03/05/15 00:09
いや、ここは、ほら、言語エリートの巣窟だからさ。

121 名前:デフォルトの名無しさん :03/05/15 01:02
C++に関してですが、
クラスのオブジェクトへの参照(リファレンスではないです)を返す関数の戻り値の型は、
リファレンスあるいはポインタのどちらがいいんでしょうか?
各々にメリット・デメリットがあれば教えてください。

122 名前:デフォルトの名無しさん :03/05/15 01:04
つか、マ板でやれや

123 名前:122の代理 :03/05/15 01:05
>>121
あんたに言ったわけじゃないからな

124 名前:デフォルトの名無しさん :03/05/15 01:26
auto_ptrがいいと思います

125 名前:デフォルトの名無しさん :03/05/15 01:27
boost::shared_ptrの方が

126 名前:デフォルトの名無しさん :03/05/15 01:30
>>124,>>125
藻前ら「オブジェクトへの参照(リファレンスではない」の意味がわかったのですか?
俺にはさっぱり・・・

127 名前:デフォルトの名無しさん :03/05/15 01:40
分かっていないからでたらめな回答をしたの

128 名前:デフォルトの名無しさん :03/05/15 01:41
(リファレンスではないです)を無視すればOK

129 名前:デフォルトの名無しさん :03/05/15 01:42
注釈を無視しちゃ駄目だろう

130 名前:デフォルトの名無しさん :03/05/15 01:42
return this と return *this とどっちがいいのかってこと?

131 名前:デフォルトの名無しさん :03/05/15 01:42
>>126
C++ の機能としての「参照(& を使う奴)」ではなく、
「ポインタ(* を使う奴)」と「参照(& を使う奴)」をまとめて表現する
「参照(プログラミング用語一般における)」という意味でしょ。

>>121
動的に確保したのならスマートポインタで返すのがいい。
そうでなければ、それなりに。

参照変数は再初期化できない欠点があるけど、
変な値で初期化する事が難しいという利点がある。
ポインタ変数は再初期化(C++ の用語としての初期化じゃない)できるという利点があるけど、
変な値が比較的入りやすいという欠点がある。
あとはその兼ね合いで...。

132 名前:デフォルトの名無しさん :03/05/15 01:42
>オブジェクトへの参照(リファレンスではないです)

リファレンスと書くとリファレンスならリファレンスで返せよと言われてしまうので、
自己矛盾的な書き方をしたと予想して>>125を書きましたが何か

133 名前:デフォルトの名無しさん :03/05/15 01:43
121は釣りですな

134 名前:デフォルトの名無しさん :03/05/15 01:44
あと、オーバーロードした演算子を使う時には
参照の方が使いやすいね。

135 名前:124 :03/05/15 01:45
>>131の様に思いますた。万が一戻り値無視してもリークしないし

136 名前:デフォルトの名無しさん :03/05/15 01:45
そのためにあるのかなーとか思っている。

137 名前:デフォルトの名無しさん :03/05/15 01:46
先生!!質問があります!
void kakezan(int a,int b)
{

}

main()
{
int a = 5;
int b = 1;
a =kakezan(a);
}
kakezan(a,b)
でa=125
b=5にしたいのですが
void kakezan(int a,int b)
{

}
の部分を何て書けばいいのですか??

138 名前:デフォルトの名無しさん :03/05/15 01:47
どっちがいいのかと言われたら、どっちがいいと一概に言えないと答えるしかない
ケースバイケース

139 名前:デフォルトの名無しさん :03/05/15 01:47
>>137
引数のリストがあっていないような。

140 名前:デフォルトの名無しさん :03/05/15 01:48
>>137
a =kakezan(a); をa =kakezan(a,b);とおいて・・・

不可能だと思う。
bを書き換えることができないから。


141 名前:デフォルトの名無しさん :03/05/15 01:50
つーかvoidの関数の戻り値を受けようとするなよ

142 名前:137 :03/05/15 01:52
スマソ間違えてました!
a = kakezan(a,b)です。
これでもだめですか??

143 名前:デフォルトの名無しさん :03/05/15 01:53
int kakezan(int a,int b)
{
return a*b*5;
}

144 名前:デフォルトの名無しさん :03/05/15 01:53
>>142
関数の形があれじゃ無理。
多分エラーか警告になる(voidを受けるようなコード書いたことないから分からない)。

145 名前:デフォルトの名無しさん :03/05/15 01:54
int kakezan(int a,int &b)
{
b=5;
return 125;
}


146 名前:デフォルトの名無しさん :03/05/15 01:56
int kakezan(int &a,int &b)
{
b=5;
return a=125;
}


147 名前:デフォルトの名無しさん :03/05/15 01:56
むしろC相談室?ここでもいいか

148 名前:144 :03/05/15 01:59
その前に宣言なしの関数呼び出しでエラーか

149 名前:137 :03/05/15 01:59
やはり関数がvoidではだめってことですか??
すいませんど素人でペコリ(o_ _)o))

150 名前:デフォルトの名無しさん :03/05/15 02:00
寝よ寝よ

151 名前:デフォルトの名無しさん :03/05/15 03:06
>>148
K&Rによれば宣言なしは暗黙でint型宣言されたものと解釈します。

152 名前:デフォルトの名無しさん :03/05/15 03:17
なぜこのスレでK&R…

153 名前:デフォルトの名無しさん :03/05/15 03:52
川合堂ライセンス(´_ゝ`)

154 名前:デフォルトの名無しさん :03/05/15 05:34
>>151
釣りか?ここはC++スレだぞ。
釣りなら分かっていると思うが、C++では宣言なしに関数を呼び出すことはできない。

155 名前:デフォルトの名無しさん :03/05/15 13:36
void func(int a,...){
int* pa=&a;
}
void main(void){
func(0,1,2,3,4,5);
}
と、したときにfuncの引数の数を数える方法はないですか?
int* pa=&a;で先頭が分かるんですが、最後を知る方法を考えつけません。

156 名前:デフォルトの名無しさん :03/05/15 14:16
終端子を決めるか、引数の数を最初に教えるか。

157 名前:デフォルトの名無しさん :03/05/15 14:18
マクロの中身はどうやってやってるんですか?

158 名前:ホントはC使い :03/05/15 15:10
>>155
関数コール時の引数の受渡しメカニズムを知ってる?

>>156の言う通り、スタックフレームを介した引数の渡し方(スタックへの
引数の積まれ方)をヒントにして、func関数へ終端を示す識別も一緒に渡す。

また引数に任意の型を順不同で混在して渡したい場合、型情報と交互に
ポインタ型で渡せば、func関数側では型サイズに関係なく引数を取り出せる。
一緒に渡された型情報を元にswitchで振り分けてキャストを掛ければ良い。

159 名前:デフォルトの名無しさん :03/05/15 15:36
ていうかva_argマクロ使えばいいじゃん

160 名前:デフォルトの名無しさん :03/05/15 17:17
>>159
それでも引数の数はわからないじゃん

161 名前:デフォルトの名無しさん :03/05/15 17:34
void func(int a){ va_list ap; va_start(ap, a); func(ap, 1, a); va_end(ap); }
void func(int a,int b){ va_list ap; va_start(ap, a); func(ap, 2, a); va_end(ap); }
void func(int a,int b,int c){ va_list ap; va_start(ap, a); func(ap, 3, a); va_end(ap); }
void func(int a,int b,int c,int d){ va_list ap; va_start(ap, a); func(ap, 4, a); va_end(ap); }
void func(int a,int b,int c,int d,int e){ va_list ap; va_start(ap, a); func(ap, 5, a); va_end(ap); }
void func(va_list ap, int num_of_args, int a){ int* pa=&a; }


162 名前:デフォルトの名無しさん :03/05/15 17:38
または
enum {XXX=-1 /*ありえない数値*/};
void func(int a,int b=XXX,int c=XXX,int d=XXX,int e=XXX,int f=XXX) { }

どっちにしろ現実的じゃない。

そもそもどういう用途で可変長引数を渡したいのか白状しなさい。
void main(void)
{
int tbl[] = {1,2,3,4,5,6};
std::vector<int> v(tbl, tbl + sizeof(tbl) / sizeof(tbl[0]));
func(v);
}
void func(std::vector<int> &v)
{ int n = v.size(); ..... }

でいけないわけでもあるのか?

163 名前:デフォルトの名無しさん :03/05/15 17:39
>>160
va_argが無効になるまでループさせてカウントすればいいじゃん

164 名前:デフォルトの名無しさん :03/05/15 18:29
>>163
アクセス違反で死ぬんでは

165 名前:370 :03/05/15 20:28
なぜか構造体メンバの.での参照が出来ないんですけど、VC++じゃ直接参照はダメなんですか?
わざわざポインタにして->しないとダメなんですか?

166 名前:デフォルトの名無しさん :03/05/15 20:36
>>165
ソース見せてくれ。

167 名前:デフォルトの名無しさん :03/05/15 20:40

typedef struct st_Leap{

Face face; //表情

int SYOKU_YOKU ; //食欲



int RENAI; //恋愛度

int KOUFUN; //興奮度

}Leap;

↑グローバル

↓描画関数内
if(Leap.face == NORMAL){

if(rand()%100 !=5) //まばたき
TextureData = (GLuint *) TexLayer->ipic; //通常
else
TextureData = (GLuint *) TexLayer->next->next->next->ipic; //つむり目

}
ギャルゲの心理パラメータなんだけど・・

168 名前:デフォルトの名無しさん :03/05/15 20:47
>Leap.face == NORMAL
Face クラスにはちゃんと == 演算子は定義されているんだろうか。

169 名前:デフォルトの名無しさん :03/05/15 20:53
Face faceは列挙型です。

170 名前:デフォルトの名無しさん :03/05/15 20:54
クラスを作る前は普通に==で出来たんですよー
エラー自体は.に出ます。

171 名前:デフォルトの名無しさん :03/05/15 20:55
typedef てことは Leap は型なんじゃない?変数じゃなくて。

172 名前:370 :03/05/15 21:01
え、構造体の宣言は普通はtypedefでやらないですか?

173 名前:デフォルトの名無しさん :03/05/15 21:04
そういうことではなくて
typedef struct st_Leap{...} Leap;
Leap leap;
とした上で
if(leap.face == NORMAL)
ではないのかな。


174 名前:デフォルトの名無しさん :03/05/15 21:04
Leap a;
a.face == NORMAL
これなら通りそう。Leap.faceでは何を指すのかわからない…。

175 名前:370 :03/05/15 21:08

struct st_Leap{

Face face; //表情

int SYOKU_YOKU ; //食欲
int IN_YOKU ; //飲欲
int SUIMIN_YOKU; //睡眠欲
int UNDOU_YOKU; //運動欲
int KYUUKEI_YOKU; //休憩欲
int HAKAI_YOKU; //破壊欲
int BUTSU_YOKU; //物欲
int HOUSHI_YOKU; //奉仕欲
int WA_YOKU; //話欲
int SAWARI_YOKU; //触欲

int HP; //体力
int KIGEN; //機嫌


int RENAI; //恋愛度

int KOUFUN; //興奮度

};

st_Leap Leap;
 
if(Leap.face == 〜〜
なら通るんですけど、タグを使って出来ない。。

176 名前:ホントはC使い :03/05/15 21:10
<用法>
typedef A B;  // AからB型を定義する

<例1>
typedef unsigned int u_int; // unsigned int から u_int 型を定義
u_int a;                // unsigned int a; と同じです

<例2>
typedef struct XXX {     // struct XXX から YYY 型を定義
  int n;
char b[20];
} YYY;

YYY yyy;                // struct XXX yyy; と同じです

yyy.n = 0;
strcpy( yyy.b, "(・∀・)イイ!" );

177 名前:174 :03/05/15 21:13
typedef struct TAG { ... } typename; は
構造体名を TAG に別名 typename をつけるだけだったと思うんだけど…。

st_Leap Leap; みたいなことを struct 宣言のところでやるなら

struct st_Leap { ... } Leap; で良かったと思う。

178 名前:370 :03/05/15 21:15
>>176
>YYY yyy;                // struct XXX yyy; と同じです
ダメでした。
D:\プログラム\Leap\Leap\main.cpp(575) : error C2143: 構文エラー : ')' が '.' の前に必要です。

if(Leap.face == NORMAL){ ←575行目

179 名前:ホントはC使い :03/05/15 21:22
>>178
typedef struct st_Leap {
  ・・・(中略)・・・
} LEAP;              // ←LEAP型を定義

LEAP Leap;            // ←LEAP型のLeap変数を宣言!

・・・(中略)・・・
if ( Leap.face == NORMAL ) {
  ・・・(中略)・・・
}

これでどうだ!

180 名前:370 :03/05/15 21:24
>>179
はい、全く同じコードを書いて、それで178のエラーが出たんです。。うぅ。
他の構文には全く間違いはありません。だって175のやり方では動いたんですから。
でも179のやり方ではどうしても動かないんです。。

181 名前:デフォルトの名無しさん :03/05/15 21:26
>>179
C++ならtypedefの必要はないぜ。

182 名前:181 :03/05/15 21:27
すまん。>>176に言うべきだ。

183 名前:181 :03/05/15 21:27
同じ人じゃん・・・寝不足か。うつだねよう。

184 名前:370 :03/05/15 21:40
うぅぅ。。万事休す。

185 名前:デフォルトの名無しさん :03/05/15 21:59
先ず、今までの知識から頭を解放する事。
それから、以下のことを覚える事。

struct Point {
 int x;
 int y;
};

は、Point という構造体型を定義するものである。
ここで定義するのは「型」であって、「変数」ではない。
つまり、この状態ではまだ変数は作られていないわけだ。

そして、この型を持った変数は次のようにして作られる。

struct Point pt; /* C の場合 */
Point pt; /* C++ の場合 */

この時、Point は int と同じように「型」であり、
pt が新しく作られた「変数」である。

これをふまえると、

Point.x = 0;

というのはおかしいことが分かる。
なぜなら、Point は型であって変数ではないからである。

pt.x = 0;

ならいい。pt は Point 型の構造体変数だからである。

186 名前:370 :03/05/15 22:01
それは知ってますよぅ。。

187 名前:デフォルトの名無しさん :03/05/15 22:05
この状態では C と C++ とで構造体変数の定義の仕方が異なる。
そこで、次のような技巧が使われる事がある。

typedef struct ___Point {
 int x;
 int y;
} Point;

typedef というのは、ある型の「別名」を作るものである。
つまり、そこで作られるのもやはり「型」である。
typedef は普通の変数を定義する時と同じ式のあたまに
typedef と書く事で使う。
しかし、できてくるのは「変数」ではなく「型」である。

188 名前:デフォルトの名無しさん :03/05/15 22:06
上の例では、

struct ___Point {
 int x;
 int y;
}

が元の「型」に相当し、Point が「別名」に相当する。
このようにすれば、C でも C++ でも
この構造体「型」を struct というのを付けずに
Point だけで参照する事ができるようになる。
従って、

Point pt;

と書く事ができる。
この時、Point は「型」であり、pt は「変数」である。
Point.x = 0; がおかしいことと、
pt.x = 0; が正しい事はもう言うまでもない事だろう。

189 名前:370 :03/05/15 22:09
>>187の場合が知りたいです。

190 名前:デフォルトの名無しさん :03/05/15 22:16
C++ のコンパイラでしか扱わないのであれば、
typedef の技巧を使う必要は無い。
あれは C でも struct を付けるのが面倒な場合に
さぼれるようにするための技巧。

191 名前:ホントはC使い :03/05/15 22:16
>>189
上の>>187の構造体定義と型宣言をした後に、

Point pt;

とすれば、Point型のpt変数が宣言される。以降好きなようにメンバへアクセス
すれば良い。

pt.x = 0;
pt.y = 10;

の様に代入も可能だし、

Point pt[] = { { 0, 0 }, { 10, 20 }, { 30, 100 } };

の様に配列の初期化付き宣言も可能である。

192 名前:デフォルトの名無しさん :03/05/15 22:19
単純にどっか ')' 付け忘れてんじゃねーの?

193 名前:デフォルトの名無しさん :03/05/15 22:20
>>190
> あれは C でも struct を付けるのが面倒な場合に
> さぼれるようにするための技巧。

そう言ったらおもいっきり馬鹿にされた。
他にどう違うのかさっぱりわからん・・・・

194 名前:デフォルトの名無しさん :03/05/15 22:25
Faceの定義を晒して

195 名前:デフォルトの名無しさん :03/05/15 22:25
まぁ、C でも C++ でも同じコードが書けるというのがあるが、
ゲーム製作においてそんなに気にする必要があるのか?

少なくとも C++ のみを使ってる人は typedef なんか使わない。
大体バリバリにクラスとかテンプレートとか使うから
そもそも C でもコンパイルできることなんか考えない。

196 名前:194 :03/05/15 22:26
といっても間違ってたらコンパイルが通らんか・・・

197 名前:370 :03/05/15 22:26
enum Face {NORMAL,NEMUI,TSUMURI,MABATAKI,KANASHIMI,YOROKOBI };
こんな感じです。

198 名前:デフォルトの名無しさん :03/05/15 22:30
>>195
typedef boost::shared_ptr<Character> CharacterPtr;
typedef std::vector<CharacterPtr> CharacterArray;
とかやらないの?

199 名前:ホントはC使い :03/05/15 22:32
>>193
一度、標準ライブラリのヘッダファイル stdio.h の中身を読んでみましょう。
初期に学ぶFILE 構造体も typedef されてるから、FILE *fp; と構造体である
ことを知らずして宣言、使用できる。これがもし、typedef されていなかったら
C言語習得を挫折するものが増えてしまう。

200 名前:デフォルトの名無しさん :03/05/15 22:32
>>193,197
C なら Face として使うには

typedef enum ___Face {
 NORMAL,
 NEMUI,
 TSUMURI,
 MABATAKI,
 KANASHIMI,
 YOROKOBI,
} Face;

とするわけだが、
なぜ enum では typedef しなくて良く、
struct では typedef しないといけないのかな?

両方しなくていいんだよ。
C++ ならね。

(ここは C++ 相談室ということも忘れずにね)

201 名前:デフォルトの名無しさん :03/05/15 22:36
>>198
それとこれとは別の話。

typedef を「struct, union, enum をさぼるために使う」のは
C++ ではやらない。
しかし、「別のところ」では typedef はよく使う。

202 名前:デフォルトの名無しさん :03/05/15 22:37
>>199
それは分かっている。俺もそういう使い方しているから。
その構造体に関する関数を使う人が、メンバーにアクセスするかしないかで決めている。
でも、なんでもかんでもtypedefする人が結構いないか?



div_tって構造体であることを知らなければならないはず(メンバーにアクセスするはずだから)なのにtypedefしているよな(ぼそっ)

203 名前:370 :03/05/15 22:38
>>200
そうなんですけど、通らない理由が分からないと、気になって先に進めないです。


204 名前:370 :03/05/15 22:40
普通のg++とかだと通るのになぁ。。

205 名前:デフォルトの名無しさん :03/05/15 22:41
もう一度使ってるところコピペしてみ。

206 名前:370 :03/05/15 22:44

typedef struct st_Leap{

Face face; //表情

int SYOKU_YOKU ; //食欲



int RENAI; //恋愛度

int KOUFUN; //興奮度

}Leap;

Leap leap;
↑グローバル

↓描画関数内
if(leap.face == NORMAL){

if(rand()%100 !=5) //まばたき
TextureData = (GLuint *) TexLayer->ipic; //通常
else
TextureData = (GLuint *) TexLayer->next->next->next->ipic; //つむり目

}


207 名前:デフォルトの名無しさん :03/05/15 22:52
VC5で問題ないんだが・・・

if(leap.face == NORMAL){
のちょっと前あたりに何かあるんじゃ?

208 名前:デフォルトの名無しさん :03/05/15 22:52
関係ないけど、とりあえずLeapのtypedefははずしたら?
structだけtypedefしてenumはtypedefしないのは気持ち悪い。

209 名前:デフォルトの名無しさん :03/05/15 22:54
で、出てくるエラーは?

210 名前:370 :03/05/15 22:57
D:\プログラム\Leap\Leap\main.cpp(575) : error C2143: 構文エラー : ')' が '.' の前に必要です。

if(Leap.face == NORMAL){ ←575行目

211 名前:デフォルトの名無しさん :03/05/15 22:58
face以外にはアクセスできるの

212 名前:デフォルトの名無しさん :03/05/15 22:58
>>210
Leapをleapにする。end。

213 名前:デフォルトの名無しさん :03/05/15 22:59
>>212
ただの打ち間違いかと。
>>206

214 名前:デフォルトの名無しさん :03/05/15 23:00
Leap.faceなのかleap.faceなのかはっきりしる。

215 名前:ホントはC使い :03/05/15 23:00
Cleap




珈琲が旨い・・・

216 名前:デフォルトの名無しさん :03/05/15 23:01
漏れはブラックだが。

217 名前:ホントはC使い :03/05/15 23:03
・・・で、Leap.face の話だが、その行以前の何処かで
括弧の対応がズレていないか?

218 名前:デフォルトの名無しさん :03/05/15 23:03
>>212
何かそれくさいな
むしろ>>206のほうが打ち間違いか?

219 名前:デフォルトの名無しさん :03/05/15 23:04
>>212が正解だったので>>370は恥ずかしくて出てこられなくなりますた。

220 名前:デフォルトの名無しさん :03/05/15 23:04
>>218
確かg++では通るとか言っていたんだよなぁ(ログ見る気ない)

221 名前:370 :03/05/15 23:05
あれ?動いた。なんでだろ〜なんでだろ〜こりゃまた失礼♪

222 名前:デフォルトの名無しさん :03/05/15 23:06
>>212が正解だったので>>370は適当にお茶を濁して退散しますた。

223 名前:370 :03/05/15 23:06
うんこ

224 名前:デフォルトの名無しさん :03/05/15 23:06
( ´Д`) Д`)Д`)Д`)Д`)Д`)< え〜〜、やっぱり

225 名前:デフォルトの名無しさん :03/05/15 23:07
>>217
おいおい少しは>>216にからめよ(w


226 名前:デフォルトの名無しさん :03/05/15 23:07
ヒトサワガセナ!
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>370

227 名前:デフォルトの名無しさん :03/05/15 23:07
370の勝ちだな。


228 名前:デフォルトの名無しさん :03/05/15 23:07
なんだこりゃ

229 名前:ホントはC使い :03/05/15 23:07
       ☆ チン        マチクタビレタ〜
                     マチクタビレタ〜
 ☆ チン  〃 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ ___\(\・∀・)< >>370の反省会はまだ〜?
      \_/⊂ ⊂_)_ \____________
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
   |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:|  |
   | 淡路たまねぎ   .|/


230 名前:デフォルトの名無しさん :03/05/15 23:08
Leapをleapにするのに60レスかかりますた。

231 名前:デフォルトの名無しさん :03/05/15 23:08
>>226
370はまだだよ Д`)

232 名前:デフォルトの名無しさん :03/05/15 23:08
うんことか言ってないで結局何だったのかおせーろ

233 名前:デフォルトの名無しさん :03/05/15 23:09
言ってやろう。「このドアホが」

234 名前:デフォルトの名無しさん :03/05/15 23:09
タグ名とtypedef名と構造体名のと変数名の区別はつけような

235 名前:370 :03/05/15 23:09
タクサンツレタ(・∀・)

236 名前:デフォルトの名無しさん :03/05/15 23:10
この騒ぎなら言える。「ぬるぽ」と。

237 名前:デフォルトの名無しさん :03/05/15 23:10
>>236
ガッ

238 名前:ホントはC使い :03/05/15 23:10
>>225
日本人なので、CleapとCreapの違いが・・・

239 名前:ホントはC使い :03/05/15 23:12
ま、終わって良かった・・・。さぁて寝るぞぉ!

240 名前:デフォルトの名無しさん :03/05/15 23:12
このスレのネタ系としてはオチが久し振りに面白かった

241 名前:デフォルトの名無しさん :03/05/15 23:13
370の兄です。
このたびは妹がご迷惑をおかけしました。
そもそも>>205
>もう一度使ってるところコピペしてみ。
といわれて貼った>>206がどうして問題ない無いコードだったのか
悔やまれてなりません。

242 名前:bloom :03/05/15 23:13
http://homepage.mac.com/ayaya16/

243 名前:デフォルトの名無しさん :03/05/15 23:14
C 言語スレの 370 を見てみてるともっと盛り上がれるかも。

244 名前:デフォルトの名無しさん :03/05/15 23:18
>>243
リンク貼れ

245 名前:371 :03/05/15 23:19
http://pc2.2ch.net/test/read.cgi/tech/1052542761/370

246 名前:デフォルトの名無しさん :03/05/15 23:28
さぁ、気を取り直して次の質問どうぞ〜

247 名前:デフォルトの名無しさん :03/05/15 23:28
C++のクラスをアセンブラで作るにはどうやりますか?
作り方の書いてあるホームページあったら教えてください
直接ここで教えてもいいですよ
ちなみにレスはしません

248 名前:デフォルトの名無しさん :03/05/15 23:30
>>247

g++ -S source.cxx

249 名前:デフォルトの名無しさん :03/05/15 23:32
370はネタ師の永久欠番

250 名前:267 :03/05/15 23:32
>>248
意味が分からないです
もっと詳しく教えてください


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