■過去ログ置き場に戻る■
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.