C++相談室 part18
レス数が1000を超えています。これ以上書き込みはできません。
0001v(^・^)v
NGNGただし質問の前にFAQに一通り目を通してください。
また、テンプレートライブラリ(STL含む)に関する質問は
専用の別スレへどうぞ。
過去スレ、関連スレ、関連リンクなどはこちら>>2-15
0002v(^・^)v
NGNG[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++日本語リンク集があります。
0003v(^・^)v
NGNGC++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
0004v(^・^)v
NGNGamazon.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/
0005v(^・^)v
NGNG[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/
[Comeau]
http://www.comeaucomputing.com/
[intel C++ Compiler]
http://www.intel.com/software/products/compilers/
[metrowerks]
http://www.metrowerks.com/mw/default.htm
0006v(^・^)v
NGNGBoost 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
0007v(^・^)v
NGNGPart1 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/
0008v(^・^)v
NGNG【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
0009v(^・^)v
NGNG[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
0010v(^・^)v
NGNGpart1 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
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG前スレを見たかぎりでは
int main()とかvoid main()とかint main(int ac,char **av) とかvoid main(void)ですよね。
それにreturn 0を書いてあったりなかったり、そもそもreturn 0ってなんですか?
windows上で動いている時などはOSに0を返してるって事ですか?
0013デフォルトの名無しさん
NGNG○ int main()
× void main()
○ int main(int ac,char **av)
× void main(void)
> return 0
あってもなくてもよい。mainだけは、無くても勝手にreturn 0されるはず。
> windows上で動いている時などはOSに0を返してるって事ですか?
そのプログラムを呼び出したホスト環境に0を返してるってこと。
0014デフォルトの名無しさん
NGNG乙
001512
NGNGCの本ではvoid main(void)と書いてあったのですが、
× void main() × void main(void)この2つはだめなのですか?
C++ではmain関数にvoidを使わないのでしょうか、書式としてあまり美しくないという意味ですか。
0016デフォルトの名無しさん
NGNG次からは http://boost.cppll.jp/HEAD/ を追加しる
0019デフォルトの名無しさん
NGNG拾いに行くので、待ってろ!
void main(void)のほうが美しいじゃないの。
0020デフォルトの名無しさん
NGNGまた関数や変数の定義で型を書かずにいきなり main() {…} などと
書くことができる(このような場合はintと見なされる)ので、
ANSI Cでは void main() も許されていたと思います。
C++ の規格がどうなっているかは知りませんが、
逆に C++ で void main() と書かれているソースには
お目にかかったことはありませんね。
0021デフォルトの名無しさん
NGNGその本、安っ!! もっといいのをたくさん購入しなさい。
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG> また関数や変数の定義で型を書かずにいきなり main() {…} などと
> 書くことができる(このような場合はintと見なされる)ので、
> ANSI Cでは void main() も許されていたと思います。
論理的つながりが全くわかりません。
0025デフォルトの名無しさん
NGNGマヂで逝ってんの?
0026デフォルトの名無しさん
NGNGつまり、double main() や struct str_tag { int i; int j; } main() も
ANSI Cでは認められると?
0027デフォルトの名無しさん
NGNG何てことを・・・
002824
NGNGマヂで説明してくれ。
1: 「明示的に型指定子を書かないと int となる」
2: 「ので」
3: 「main の返値型は void でもよい」
と書いてあるようにしか読めないが、どうやったら1から3という結論が出てくるんだ。
0029デフォルトの名無しさん
NGNG> つまり、double main() や struct str_tag { int i; int j; } main() も
> ANSI Cでは認められると?
Yes.
5.1.2.2.1 Program startup には、int main() と int main(int argc, char *argv[]) が書いてあってその後に、or in some other implementation-defined manner. と書いてあるから。
0030デフォルトの名無しさん
NGNGANSI C と言った場合、N739 …というか C99 の
ことは普通は指さないと思われるがどうか。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない。
0034デフォルトの名無しさん
NGNGすげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
0035デフォルトの名無しさん
NGNGとかいうエラーが出るんだけどこれってどうすればいいの?
0036デフォルトの名無しさん
NGNGコピペネタにマジレ(ry
0037デフォルトの名無しさん
NGNG#include <stdafx.h>
後死ね。
0038デフォルトの名無しさん
NGNG言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
0039デフォルトの名無しさん
NGNGint _id;
public:
foo(int id) : _id(id) { }
foo(foo& f) : _id(f._id) { }
foo& operator=(foo& f) { _id = f._id; return *this;}
virtual ~foo() {}
};
int main(int,char**){
foo bar(0);
bar = foo(1);
return 0;
}
以上のコードを gcc 3.2でコンパイルしたら
no match for `foo& = foo' operator
candidates are: foo& foo::operator=(foo&)
っていわれるんだけど、俺間違ってないよね?
0040デフォルトの名無しさん
NGNGまちがってる
foo(const foo& f) : _id(f._id) { }
foo& operator=(const foo& f) { _id = f._id; return *this;}
コピーコンストラクタや代入演算子はconstの参照だ
一時オブジェクトは非const参照できない
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGまだやるつもりだったのにー
0043デフォルトの名無しさん
NGNGsearch_joint_point.obj で定義されています
とかいうエラーが出るんですけど、どうしたらいいのでしょう?
下の文を書いたヘッダファイルを3つのファイルで
incluedしてるのですが、何が悪いのか分かりませんので
お願いします。
#ifndef VARIABLE
#define VARIABLE
double r_inter[4] = { 0.237857 , -0.052922 ,-0.113636 , -0.05279 };
#endif
0044デフォルトの名無しさん
NGNG外部リンケージを持つ配列が複数定義されているのが悪い。
・宣言と定義を分ける(外部リンケージの配列定義を一つにする)
・constを付ける(内部リンケージにする)
0045デフォルトの名無しさん
NGNGありがとうございます。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG>>46 の言う通り、その方法でホントに良いのか ?
その数値が何示すかわからんけど、修正する時は両方のファイル共に修正しないといけなくなるぞ。
extern について調べるべきだと思う。
0049デフォルトの名無しさん
NGNG>>29
実装依存->結果どうなるかも実装依存
ということ。
>>47
OSやデバイスによって書き方が激しく違う。
適切なスレに行くべし。
0050デフォルトの名無しさん
NGNGじゃあ何処逝けばいいですか
0051デフォルトの名無しさん
NGNGコンテナって 後始末に明示的にデストラクタ呼び出さなくても
良いのですか?
本のサンプルみてても とくに呼び出さず終了してますが
プログラム終了時に自動でメモリ解放してくれる?
そんな便利じゃないですよねえ
005251
NGNGすんません よくわからない文章ですね
つまり デストラクタを自分で実装しない構造体型
のコンテナを作ってるんですが
どのようにメモリを解放しているか
よくわからないんです
0053デフォルトの名無しさん
NGNGコンテナの自動変数はスコープアウト時に自動でメモリも解放する。
そんな便利なものなのです。
0054デフォルトの名無しさん
NGNG> デストラクタを自分で実装しない構造体型
これなーに?
よけいにわからなくなった。
005551
NGNGアリガトです 安心しました
>>54
失礼 組込型メンバのみの構造体ってことです
メモリ確保も自分でやってないので
コンストラクタもデストラクタも書いてないという...
つもりだったんですが よけいわかりにくいですね
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGぼーよーにはNTBSって書いてあるんですけど・・・・
0060デフォルトの名無しさん
NGNGclass Hasei1 : public Base;
class Hasei2 : public Base;
とありまして, 使う側は"base.h"だけ知っていれば問題無いですよね。
ところが,ファイルに保存した情報からnewしようとすると
具体的な"hasei1.h"や"hasei2.h"が必要になってしまいます。
これはなんとかならないものでしょうか?
意味不明ならスマソ
0061デフォルトの名無しさん
NGNG必要なのはあたりまえ
必死で意味を読み取ろうとしたんだがhasei1.hで定義されているクラスを
それを読み込まずに宣言したいとしか読めん
006260
NGNGstring className;
ReadClassNameFromFile(className);
Base* base = new className; // ←!!!
みたいなことができないものでしょうか?
0064デフォルトの名無しさん
NGNGよろしくお願いします。
0065デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG問題点
1) >>62 やりたいことはわからんでもないが
マクロじゃないんだから型名を変数で置き換えなんてできないぞ
まだやるなら
int classKind;Base* base=NULL;
ReadClassKindFromFile(classKind);
switch(classkind) {
case CLASS_HASEI1:base = new HASEI1;break;
case CLASS_HASEI2:base = new HASEI2;break;
default:dataerror();break;
}
2)こうしたところで、HASEI1を解決するためには
"hasei1.h"をインクルードしなきゃいけないのは 当然。
0068デフォルトの名無しさん
NGNG1.受け取る側が値を変更しないならそちらをconst char*にする
2.値を変更せずかつ書き換え不可ならconst_castを使う
3.値を変更するなら適当に領域を確保してコピーすべきなのでは
>>67
ClassFactoryを使えば"hasei1.h"のインクルードは不要になるのでは?
もちろんClassFactoryのほうはインクルードが必要だけど(w
0069デフォルトの名無しさん
NGNG書き込むためのchar*が必要ならstd::vector<char>で代替できる。
007160
NGNGなるほど。よく考えれば当然ですね。
生成以外は抽象的に扱えるのでここもなんとか,と思いましたが
知らないものを作るのは無理か
>>68
ちょっとすっきりしますね。考えてみます。
テンプレート?を駆使してグローバルなmapにコールバック関数を登録し,
動的に照会してnewする方法をとれば,依存ゼロが可能なようですが
大変そうなので,ClassFactoryがよさそうかなと思います。
ありがとうございました。
0072デフォルトの名無しさん
NGNG007372
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGNULLが定義してあるヘッダをインクルードするのがメンドクサイ。
0076デフォルトの名無しさん
NGNGfoo(int);
foo(0);
どっちが呼ばれるんだっけ?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNGオーバーロードするときは
型の第一候補が見つからないときに起きる
暗黙の標準変換のことも考慮しないとやばいわな。
0080デフォルトの名無しさん
NGNGstruct B {};
struct D : B {};
int main() {
std::auto_ptr<D> bp6(std::auto_ptr<B>());
//bp6.reset();
return 0;
}
gcc(3.2.2,2.9.5とも)でこれをコンパイルすると通る上に、//の
部分のコメントを外すと
hoge.cc: In function `int main()':
hoge.cc:8: request for member `reset' in `p', which is of non-aggregate
type `auto_ptr<D> ()(auto_ptr<B> (*)())'
とか言われるんだけど、これってバグだよね?
ちなみに
std::auto_ptr<D> bp6(std::auto_ptr<B>(0));
だと予想通りの挙動になる。
0081デフォルトの名無しさん
NGNGint i = atoi(s.c_str());
文字列を数字に変換するのってこれでいいの?
とくにatoiとかをC++で使っていいのかYOとか思ってさ。
0082デフォルトの名無しさん
NGNGせめて std::stringstgream を使いましょう。
それもわからなければ、#include <cstdlib> として std::strtoul()
あたりをつかいましょう。
0083デフォルトの名無しさん
NGNGPrint(int)
は普通にあるだろ。
0084デフォルトの名無しさん
NGNG以前は、shellで書いてあったとか何かの本で読んだ記憶がある。
いまのg++って実際にはどんな処理をしてるの?
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG> std::auto_ptr<D> bp6(std::auto_ptr<B>());
そりゃ関数宣言だな。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGそんなときはchar*を捨ててstd::stringにしる。
0089デフォルトの名無しさん
NGNGC++のコンパイル
0090デフォルトの名無しさん
NGNGcpp0 cc1plus collect2 ld
0091デフォルトの名無しさん
NGNGg++は最初からネイティブだったと思う。
ベル研の C++ (たぶん最古のC++処理系) は C++ -> C のトランスレータ。
009280
NGNG確かにエラーを見ても、関数宣言だと思われているみたいだけど、
どうしてそうなるわけ?引数部分はstd::auto_ptr<B>()だから、
型じゃなくコンストラクタの呼び出しでは?
0093デフォルトの名無しさん
NGNGバグだな
0094デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGスマン、俺の見た限りでは見つけられなかったんだが引用してほしい。
0097デフォルトの名無しさん
NGNGgpp という名の c++ -> c トランスレータを使った事があるが、これが
g++ の前身かと記憶してます。
10年以上前の話だが...
0098デフォルトの名無しさん
NGNGこれは、「int型の引数を一つ受け取りint型の値を返す関数」の宣言。
int f(int);
これはさっきのと同じ意味の関数宣言。
つまり、仮引数リストでは、宣言子は必要ない。
int F(int g());
これは、「『引数を取らずint型の値を返す関数』型の引数を一つ受け取りint型の値を返す関数」の宣言。
で、仮引数リストでは、宣言子は必要ないので・・・。
int F(int());
これも実は、さっきのと同じ意味の関数宣言。
つまり、(つづく)
0099デフォルトの名無しさん
NGNGT a(T());
は、
「『引数を取らずT型の値を返す関数』型の引数を一つ受け取りT型の値を返す関数」の宣言と読める。
しかし同時に、「T()を初期化子とするT型の変数」の宣言にも見える。
これらは実際曖昧で、曖昧さを解決するための鍵は、T()を式とするか、宣言とするかである。
んで、[6.8 -1-]。
〜引用〜
An expression-statement with a function-style explicit type conversion
as its leftmost subexpression can be indistinguishable
from a declaration where the first declarator starts with a (.
In those cases the statement is a declaration.
〜引用おしまい〜
〜引用訳〜
関数スタイルの明示的型変換を最も左の式とする式文は、
最初の宣言子が「(」で始まる宣言と区別できない。
そのような場合、その文は宣言である。
〜引用訳おしまい〜
「式文」ってなってるからちょっと怪しいけど、上記の曖昧さは
このルールで解決される。
0100デフォルトの名無しさん
NGNGついでに100でも取っとくか。
あー、Effective STLにも書いてあっただろ。
0101デフォルトの名無しさん
NGNG>>99
ちょっと誤訳だ。
s/区別できない/区別できない場合がある/
0102デフォルトの名無しさん
NGNGちがくないか?
その部分は
T(a)++; が式(aを引数にTのコンストラクタを呼び出し、それをインクリメント)
T(f) = { 1, 2 }; が宣言(T型のfを宣言し、初期値をセット)
を人間が目で見てよくわからないから区別する方法を解説してるんだろ?
それに
int F(int g());
を
int F(int());
と書けるってのは聞いたことが無いし、VC++ではこれはintの変数になったよ。
int F( int(*)() );
ならわかるんだが。
そのページの最後の
T(*g)(double(3));
も
In the last example above, g, which is a pointer to T, is initialized to double(3).
って書いてある。
0103デフォルトの名無しさん
NGNG動的構造体変数を宣言する時は
構造体を定義した際に、動的変数とは別に変数宣言をしなければならない
のでしょうか?
0104あぼーん
NGNG010598-101
NGNGまずいところを誤訳したかな。
宣言と式の曖昧なところを宣言として解決するのは、
文全体をパースしてもなお曖昧さが解決できない場合の最後の手段。
T(a)++;
これは演算子が続いているので式とされる。
T(f) = { 1, 2 };
これは初期化リストが続いているので宣言とされる。
人間の目で見ても明らかだと思うが・・・。
> 聞いたことが無いし、VC++ではこれはintの変数になったよ。
聞いたことが無いのを理由にするつもり?
そうそう、これのせいでboost::functionのテンプレート引数が
ちょっとかっこ悪くなる。
いい引用元みつけた。
http://www.kuzbass.ru/docs/isocpp/decl.html#dcl.ambig.res
文の曖昧さ解決(>>99)が宣言についても同様に起こることが明記してあるし、
この話にぴったりの例も載ってる。
0106デフォルトの名無しさん
NGNGいや、べつに。
0107103
NGNG{ int n1;//アダプタに存在するモードの総数
int n2;
}c, *pc;
こう定義されている場合にこの動的構造体変数を宣言するには
pc = new test;
ですよね?
こう書けますか?
pc pc2 = new p;
0108103
NGNGpc pc2 = new c; でした
0109デフォルトの名無しさん
NGNGお、ホントだ
int a = 0;
S b( S( 0 ) ); // コンストラクタ
S c( S( a ) ); // 関数
面白いな。
それにしてもこれがあいまいになっちまうくらいなら別の表記があるんだからそっちだけ使ってれば良かったんじゃね?
0110デフォルトの名無しさん
NGNG×pc pc2 = new c;
○test* pc2 = new test(c);
型名と変数名を区別しる。
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGtypedefなら、
pc = new test;
が書けない。
0113103
NGNG{
D3DDISPLAYMODE DisplayMode;//ディスプレイモードデータ構造体
tag_DisplayModeData* lpNext;//次構造体へのポインタ
tag_DisplayModeData* lpBack;//前構造体へのポインタ
}DISPLAYDAT,*LPDISPLAYDAT;
typedef struct tag_EnumDispChain
{
UINTModeCount;//アダプタに存在するモードの総数
intAdptPoint; //このアダプタの評価点数
D3DCAPS8AdptCaps; //このアダプタのハードウェア情報
DISPLAYDATDispDataTop;//ディスプレイデータ先端ポインタ
DISPLAYDATDispDataEnd;//ディスプレイデータ終端ポインタ
tag_EnumDispChain*lpNext;//次チェイン先端へのポインタ
tag_EnumDispChain*lpBack;//前チェイン先端へのポインタ
}ENUMDISP,*LPENUMDISP;
LPENUMDISP pEnumDispTop = new ENUMDISP;
サンプルプログラムでは、動的変数を宣言するのに型名を使わずに変数名で宣言しているのですが
ビルドできました。どういう書き方なんでしょうか?
0114デフォルトの名無しさん
NGNGtypedefを学べ。
0116あぼーん
NGNG0117デフォルトの名無しさん
NGNG最初はトランスレータが結構あったね。
0118デフォルトの名無しさん
NGNG多態性やら、STL使ったプログラムなんかも、Cになっちまうって事ですかよ!
ワッショイ!
0119デフォルトの名無しさん
NGNGアフォですか?
だれかトランスレータ使えっていってる香具師いたっけ?
0120デフォルトの名無しさん
NGNGどのみち最後は機械語になるんだが。
つーことで、別になんの不思議もないが?
0121デフォルトの名無しさん
NGNGちなみに多態は構造体のメンバに関数ポインタを置くことであっさり実現できる。
テンプレートはプリプロセッサによるジェネリックなプログラミングと似てる。
だからなんだってわけではない。
0122デフォルトの名無しさん
NGNG配列をスレッドで扱うときの処理です。
例えば
for(iterator・・・){
処理;
remove(0);
}
のように複数スレッドで同じ配列をみるようにしたとき、
タイミングによってはバグになると思います。
これを、便利ライブラリとかを使わずにテクニックで解決するには
どうしたらいいでしょうか。
0123デフォルトの名無しさん
NGNG122:10: `テクニック' undeclared
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNGバカにしたい気持ちはわかるが初心者なので大目に見てください。
クリティカルセクションとかいうのを使いたいのですが、標準のライブラリ
のなかにあるのかどうか、なんていう名前なのかも分かりません。
それとも手作りでできるものでしょうか?
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG・C++の規格はスレッドなるものを全く考慮に入れてないので、標準ライブラリにはない。
・準標準なら boost::thread
・余計なもんいれたくないなら、pthread なり Windows API なり、
開発環境でさいしょっから使えるものを使え。「スレッドの作り方」
がわかるんなら同じとこを探せばCriticalSectionでもMutexでもわかるはず。
・手作りしたいなら Petersonのアルゴリズム、とかでググれ。ネタだが。
0128デフォルトの名無しさん
NGNGマチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < >>32 マダー?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 夕張メロン |/
0129デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134128
NGNG|も.|
|う |
│来│
│ね│
│え .|
│よ .|
ヌルポ ゴルァ │ !!.│
└─┤ プンプン
ヽ(`Д´)ノ ヽ(`Д´)ノ (`Д´)ノ ( `Д)
| ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U
〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGわろた
0138デフォルトの名無しさん
NGNGUNIXなら、alarmでもつかえば。
0139デフォルトの名無しさん
NGNGC++はGetMessageの内部ループで待つメッセージループ型と、PeekMessageと組み
合わせることでGetMessageのあるwhileでのループで待つメインループ型の2つが
ありますが、本や情報サイトに載ってるのは殆どがメッセージループ型ですよね。
メインループ型を使えば、時間の処理などを使いやすくなる利点が生まれるのですが
デメリット等があるのですか。
0140デフォルトの名無しさん
NGNG- Windowsプログラミングの話題なのに、
C++一般の話題として話してるのが馬鹿っぽい。
- "時間の処理などを使いやすくなる利点が生まれる"という記述が意味不明。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG仮想関数関連以外で述べて。
お願い。
0145デフォルトの名無しさん
NGNGべつに向かないこともないんでは?
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGターゲットによっては、C++ではあまり最適化されなくて遅いって事はある。
0148デフォルトの名無しさん
NGNGCOMみたいな仕組みを用意しとかないと、
バイナリ互換性がとりにくいとか、
compiler間のmangling schemeの違いを吸収できない。
0149デフォルトの名無しさん
NGNGC++を良く知らない人が多い、とか・・・
0150デフォルトの名無しさん
NGNG0151山崎渉
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGシステム自体どこまでC++で書かれているかは知らないけど。
0155デフォルトの名無しさん
NGNGようなものはありますか?
C++に、という表現は変ですね、そのようなクラスライブラリみたいなものは
存在しますか?
例えばCIOSocketやCHttpのような。
C++の勉強がてらPerlのプログラムを移植してみようと思うのですが、あるな
らばそのリソースとか教えて頂けないでしょうか。
0156デフォルトの名無しさん
NGNG0157155
NGNG0158デフォルトの名無しさん
NGNGWindows標準だとWin32APIのWinSock/WinInetがある。
C++Builder/Visual C++にはそれぞれコンポーネント・クラスがある。
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
0159155
NGNGということはFreeな環境下、もしくはコンポーネントに頼らない場合は
Win32APIを直接操作してラッピングするようなクラスを自前で設計し
てやる以外に方法はないということでよろしいでしょうか?
と、レスを書いている間にACEというものを見つけたので少し見てみる
事にします。
以下引用(ttp://blue.sakura.ne.jp/~turugina/prog/ace_inst.htm)
そこで登場したのがACEである。 ACEは、Windows、MacOSX、UNIX等、
様々なプラットフォーム上で動作する主なC++コンパイラーで動作する、
ネットワークプログラム用のミドルウェアである。 ACEに含まれるクラス
群は各プラットフォーム間のネットワークコード上の差異を吸収し、さら
にネイティブよりも型安全なコーディング環境を提供してくれる。
http://www.cs.wustl.edu/~schmidt/ACE-overview.html
0160デフォルトの名無しさん
NGNGc++で、
標準の 演算子のオーバーロードは、できるのでしょうか?
(クラスの演算子では、ありません)
+ , - , * , / とかです。
0161デフォルトの名無しさん
NGNGできません。できたらとしたら曖昧になってしまう。
0162デフォルトの名無しさん
NGNGという理解であってますか?
0163デフォルトの名無しさん
NGNG間違っています。
0164デフォルトの名無しさん
NGNGでないかな・・・。
0165デフォルトの名無しさん
NGNGユーザー定義型を使えば、できる。
組み込み型はだめ。
enum E {};
E operator + ( E , E );
E operator - ( E , E );
E operator / ( E , E );
E operator * ( E , E );
E foo( E e1 , E e2 )
{
return e1 + e2 * e1 - e2 / e1;
}
0167デフォルトの名無しさん
NGNGでないかなってのはただの希望かと
0168デフォルトの名無しさん
NGNGC/C++やるならBSDソケットくらいはやっとけという気はする。
0170デフォルトの名無しさん
NGNGはやくでないかな
0171155
NGNGboost::socketに期待しつつwinsockの勉強してみようと思います。
色々とありがとうございました。
0172デフォルトの名無しさん
NGNGコンストラクタを派生クラスのコンストラクタ
の初期化指定子でする書き方ってどうやるんでつか?
0173デフォルトの名無しさん
NGNGclass Super
{
public: Super(int){}
};
class Sub : public Super
{
public: Sub():Super(1){}
};
0174デフォルトの名無しさん
NGNG{
public: Super(int){}
};
class Sub : public Super
{
public: Sub(){
Super(1);
};
これもあり?
0175デフォルトの名無しさん
NGNGない。Superクラスの一時オブジェクトが作成されて瞬時にデストラクトされるだけ。
0176デフォルトの名無しさん
NGNGどっちが一般的な呼び方?
それとも違うもの?
私が読んでいる本には基本クラスとかいてあります。
(決定版はじめてのC++技術評論社)
0177デフォルトの名無しさん
NGNGどっちも英語にしたら base class。
俺は基底の方が好き。
0178デフォルトの名無しさん
NGNG0179
NGNG0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGあとの2%はなんですの?
0182デフォルトの名無しさん
NGNGMSに聞いてくれよ
0183デフォルトの名無しさん
NGNG6.0は99%だぞ
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG定番の6/30
0186デフォルトの名無しさん
NGNG6.0からは4年もかかったのに
0187x
NGNGchar *buff;
buff = moji("文字列");
printf("buff=%s",buff);
------------------------------
buff=文字列
と言う風に、文字列を=で渡すことってできますか?
0188デフォルトの名無しさん
NGNG6.0時点じゃまだ標準C++にすら準拠してねーよ(わらい
0189デフォルトの名無しさん
NGNGそのmoji関数がstrdup(標準じゃないけど)関数みたいなものなら。
std::stringなら=でコピーできる。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGC++のスレで聞かなくてもいい質問なんじゃないの?
0192デフォルトの名無しさん
NGNG自分は期待して購入し裏切られました。
0193デフォルトの名無しさん
NGNG自分はWin98SEを使っているという時点で断念しました。
0194デフォルトの名無しさん
NGNG0195x
NGNG>moji関数がstrdup(標準じゃないけど)関数みたいなものなら。
どうすればいいんですか?
0196デフォルトの名無しさん
NGNGだからさー、それはごく初歩のCの質問じゃないのか?
0197デフォルトの名無しさん
NGNG<string>インクルードしてstd::stringを使おうよ。
0198デフォルトの名無しさん
NGNGchar*は文字列型ではありません!単なるポインタです!
組み込みではないものの、C++には文字列型stringがあります!これを使いましょう!
0199デフォルトの名無しさん
NGNG当初は.NETの時点でそれなりに標準C++に準拠しようとしてたらしいし。
0200x
NGNGLinuxで
#include <map>
#include <iostream>
used namespaced std
として、gcc -osample sample.cpp
とすると、インクルードだけでエラーがでる。なんでだろう?
>>198
char *operator=(moji a); ・・(略)
オペレータかなにかで実装は不可能ですか?
0201デフォルトの名無しさん
NGNGなんだこれ(;´Д`)
using namespace std
って書きたかったのか?
0202x
NGNG多少の記述違いはきにしないで、すまそ。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGどんなエラーが出るのですか!
0205デフォルトの名無しさん
NGNG>
>オペレータかなにかで実装は不可能ですか?
>>198の言ってる事が根本的にわかってないみたいなので、
まずC言語をちゃんと勉強した方がいいよ。
0206デフォルトの名無しさん
NGNGまじめに恋愛を考える、真剣なあなたのためにこのサイトを作りました。
http://www.h5.dion.ne.jp/~psysys/index.html
0207x
NGNG今Windowsから書きこしてるのでエラーメッセージは表示できまへん。
0208x
NGNGstringヘッダーと同等の機能を作りたい。
0209デフォルトの名無しさん
NGNGなんで? お勉強か?
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGg++
0212デフォルトの名無しさん
NGNG日本語に置き換えて読むとしたら?
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGぬるぽ
0215デフォルトの名無しさん
NGNGガッ
0216デフォルトの名無しさん
NGNGすまん。C++の洋書の訳版に出てきたからさ。
contextをそのままコンテキストって書いてあるんだもん。。。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG関係ないが、分野によって標準的な表記が異なる外国語ってあるよな。
テキストは哲学なんかの分野だとテクストだし、
小説のジュヴナイルは競馬ではジュヴェナイルだし。
0219デフォルトの名無しさん
NGNG文脈、事情、背景。
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG寒いんだよ。
そんなの調べりゃわかることだろ?
ソフトウエア的に通じる比喩は無いかっていってんの。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGで、そんな単語だけ出されてもどんな"文脈"で使われてるかもわからないのに
どう答えればいいんだ。
0226デフォルトの名無しさん
NGNG独語由来、仏語由来、英語由来つうのがあるのかもな
0227デフォルトの名無しさん
NGNGデバイスの何よ?
訳がjapaneseフレンドリーじゃないから
比喩つかって読まないと通じない。
原文ないからどうしようもないけど。
載ってたのはこれ。
「デザイン過程においてしばしば有益とされている
経験的知識や真理でも、個々のデザインにおいて、
そのコンテキストで評価が必要なものがある。」
ちなみに「デザイン過程」は「ソフトウエアの設計過程」と
脳内で置換えた。
0228名無しさん
NGNGここにはいないな。
0229デフォルトの名無しさん
NGNGそれなら直訳で事情、背景でも意味通るんじゃないか?「その状況で」とか。
まあ変な訳の本があることは珍しいことじゃないが、そもそもスレ違いだと思うのよ。
その文、全然C++の話じゃないじゃん。
0230山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG本はC++ベッタリなんだよ。
状況か。。いけるな。 thanx
0233デフォルトの名無しさん
NGNG今の状況に本当に役に立つのかどうか再確認すべきだよ」くらい。
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG0237山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0238デフォルトの名無しさん
NGNG「あたかも」とは(多く「似る」「如し」「よう」などの語をあとに伴って)
よく似ている物事にたとえる場合に用いる語です。
0239デフォルトの名無しさん
NGNGclass derived : public base;
base::base(){func();};
derived::derived() : base(){};
derivedはfunc()を継承時上書きしてるのですが、
derivedの生成時にbase::func()が呼ばれてしまいます。
derived::func()をよびだすにはどうしたらよいのでしょうか?
また、コンストラクタはなぜvirtualにできないのか教えてください。
0240デフォルトの名無しさん
NGNGbase::baseの時点ではまだderivedの初期化が完了していないので、
オブジェクトとして存在しない。つまり呼べない。
やりたいことを具体的に書いてくれれば、代替案は見いだせるかもしれないが。
もしコンストラクタがvirtualなクラスを書いた場合、
実際の型を誰がいつ決めるか、仮に決まったとして、
どうやってコンパイラにそれを伝えるか、考えてみな。
0241デフォルトの名無しさん
NGNG間で共有されてしまいますよね?
これをオブジェクトの間で共有にならなくする事って出来ますか?
0242デフォルトの名無しさん
NGNGメンバ変数にする。
0243デフォルトの名無しさん
NGNGこれまた阿呆な質問だ!
0244bloom
NGNG0245デフォルトの名無しさん
NGNG糞訳の典型だね。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGboost でそんなんあったよ。
<boost/utility.hpp>
boost::base_from_member
基底クラスより先にメンバ変数を初期化
うまくできるかどうかしらんけど。
0248デフォルトの名無しさん
NGNGstring s2[n];
とすると、定数にしてくれってエラーがでます。
なにか方法はありますか?
0249名無し
NGNG0251デフォルトの名無しさん
NGNGなぜvectorを教えない!
0253デフォルトの名無しさん
NGNG初心者はvectorなんか使ってはいけません
0254デフォルトの名無しさん
NGNGnewの方が初心者には危険だろ?
0255248
NGNGatメソッドがg++に無いということが書かれていました。
g++でも動くように、
v.at(3)=100;
を、
v[3]=100;
って書いていいということですか?
というかatメソッドは、意味無い?
0256デフォルトの名無しさん
NGNG明示的に inline って書かなくても
インラインになるの?
class hoge
{
public:
Hoge();
~Hoge();
void Method1(){ ... } //これインラインになる?
};
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG意味はあるさ。オーバーインデックスした時、
atは例外を出すからデバッグしやすい。
>>256
普通はinline展開されない。VC++だと、コンパイルオプションで設定できた。
0259tantei
NGNG●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL http://www.h5.dion.ne.jp/~grobal/
メール [email protected]
■グローバル探偵事務所
0261デフォルトの名無しさん
NGNG継承して使うべきかな?
0262デフォルトの名無しさん
NGNG>普通はinline展開されない。
え? 普通はされるだろ
0263デフォルトの名無しさん
NGNGhas-a を is-aに置き換えることは愚行
0264デフォルトの名無しさん
NGNGeffective-C++読んどけ。
0265デフォルトの名無しさん
NGNGされるかどうかは Method の実装次第てとこだね
0266デフォルトの名無しさん
NGNGでも、せっかくチェックしてくれるなら、例外なんか投げないで
abort()してくれればいいのに。
結局、STLportのデバッグモードとかの方が有難かったり。
0267261
NGNGC++でプログラムを設計するということは、"is a”と"has a"の関係に分離し抽出することと考えることができる。
(ttp://toba.yanagi.gifu-u.ac.jp/lecture/prog2/11/)より
ということでした。
ありがとうございました。
でも置き換えるの意味がわかんないです。
0268デフォルトの名無しさん
NGNGclass Engine{};
class Car
{
Engine engine;
};
は正常。車はエンジンを持っている。
class Car : public Engine{};
は異常。車はエンジンではない。
0270デフォルトの名無しさん
NGNG.
.
.
class N;
A.m_classB.m_classC...m_classN.a = 1; (N回クラスが連結した先の変数aに代入している)
このような繋がりってあんまり多いと駄目ですよね。
最高どのぐらいが限界でしょうか?
0271デフォルトの名無しさん
NGNG限界なんてものは無いが、クラスを使うということは、複雑な問題を分割・整理するのが目的なのに
外から内側が丸見えでは問題を複雑なままにしているので駄目だな。
0272デフォルトの名無しさん
NGNGなるほど。そりゃそうですよね。
268の例みたいに
CarとEngineを"is-a"の関係で記述したときって
EngineをCarから操作できるようにするんですよね?
例えば、Car.GetEngineType(); とかのように。
Car.engine.GetType(); では駄目駄目だということですよね?
0273デフォルトの名無しさん
NGNGまだよくわかってないんじゃない?
とりあえず、
Car.engine.GetType();
なんて、メンバ変数(この場合engine)が公開されてる
時点でおかしい
0274デフォルトの名無しさん
NGNGCar.GetEngineType(); が良い例です。
これでも駄目ですか? engineは隠蔽されていると思うのですが・・
0275デフォルトの名無しさん
NGNG0276270
NGNGENGINEは定数ですよね?
Carクラスの中で、定数ENGINEを定義して、それを公開するということですか。
GetEngineType(); と同じ気がするんですが・・・気のせいですか?
自分の無知さが恥ずかしいです。
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGpublic:
Engine &GetEngine(){ return engine; }
}
0279デフォルトの名無しさん
NGNGどうしても知る必要があるなら、>>274 の Car::GetEngineType() でいい。
0280デフォルトの名無しさん
NGNGGetEngineType() とは型番とか、製造社とかを返すつもりで使いました。
例がとっさにうかばなかったもので・・・
0281デフォルトの名無しさん
NGNGんなこたないよ。そんなの普通にあるだろ。
0282デフォルトの名無しさん
NGNGその型番とか製造社を使って、
Carクラスの使用者は条件分岐したりするの?
0283デフォルトの名無しさん
NGNGなにそれ。
if( car.GetEngineType() == HONDA ) {
car.アクセルを緩める();
} else {
car.アクセルは固定();
}
とか、こんなコード書くのか?
0284270
NGNGそうですね。使うとしたら・・表示させたり、条件分岐とかですかね。
さきほど言いましたけど、
とっさに考えた例なので、使い道は考えていません^^;
0285デフォルトの名無しさん
NGNG"is-a"の話の流れで書いちゃってるけども、"is-a"の話とは関係ないよね。
0286270
NGNGcar.PointUp(1);
ヤマハのエンジンだったら評価を上げるっていう例です。
さっき思いつきましたが
0287デフォルトの名無しさん
NGNG多態を使うべき場面っぽいですなー
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG名前だけ知ってる・・・
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG検索してくたたい。
0293デフォルトの名無しさん
NGNGやっぱ一緒だった。タタイ?
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNGプログラムは組めないと言うよりアプリが作れない。
ポインタを理解するのに数年はかかると言われている。
本当のところ、どうなの?
0296デフォルトの名無しさん
NGNGポインタはすぐに理解できるよ。
0297sage
NGNGアセンブラ習得するのに、数年もかからんでしょ。
0298デフォルトの名無しさん
NGNGたかがポインタに大げさだなあ
0299デフォルトの名無しさん
NGNG関数ポインタはどんな場合に使うの?
0300デフォルトの名無しさん
NGNGどの関数をコールするのかを、実行時に決める時に使う。
C++では、virtual関数やtemplateをうまく使えば使わなくてすむ。
つか、>>299よ、なぜ>>298に対して聞くんだ。
0301デフォルトの名無しさん
NGNG"手牌"と、"牌1つ"は"is-a"ですか?"has-a"ですか?(麻雀用語ですみません。)
class HAI{
private:
移動用クラス;
数値用クラス;
};
class TEHAI{
private:
HAI m_hai[14];
};
みたいにしたいんですが、
手牌の中には牌が14枚あるということから、"is-a"としたんですが・・
HAIクラスのメンバにTEHAIクラスからアクセスするのに長々と
TEHAI.GetHai(N番目).移動用クラス.ひっくりかえす(); みたいに書かないといけないですか?
まだよくわかってないみたいですか?
付け加えると、移動用クラスは、別のプログラムでも使えるようにと
汎用化したつもりなんですが。
長々とすみません。
0302デフォルトの名無しさん
NGNG実装とインターフェイスの分離。多態(笑)
ってこれは概念も分からない人には少し早いんじゃないかな。
まずポインタの基本概念の理解の話なら、
自分の知識にあった説明さえ得られれば瞬時に理解できるんじゃないの。
C言語の複雑なポインタ式の知識は、あるに越したことないけどしっかり把握する
必要もあまりない(一般的に、複雑な式はバグの元なので避ける)
0303デフォルトの名無しさん
NGNG>関数ポインタはどんな場合に使うの?
あれは、C++を使えない老人のオブジェクト指向ごっこ。
C++では使わない。その必要がない。
0304デフォルトの名無しさん
NGNG298はポインタを理解してるとみた。
300は298ではないね。
信頼して聞いたんだよ。信頼と信用は違うけど。
0305デフォルトの名無しさん
NGNG手牌は、特定のプレーヤーの管理下の牌の集合を保持したものである。
牌は、山に積むことができる。順番にツモって捨てられることができる。
鳴かれることができる。ドラ表示に使われることがある。
「手牌」は、「牌」の一種といえますか?
手牌は、「牌」の集合を所持するだけとしか思えませんが。
0306デフォルトの名無しさん
NGNG必要がないわけじゃないよ。
関数メンバポインタがないからイベント通知にとても苦労してるよ。
overrideさせると切り替えが面倒だしそれ以外の解決法もぴったりのものはないからね。
0307デフォルトの名無しさん
NGNGWindowsならDLLからGetProcAddressするときに
0308デフォルトの名無しさん
NGNGお前のコード、
「手牌 is a 牌」って表現してないだろ。
お前のコードは
「手配 has a 牌」っていうのを、14個分用意している。
自然言語に対する感覚をどうにかしろ。
そして is-a、has-aについて調べろ。
TEHAIクラスのpublicなメンバ関数は
”全部を引っくり返す”とか、
"手牌全部をみて、点数計算をする"とか、
"手配全部を見て、待ち牌をさがす"とか、
そういう、手配全部に対してアクセスする物と、
AddPai( class HAI* p ) // ツモ
removePai( int i ) // 牌を捨てる
とか、こんな感じで、手配の中の一牌をを
どうにかするメンバ関数の2種類を作れ。
あと、"移動用クラス"が何なのか知らねーが、
それは"引っくり返す関数"のなかでこっそり呼べ。
最後に、ストラテジーパターンについて学んでおけ。
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGでも長々と鎖をたどっていくのはいやなんですけど・・・スマートな
記述方法ってありませんか?
0311デフォルトの名無しさん
NGNGウソ。
0312デフォルトの名無しさん
NGNGEnum〜 系の API にも関数ポインタ必要
0313デフォルトの名無しさん
NGNGホント。
0314デフォルトの名無しさん
NGNGvirtual関数使やいいだろ。
C++は多重継承を許す言語だぜ。
0315デフォルトの名無しさん
NGNGウソ。
template があってもなくても、void * は使わない。
template があってもなくても、マシンを直接アクセスしなきゃならないときは
void * を使わざるを得ないこともあるから、その場合だけ使う。
0316デフォルトの名無しさん
NGNGありがとうございます。
もう一度調べてみます。
0317デフォルトの名無しさん
NGNG通知イベントが数十あって必要なものだけイベントハンドラ書いて
実行時にイベントハンドラ切り替えたりイベントハンドラ複数登録したり
とかはどうやってやる?
0318デフォルトの名無しさん
NGNGstd::for_each() 使えば?
0319デフォルトの名無しさん
NGNGmallocとかの返り値が void * だけど、
他にvoid *って使う価値がないような気がする。
"指しているオブジェクトが何か解らないポインタ"の使い道...
ん-...
>>315
マシンを直接アクセスするとき?void *がどう役に立つの?
0320デフォルトの名無しさん
NGNGstd::map<Event,Handler>じゃないの?
0321デフォルトの名無しさん
NGNGmemcpy使ったこと無いのか?
0322デフォルトの名無しさん
NGNGああ、そうか、memなんとか系のライブラリ関数では使われることがあるのか。
mallocもそうだけど、c++じゃあんまり使う機会がなさそうだな。void *
0323デフォルトの名無しさん
NGNGうん。ほとんど使う機会がない。ガンガン使っているとしたら設計に問題があるかも。
0324デフォルトの名無しさん
NGNGtemplateがあるからな。
0325デフォルトの名無しさん
NGNGtemplate は関係ない。
0326デフォルトの名無しさん
NGNGやってみればわかるけど死ぬほど面倒だよそれ。
0327デフォルトの名無しさん
NGNGEvent - Listener モデル使えば?
0328デフォルトの名無しさん
NGNGmemcpyじゃなくてstd::copyを使うってことだと思うが、関係ないのか?
0329デフォルトの名無しさん
NGNGたとえばイベントがn個あるなら、
class EventListener {
virtual handleE_0() = 0;
virtual handleE_n() = 0;
};
みたいなクラスを作って、イベントの影響を受けるクラスで、
これを実装しておけばいいだろ。
0331デフォルトの名無しさん
NGNG知らず知らずのうちに使っているはず。
抽象化や隠蔽化する際にはとても重要だ。
たとえば、もしキミがGetModuleHandleを直接または間接に呼び出したとする。
ハイ、使いましたね。 → typedef void * HMODULE
でもGetModuleHandleを呼ぶとき、モジュール構造体がどうなっているかなんて
考えないでしょ?
たとえば、もしキミがCreateProcessを直接または間接に呼び出したとする。
ハイ、使いましたね。 → typedef void * HANDLE
でもCreateProcessを呼ぶとき、オブジェクト構造体がどうなっているかなんて
考えないでしょ?
たとえば、もしキミが...(以下省略)
いっぱいあるよ。
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG????????????????????????????????
???memcpy()?????????????
?????????????????????????????
memset()????"????????????????"????????????
???????
0334デフォルトの名無しさん
NGNGstd::copy を使っても、シーケンスの operator=() で memcpy が使われているかも
知れないし、std::copy を使わなくても、unsigned char * としてバイナリ・イメージを
コピーすることはできる。
ようは、void * と template とは関係がない。
0335デフォルトの名無しさん
NGNGなんで?になってるの?
0336デフォルトの名無しさん
NGNGWindowsに偏ってるのがイマイチだ。
0337デフォルトの名無しさん
NGNG0338333
NGNG0339デフォルトの名無しさん
NGNG>329のようなクラスの定義・登録・呼び出し・スコープの制御もろもろ全部。
イベント通知・受信のメカニズムが全部むき出しだからとても煩雑になる。
0340デフォルトの名無しさん
NGNGそうか?漏れがmemcpyを使わなくなった理由はstd::copyがあるからなんだが。
だいたい、「operator=() で memcpy が使われているかも知れない」からって、
void*を使ってることにはならんだろ。
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNGstd::copy() が使えるってことは、= 演算子が使えるってことだよね。
なら、memcpy() なんて使わずに、ループでコピーしておけばいいんじゃない?
std::copy() が使えない C でもそれでいけるよ。
0345301
NGNG"is-a" と "has-a"を間違って書いてました。
>「手配 has a 牌」っていうのを、14個分用意している。
これって駄目ですか?
>ストラテジーパターンについて学んでおけ。
なかなかインターネットで見つかりません^^;
googleで検索しても数件しかヒットしませんでした。
本屋で、デザインパターンについて調べたら見つかりそうですか?
移動用クラスってのは、行列をたくさん集めたやつです。
・回転用行列
・移動用行列
・拡大用行列
ってかんじです。
別に「牌クラス」に記述する必要はあまりないですね・・・
クラスの外に宣言してやってみます。
0346デフォルトの名無しさん
NGNGCreateProcess() で得られたものと GetModuleHandle() で得られたものって、
同じようにアクセスしていいの?
つか、"抽象化"って言葉の意味や"隠蔽"の概念は知っているの?
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNGMFCの解説でも読んで、自分が実装してる気になってんだろ。春だしな。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG0353320
NGNGそういう話なら、mapを実装に使うクラスでラップすればいいだろ。
もとの話し見たら、「仮想関数あるから関数ポインタいらね」って話だったのね。
確かに、仮想関数だけじゃHandler型の実装には役不足だなぁ。
しかし、実装に使うにしても「関数ポインタ」が
表に現れないように実装するのがマナーだろうな。
0354デフォルトの名無しさん
NGNGhas-aで表現することは正しい。
0355デフォルトの名無しさん
NGNGMFCは"なんちゃってC++"なのはともかく、WTLはどう思いますか?
MFCよりもマシなC++の使い方してると思いますか?
0356デフォルトの名無しさん
NGNGが出てきちゃったりするんだね。
C とかから API アクセスできなくてもいいんなら、Win32 API を OO で設計することが
できるから、void * なんて出てきやしないよ。
0357デフォルトの名無しさん
NGNGvoid * が出てくる可能性は高くなる。だって OO じゃないから。
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGもっと楽だ。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG作ったことがない達人気取りの厨房は、ママのおっぱいでも飲んで早く寝なさい。
...全く信じられんな、こいつらは。
どうせVBやDelphiで作っても大して変わらないようなGUIアプリしか
作ったことないんだろうな。...可哀想に。
合掌。
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGやっぱり厨房だな
合掌。
0366デフォルトの名無しさん
NGNGDLLを作ったことがあるのが達人?
DLLを作るのって、そんなにすごいの?
0367デフォルトの名無しさん
NGNG>> ...全く信じられんな、こいつらは。
>> どうせVBやDelphiで作っても大して変わらないようなGUIアプリしか
>> 作ったことないんだろうな。...可哀想に。
開発環境に強く依存するようなGUIアプリを開発すると幸せになれるんですか?
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG全然すごくないが、少なくとも>>361の言うようなDLLを作るときには、
void*や関数ポインタがよく出てくる。
0370デフォルトの名無しさん
NGNG単にDLLを作るだけならマニュアルを読む能力があるかどうかぐらい
0371デフォルトの名無しさん
NGNG>データ構造を隠蔽化して機能をエクスポートするようなDLL
なんだか覚えたての言葉を無理に使ってるようで、微妙に変だが、
「データ構造を隠蔽して機能をエクスポート」してないDLLってあるの?
ちょっといじめすぎちゃったかな、俺?
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG変数dllexportしまくりなDLLとか(藁
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGその不便さに気づいてない奴も糞。」という結論でよろしいか?
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGまずいのはDLLの仕様であってC++ではないと思う。
ぼろが出るといやなんであんまり具体的には書かんが。
0381デフォルトの名無しさん
NGNGじゃあ俺がぼろを出す覚悟で代わりに書いてやるよ。
0382デフォルトの名無しさん
NGNGQtのsignal/slotなんてのは、関数ポインタへの回帰だと
思うが。クラス単位でなく、オブジェクト単位での関係
を表したい時は、やっぱり関数ポインタの方が直観的
だし、既存の継承階層をいじらずに済むだけ柔軟性も
高いと思う。
0383デフォルトの名無しさん
NGNG言語やコンパイラによる縛りが関数単体でexportしている現在より強く出てしまうのではないかなあ。
関数だけだと、呼びだし規約程度しか迷うところが無いけど、
クラスだと、VMTのレイアウトやnew/deleteの挙動を揃えないといけないから。
0384デフォルトの名無しさん
NGNGCOM はそうなっている。
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGその new や delete の、クラスごとに異なる部分って言うのは、
どこに揃えられると期待してますか?
0387デフォルトの名無しさん
NGNGエクスポートされたクラスのユーザが、そのクラスのVMTのレイアウトまで
知る必要があるの?
COMを使うのってそんなに大変?
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGWindows ならこれで OK。
template<class T>
class myallocator<T> {
IMalloc *pMalloc;
public:
myallocator() { CoGetMalloc(&pMalloc); }
~myallocator() { pMalloc->Release(); }
allocate(...) { return pMalloc->Alloc(...); }
deaclloacte(...) { pMalloc->Free(...); }
};
0390デフォルトの名無しさん
NGNG大丈夫です。Windows 上の VTABLE は事実上 COM 規格で統一されています。
0391デフォルトの名無しさん
NGNGGNAT(gccのAda)のVTABLEは、少しずれる(先頭に8バイトのメタクラス情報が入る)ので、
直接COMを使えませんでした…。
(C++と関係無い話でごめん)
0392デフォルトの名無しさん
NGNGこんな感じですかね。
http://www.tietew.jp/cppll/archive/1907
0393デフォルトの名無しさん
NGNGXerces-C の XMLString::release() の実装を見ればわかりますよ。
0394デフォルトの名無しさん
NGNGコピーしたらあぼーん。
0395デフォルトの名無しさん
NGNGそうそう。(探してた情報が…サンクス)
あれ?ということは、Adaに限らずgccを使った場合はC++もダメ?
0396デフォルトの名無しさん
NGNGそんくらいにしとかないとぶっ殺しますよ。
つか、最低限、引用しろやコピペ野郎。その上、わざわざageで? 馬鹿じゃねえの?
0397デフォルトの名無しさん
NGNGだめですね。
0398デフォルトの名無しさん
NGNG名無しに名無しで何言ってんだ。
「おまえら」ってことはコピペが複数あんのか?どれがコピペ?
自分で考えたかのように語って誰かが得したり損したりするほどの内容は見当たらないが。
本人が「見て見て〜」ってageで書いてたりしたら面白いな。
0399デフォルトの名無しさん
NGNGネタにネタレスカコワルイ!
0400デフォルトの名無しさん
NGNGlpDirectDraw->lpVtbl->Release(lpDirectDraw);とかやっていたのだろうか
0401談 ◆TJ9qoWuqvA
NGNG0402デフォルトの名無しさん
NGNGこのスレは終了しました。
0403デフォルトの名無しさん
NGNGCが手続型言語といわれる意味はなんとなくわかる。
だけど俺にはC++ってのはCにクラス機能が付いた程度にしか
思えないので、どうしてそれが非手続型なのかがわからない。
どなたかわかりやすく教えてくれろ。
0404デフォルトの名無しさん
NGNG> C++が非手続型言語といわれる意味がわからない。
どこに書いてあるのでしょか
0405デフォルトの名無しさん
NGNGとりあえず、憂鬱本でも読んどけ
0406デフォルトの名無しさん
NGNG"非手続型"ってじゃあ何型なんだ
0407デフォルトの名無しさん
NGNGIDirectDraw_Release(lpDirectDraw) みたいにマクロが用意されてる。
0408デフォルトの名無しさん
NGNGそれがわかったところでなにかうれしいことがあるかい?
漏れにはどうでもいいことだとしか思えないが
0409デフォルトの名無しさん
NGNG死ね
0410デフォルトの名無しさん
NGNGつうほうしといたよw
あーあww
死ねとか逝っちゃたねwww
ひろしにIP提出されてタイーホwwww
みじめだねーwwwww
0411デフォルトの名無しさん
NGNGさくらももこの父親か?
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGtypedef NullPointerExeption Nullpo;
class ( ´∀`){
public:
Nullpo* ぬるぽ(){
return hammer_cast<Nullpo*>( ガッ );
}
}
0418デフォルトの名無しさん
NGNG今VC++でWin32のアプリを作っているんですが、その自身の中で、
「自分のファイルネーム」って、どうやって取得したらええんでしょうか。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGちなみにBCBだとApplication->ExeNameに入ってたり‥‥)
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNGtypeidでgoogle
0425デフォルトの名無しさん
NGNGデフォルトで例外処理機構を有効にすると、なにか不都合なことがあるんでしょうか。
最適化の妨げになるとか・・・
0426デフォルトの名無しさん
NGNG心配するな、お前が考えている「例外処理」は常に有効だ。
(なんでヘルプを読まんのか...。)
0427デフォルトの名無しさん
NGNGcl /?とやっても-GXに関するヘルプは表示されないけど。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGこのオプションは、extern C 関数が例外をスローしないと想定して、同期例外処理を有効にします。これは、/EHsc と同じです。
はぁ・・・よくわかんね。
0430デフォルトの名無しさん
NGNG-GXと/GXは同じだ馬鹿
0431デフォルトの名無しさん
NGNGよくわからないなら、まだお前には関係ないということだ。
そのままにしておくのが吉。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNGargv[0]
0436デフォルトの名無しさん
NGNGどうやって組めば良いですか??
0437デフォルトの名無しさん
NGNGそれで合ってる。問題ない。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGむしろこっちが聞きたい
強いて点をつけるなら満点だよ 自信持て
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNGstring s1="abcdefg123456789";
char *c1;
s1.copy(c1,6,0);
どうしてでしょう。
どうかよろしくお願いします。
0445デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNGstring s1="";
string s2="";
string vs1="abcdefg123456789";
char *c1;
c1 = (char *)s1.c_str();
vs1.copy(c1,6,0);
s2=s1;
s1のなかには"abcdef"が入っているのに、s2の中身は""です。
なぜなのでしょうか?
0448デフォルトの名無しさん
NGNGなんでc_strがconst char*を返すのか考えろ。
s1.c_str()が返すポインタの先にたまたまメモリが確保されてただけの話。
0449デフォルトの名無しさん
NGNG俺も前それやったが、
vs1.copyの行で、そういう風にコピーすると s1の領域(size)が変更されない
(しかも、s1文字列がNULLで終わるかどうかわからない)
ので、
s2=s1の行で最初に指定されたsizeの分しかコピーしない。
この場合だとNULL文字1文字分か、0文字しかコピーされないので
s2は""になる。
0451447
NGNGstring s2="";
string vs1="abcdefg123456789";
int n=6;
char *c1=new char[n];
vs1.copy( c1,n,0);
s2=s1=c1;
これでできたみたい。これでいいのでしょうか。
ご迷惑をおかけいたしました。
0452デフォルトの名無しさん
NGNG良いと言えば良いけど、何でそんなことする必要があるの?
substr使えばいいじゃん。
0453447
NGNG0454デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG質問する人はトリップ付けた方がいいと思うよ
捨てトリップでかまわないので
0457デフォルトの名無しさん
NGNGなぜ、char*を使う必要があるのか疑問なのだが?
0458デフォルトの名無しさん
NGNG0459447
NGNG>>457
copyメソッドの引数の型がchar*だったのでって単純な理由なのですが。
>>458
その文の意味はつまり、substrを使えばいいのにってことで理解すればいいですか?
0460デフォルトの名無しさん
NGNG基本的に同種のコンテナなら、それをそのままコピーするメソッドがあるから
stringの場合char*を使う必要はないと思われ。
substr使わなくても
string vs1="abcdefg123456789";
string s1( vs1, 0, 6);
か
string s1= "";
string vs1="abcdefg123456789";
s1.assign( vs1, 0, 6);
でいいんじゃない?
ところで、char* を引数にとるAPIにstring入れる場合て
int size = 10;
string str(size);
hoge_API( const_cast<char*>(str.data()), str.size() );
とかって、やったりしてるんだけど、やっぱテンポラリな配列なりなんなり作成して
ポインタ代入したほうがよろしいのでしょうか?
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNGprivate:
int m_a;
public:
Set(int a){ m_a = a; }
};
class BBB {
private:
AAA m_aaa;
public:
AAA GetAAA(){ return m_aaa; }
};
class CCC {
private:
BBB m_bbb[100];
public:
Insert(int i){ m_bbb[i].GetAAA().Set(100); }
};
0464つづき
NGNGの値が変わりません。なぜでしょう・・・
テストにクラス中のprivate:をpublic:に変えて、
直接代入してみましたところ、ちゃんと値が変わりました。
どこかが致命的に間違っていると思うのですが、グーグルでは調べきれなかったので
皆様の力を貸していただきたいです。お願いします。
(かなり簡単化したので、このプログラム自体にあまり意味はありません。)
0465デフォルトの名無しさん
NGNGコピーを返しているから。参照返せ。
0466464
NGNGありがとうございました^^
0467デフォルトの名無しさん
NGNGクラスのメンバにクラスのインスタンスは持たせないほうがいいと思うが・・・。
比較的小さいのならともかく、 operator= の実装がめんどくさそうな位
でかいクラスなら、ポインタもたしたほうがよくないか?
0468464
NGNGあまりわかりませんが、
class CCC {
private:
BBB *m_bbb;
};
こういう風にするんですか?
よろしくお願いします。
0469467
NGNGBBB *m_bbb;
としてコンストラクタで
CCC::CCC(int n)
{
m_bbb = new BBB[n];
}
としていますが。
0470464
NGNG0471デフォルトの名無しさん
NGNG>>470
ちゃんとメモリリークの対策してればそれでよいと思う。
データを共有しても問題ないのなら、
参照回数計測を実装したポンタのラッパークラスのテンプレートを使うとベターかな。
場合にもよるけど。
0472471
NGNGポインタですた。
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGC++ではどういうことなんでしょう。
それとも、これって、Javaマンセー厨のごたく?
0476デフォルトの名無しさん
NGNG言語は関係ない話だろ。
0477デフォルトの名無しさん
NGNGで、どーゆー話?
0478デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/ja/vbcn7/html/vaconWhenUseInheritance.asp
http://www.microsoft.com/japan/msdn/library/ja/vbcn7/html/vaconWhenToUseInterfaces.asp
0479デフォルトの名無しさん
NGNG「実装の継承」はダメって云われたら
private 継承の立つ瀬が無いような気がする。
0480470
NGNGもちろんデストラクタで、delete [] m_BBB; で開放しています。
>参照回数計測を実装したポインタのラッパークラスのテンプレートを使うとベターかな。
どんな利点がありますか?
0481デフォルトの名無しさん
NGNGデストラクタで、delete [] m_BBB; で開放する必要が無くなる
コピーコンストラクタを特に書く必要が無くなる
代入演算子を特に書く必要が無くなる
他いろいろ
0482デフォルトの名無しさん
NGNG具体的な例は「プログラミング言語C++第3版」のP347以降を読むといいよ。
0483デフォルトの名無しさん
NGNGPNGの解凍をしてGraphics::TBitmapで利用できる形にしたいのですが
GLDPNGは使用条件の関連でアウトなんで
何か簡単な方法ってないでしょうか?
読み込みだけでいいんで・・・
SUSIEも考えたんですが別途SUSIEプラグイン用意しろっていうのも
なんなんで・・・
よろしくおねがいします
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNGスマソ・・該当スレが見つかったんでそちらに移動します
0486デフォルトの名無しさん
NGNGつーか、それVBだからじゃねーの?
0487デフォルトの名無しさん
NGNGC++の言葉にはない。
と言っておこう。
0489デフォルトの名無しさん
NGNGboostを使うべし
ttp://www.boost.org
解説
ttp://www.kmonos.net/alang/boost/
0490488
NGNGありがとうございます。
やっぱり便利なものは世界の誰かが作ってるもんですね。
こういうライブラリって皆さん使ってるんですか?
ラッパークラスっていうぐらいだから、自分が作ったスーパークラスから
派生させたクラスだと思いました。
0491デフォルトの名無しさん
NGNG載ってる香具師でいいんですか?
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG便利といえば便利だが、仕様をしらないで使ってるとはまるので気をつけるべし。
とりあえず、template、参照、継承あたりをきちんと理解してから使ったほうがいいと思われ。
あとは、キャストかな?
dynamic_cast,const_cast,static_cast,reintrupt_castとか大丈夫?
あと、stlが使えることが前提条件かな?
0495デフォルトの名無しさん
NGNG...大丈夫?
0496デフォルトの名無しさん
NGNG再割り込みキャスト?
0497494
NGNGあんまつかわんから、大丈夫じゃねーや。
回線きって(略
0498デフォルトの名無しさん
NGNG.NET Microsoft Framework SDK で、C言語のソースを
コンパイルする方法を教えてください。
0499492
NGNGどうやればいいのかわかりませんがやってみます
ありがとうございます
0500デフォルトの名無しさん
NGNGてきとーにパス通してDOS窓から
cl aiueo.c
>>499
boost::bind とか、あるいは std::mem_fun + std::bind1st とか。
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG何だい、それは?
フリーの Borland C++ Compiler のこと?
0503デフォルトの名無しさん
NGNGインタプリタ?
フロントエンド?
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGRPGツクール
0506デフォルトの名無しさん
NGNGそのものがコンパイラ。
0507デフォルトの名無しさん
NGNGアホな質問で悪いが、private継承ってどんなときに使えばいい?
0509デフォルトの名無しさん
NGNG親の顔を絶対に人に知られたくないとき。
0510デフォルトの名無しさん
NGNG似たような機能は関数ポインタ使えば出来る。
ただ、インスタンスメソッドに対してデリゲートと同じようなことしようと思うとかなり面倒。
一応、関数オブジェクトを作れば可能だけど。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG0514名無し
NGNG0516デフォルトの名無しさん
NGNG{
protected:
int n;
};
class D : public B
{
public:
D( B const& rhs )
{
n = 1;// ok
n = rhs.n;// error
}
};
↑のようなアクセスがエラーになります。
自分のn(this->n)にはアクセスできるのに、
他のインスタンスのn(rhs.n)にはアクセスできないということでしょうか?
ちなみに、cygwinのgcc3.2で、エラーメッセージは
: In constructor `D::D(const B&)':
:4: `int B::n' is protected
:12: within this context
となります。
0517デフォルトの名無しさん
NGNGC#ではシグネチャの一致するメソッドを変数のように扱える仕組み?
じゃなかったか
0518デフォルトの名無しさん
NGNGC++BuilderとかVC7のpropertyと何か違うの?
0519よねちん。
NGNGclass Slave{
public:
Slave(int in);
};
class Master{
private:
class Slave salve[10];
public:
Master() : ???? {};
// ↑ここでslaveクラス配列のコンストラクタに引数を渡したい
};
initializeでSLAVEクラスを初期化したいときは、
どのように記述したらいいんでつか??
0520よねちん。
NGNGinitilizerでつ。
0521デフォルトの名無しさん
NGNGできない。
コピーできるクラスなら、vector使えばいいかもしれない。
0522デフォルトの名無しさん
NGNGポインタの配列にしてひとつづつ初期化するしか
0523デフォルトの名無しさん
NGNGttp://www.parashift.com/c++-faq-lite/ctors.html#faq-10.5
0524よねちん。
NGNG見てみまつ。
0525デフォルトの名無しさん
NGNGBのnはprotectedだから。
仮にDと共通の先祖を持つ
class Z ; public B
{
}
があって
DのコンストラクタにZを渡すとき、DがZのnにアクセスできちゃマズーでしょ?
0526516
NGNGうーん、そうかぁ。そうだなぁ。
やっぱ中途半端はよくないな。
protectedイラネ。
0527デフォルトの名無しさん
NGNG0528( ´Д`)/< 先生!!こんなのが有りますた。
NGNGhttp://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku01.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/hankaku/hankaku09.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku05.html
0529デフォルトの名無しさん
NGNGclass A {
public:
void func1();
void func2();
}
class AExcuter {
private:
A* a;
public:
AExcuter( A* _a ) : a(_a) {}
void func1() { a->func1(); }
}
Aの所有者以外は AExcuter を渡してスッキリとしたいのですが,なんか鬱陶しいんです。
こういうことしますか?
0530デフォルトの名無しさん
NGNG0531529
NGNGclass A1 {
virtual void func1() = 0
}
class A : public A1 {
public:
void func1();
void func2();
}
で
A a;
A1* pa = a;
ってことかな。このキャストはどうなんだろう。
とりあえず実行は出来ました。
勉強してきます。どうも。
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG0534529
NGNG多重継承とインターフェースっていろいろ組み合わせられて便利でしょ
くらいにしか思ってなかったので感激です。
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGcout << boost::format("%1% %2%") % "hello" % 100 << endl;
こんなのとか
std::list<int> hoge;
enum_start(hoge), 1, 2, 3, 4, 5, enum_end();
こんな書き方までできちゃうということかなぁ?
やっぱ演算子の多重定義って嬉々として使うもんじゃないのでは
ないかと。
複素数の四則演算やデバッグ用の << とか以外だとどんな使い方
が定番なのかな。まず業務系ではお目にかからないもので。
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG代入するより楽なとこがイイ。
0541r
NGNGclass ExceptionThrower {
int r_,s_;
public:
ExceptionThrower(int r) : r_(r) {}
operator =(int r) {
if( ( s_ = r ) != r_ )
throw std::exception();
}
};
// intを返すAPIとかを多用する時に使う。
void foo() {
ExceptionThrower ret( 0 );
ret = int_return_API();
}
// 代入演算子は、結構優先順位が低いから。
0542デフォルトの名無しさん
NGNG便利そうじゃねーか
boostに入ってるの?
0543デフォルトの名無しさん
NGNG配列っぽいオブジェクトの [] とか関数っぽいオブジェクトの () とか
ポインタっぽいオブジェクトの *, -> も定番だろう。
>>536
for_each( v.begin(), v.end(), cout << _1 << '\n' );
とか?
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGhttp://www.tietew.jp/cppll/archive/364
http://www.cs.auc.dk/%7Enesotto/init/
http://www.kmonos.net/alang/klx/
らへん。boostのMLで話題になったこともあるけど結局流れてたような。
0546デフォルトの名無しさん
NGNG.NET Frawork Microsoft SDK で、C++を
コンパイル・実行したいのですが、
拡張子とコンパイルコマンドを教えてください。
0547デフォルトの名無しさん
NGNGもしもVS6.0と同じなら、.cpp cl.exe
0548デフォルトの名無しさん
NGNG(´-`).。oO(どーでもいいが、.NET SDKのやつはiostreamとかついてないぞ‥‥)
(´-`).。oO(stdioとかはあるけどね‥‥)
0549デフォルトの名無しさん
NGNGC++というよりC?
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG.NET Frawork Microsoft SDK で、C++を
コンパイル・実行したいのですが、
拡張子とコンパイルコマンドを教えてください。
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNGこんな(いろんな型が並んでいる)構造体について、
bool operator < ( X const& lhs , X const& rhs );
をa,b,c,d,...の順で辞書順として定義したいのですが、
return lhs.a < rhs.b || ( !( lhs.a < rhs.a ) && ( lhs.b < rhs.b || ( ! ....
となって、括弧がどんどん深くなってしまいます。
現状は、この書き方でものすごいソースになってしまっているのですが、
もっと綺麗な書き方はないでしょうか?
0554デフォルトの名無しさん
NGNG普通に...
if(lhs.a != rhs.a) return lhs.a < rhs.a;
if(lhs.b != rhs.b) return lhs.b < rhs.b;
if(lhs.c != rhs.c) return lhs.c < rhs.c;
...
じゃダメなのか ?
うーん、俺の周りではあまり使わないですね。そもそも例外処理
自体を理解している人がいない (俺も含めて) ので、普通に
int にステータス割り当てて値を返すコーディングがほとんどです。
>>543
そうか! 確かに [] は使いますね。漏れはこういうのを定義する側
というより、すでに定義されているクラスライブラリを使う側ですけ
ど。
0557デフォルトの名無しさん
NGNG> operator < だけ使う、ということにしたいのです。
それ無理じゃん。
struct X { int a, b; };
の場合でいいから、あんたの書き方で書いてみなよ。
0558553
NGNGbool operator < ( X const& lhs , X const& rhs )
{
return lhs.a < rhs.a || ( !( rhs.a < lhs.a ) && lhs.b < rhs.b );
}
0559デフォルトの名無しさん
NGNGhttp://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost-sandbox/boost-sandbox/boost/utility/lexicographic.hpp?rev=HEAD&content-type=text/vnd.viewcvs-markup
return lexicographic( lhs.a, rhs.a )( lhs.b, rhs.b )( lhs.c, rhs.c )( lhs.d, rhs.d ) ...;
当然ショートサーキット評価はされないので注意が必要なこともある。
0560559
NGNG0561553
NGNGふーむ。そんなものが作られてるってことは、
道具無しで綺麗に書くのはどうやらできないみたいですねぇ。
結構最近できた奴みたいですな。
リリースされてたら使うところだけども、
今回は気合のソースとコメントで見送っとこう。
ありがとうございました。
0562559
NGNGあるいはマクロが嫌いでなけりゃ
#define COMPARE_BY(X) if(lhs.X<rhs.X) return true; if(rhs.X<lhs.X) return false
COMPARE_BY( a );
COMPARE_BY( b );
COMPARE_BY( c );
...
COMPARE_BY( z );
return false;
#undef COMPARE_BY
とかどーよ。
0563553
NGNGマクロは嫌いだけど、便利に使って#undefするなら問題なし。
そっか、operator < の定義なら途中でreturnも問題ないし、それがいーな。
重ね重ね、ありがとうです。
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG三項演算子は?
0567デフォルトの名無しさん
NGNGどうするのがよいですか?
typedef boost::shared_ptr<hoge> HogeSharedPtr;
class hoge
{
int value_;
public:
int GetValue() const { return value_; }
void SetValue(int value) { value_ = value; }
}
void main()
{
vector<HogeSharedPtr> hoges;
for(int i=0; i<50; i++)
{
HogeSharedPtr p = HogeSharedPtr(new hoge());
foo->SetValue(i);
hoges.push_back(p);
}
int target_value = 27;
vector<HogeSharedPtr>::iterator it = ????????????????????????
}
0568567
NGNG値1個取り出すのにファンクタ作るのも面倒だし汚い気がするので、
ファンクタクラスを作らずにできるだけboost無しでも出来る方法を教えて下さい。
class HogeValueCompare
{
int value_;
public:
inline HogeValueCompare(int value) { value_ = value; }
inline bool operator() (boost::shared_ptr<hoge> a)
{
return a->GetValue() == value_;
}
};
vector<HogeSharedPtr>::iterator it = std::find_if(
hoges.begin(), hoges.end(), HogeValueCompare(target_value));
0569デフォルトの名無しさん
NGNGwhile( it != hoges.end() && (*it)->GetValue() != target_value ) ++it;
0570デフォルトの名無しさん
NGNGループ回すのは良くないとかEffectiveSTLに書いてあるので…
bind1st,bind2nd,equal_to,mem_funあたりでなんとか出来ない物でしょうか?
0571デフォルトの名無しさん
NGNGvector<HogeSharedPtr>::iterator it = std::find_if(
hoges.begin(), hoges.end(), equal_to(mem_fun(&hoge::GetValue), target_value)
みたいな感じでできないか知りたいのです。これはコンパイル通りませんが。
0572569
NGNG> ループ回すのは良くないとかEffectiveSTLに書いてある
書いてあるのを理由にしてるのか?本質を見るのを忘れるなよ。
> bind1st,bind2nd,equal_to,mem_funあたりでなんとか出来ない物でしょうか?
望みの動作には関数の合成が必要。標準には無い。
shared_ptr使っといてboost無しってのもおかしな話だな。
0573デフォルトの名無しさん
NGNGありがとうございます。
boostのcomposeあたりを使うのですよね。
shared_ptrは使ってる人が多いイメージがあるんですが、
composeはほとんど使っている人がいないし、
使うだけでノーマルなC++から離れていくイメージがあったので…
やはりcompose無しでは無理ですか。分かりました。
0574デフォルトの名無しさん
NGNGclass Hoge {
public:
static const void* NURUPO = 0;
static const double PI = 3.141592653589793238462;
};
これは言語自体の制限なんでしょうか? それともVC++の制限?
マクロで定数を定義するのは非推奨らしいので、
普通にこれがヘッダで通ってマクロ同様に展開してくれないと不便だと思うんですが。
0575デフォルトの名無しさん
NGNGVC++のバグだから安心して良いよ。
0576デフォルトの名無しさん
NGNGまあ
class Hoge {
public:
static const void* NURUPO;
static const double PI;
};
const void* Hoge::NURUPO = 0;
const double Hoge::PI = 3.141592653589793238462;
なら通ると思うけど、不便だあね
0577デフォルトの名無しさん
NGNGstatic const int だけじゃなかった?
0578577
NGNGブロック内での静的メンバの初期化
0579デフォルトの名無しさん
NGNGbool
char
wchar_t
符号有り無しの整数型
enum型
なので、>>575は間違い。
0582デフォルトの名無しさん
NGNGそれとも、deleteするまで開放されないのでしょうか?
よろしくお願いします。
0583デフォルトの名無しさん
NGNG0584582
NGNGつまり、確保した領域を指すポインタを受け取れば、
newがあった関数がなくなってもその領域を利用できるというわけですね。
そのポインタを使って、他の関数からdeleteもできるのですね。
ありがとうございました。
0585デフォルトの名無しさん
NGNG(´-`);y=~~ .。oO(mallocとfree考えりゃ当然そうなるだろ‥‥)
0586デフォルトの名無しさん
NGNGそのセミコロンは何?
0587585
NGNG0588デフォルトの名無しさん
NGNG「インクルードファイル「stdafx.h」がありません」エラーが出ます。
で、こいつについて調べ、プリコンパイル済ヘッダってコトまではわかったのですが、
どの資料を見ても、「自動で生成される」と、書いてありました。
で、VC++の設定いじってみて、「プリコンパイル済ヘッダを使用」にチェックも入れてみたのですが、コンパイルできません…
どなたか、対処法を教授ください…
0591デフォルトの名無しさん
NGNGどうやって調べるんでしょう。
0592デフォルトの名無しさん
NGNGふつーに
if(fopen("hoge.txt","r")){
puts("ファイルが存在しますYO!");
}
じゃいかんのか?
0593デフォルトの名無しさん
NGNGWin32なら
GetFileAttributesの戻り血を調べるとかね
0594デフォルトの名無しさん
NGNGpublic:
void func(void);
};
template<typename X, typename Y> void A<X,Y>::func(void){}
template<typename X> void A<X,char>::func(void){}
template<typename X> void A<X,double>::func(void){}
の様な部分特殊化って出来ないの?
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG0597594
NGNG0598LogWindow
NGNG594はC++の前でしくしくと泣き出した!
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGかわいそうに。使いこなせないのか
0601594
NGNG0602デフォルトの名無しさん
NGNGどの開発環境使うと良いですか?
あんま金ないのでBorland の1万のヤツ買おうかと思ってますが、、
0603デフォルトの名無しさん
NGNGおまえはハゲだ
0604デフォルトの名無しさん
NGNGなんかいい方法ある?
0605デフォルトの名無しさん
NGNG#define CONSTANT 1.2345
....
#undef CONSTANT
};
0607デフォルトの名無しさん
NGNGCもいいけど最強の開発環境Delphiはいかが。
ただなのでお金が無くても問題ありません。
http://www.borland.co.jp/delphi/personal/
0608デフォルトの名無しさん
NGNG「constは定数か否か論争」をやりたい、ってことでつか?
0609デフォルトの名無しさん
NGNGstatic const double bbbb;
};
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGclass Hoge {
const double PI_;
public:
Hoge() : PI_(3.14) {}
};
0613604
NGNGclass aaaa{
static const double bbbb;
};
const double aaaa::bbbb = 100.0;
で出来た。定義部の方でstaticつけてたらエラー出たんでダメだと思ってた。
みんなスマソ。
0614デフォルトの名無しさん
NGNG#include <iostream>
int main() { std::cout << "hello, world." << std::endl; return 0; }
448506 a.exe
cat > hoge.cpp ; g++ -O2 hoge.cpp ; du -b a.exe
#include <stdio.h>
int main() { ::printf("hello, world.\n"); return 0; }
19221 a.exe
なんで iostream 使うとサイズが数十倍になりますか?
0615デフォルトの名無しさん
NGNGLocaleとかゴニョゴニョあって大変なのよiostreamの中の人は。
0616デフォルトの名無しさん
NGNGはぁ? おまえは逆転の発想もできないのか?
iostreamを使うだけで量が数十倍も増えるなんて、なんてお得!!
0617デフォルトの名無しさん
NGNG-rwxr-xr-x 1 user user 13742 May 2 00:47 cstdio
-rwxr-xr-x 1 user user 15827 May 2 00:48 iostream
だった。あんま変わらんね。cygwinはなんでそんな膨張すんだろか?
0618デフォルトの名無しさん
NGNG40960 cstdio.exe
65536 iostream.exe
0619デフォルトの名無しさん
NGNG52224 cstdiob.exe
113152 iostreamb.exe
0620デフォルトの名無しさん
NGNG37404 cstdiod.exe
364060 iostreamd.exe
dmc 8.29n (default)
37404 cstdiod2.exe
49180 iostreamd2.exe
0621デフォルトの名無しさん
NGNG32768byteになってしまいますた
(;´д`)
0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNGサイズをとるか実行速度をとるか
0624デフォルトの名無しさん
NGNGiostream 64512
stdio 30208
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNGクラス(構造体)の宣言内でのみ using を使う方法はないものでしょうか?
>cat t96.cpp
#include <string>
#include <iostream>
struct T
{
using namespace std;
string s; // std::stringと記述する手間を省きたい
};
int main()
{
using namespace std;
T t;
t.s = "test";
cout << t.s << endl;
return 0;
}
0627626
NGNGt96.cpp:6: parse error before `namespace'
t96.cpp:8: 'string' is used as a type, but is not defined as a type.
t96.cpp: In function `int main()':
t96.cpp:16: `struct T' has no member named `s'
t96.cpp:18: `struct T' has no member named `s'
>bcc32 t96.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
t96.cpp:
エラー E2070 t96.cpp 6: 名前空間 'using' が不正に使われた
*** 1 errors in Compile ***
0628デフォルトの名無しさん
NGNGusing namespace std;
struct T
{
string s;
};
}
using hoge::T;
0629デフォルトの名無しさん
NGNGprivate: typedef std::string string;
とかで我慢しとくとか。
0630デフォルトの名無しさん
NGNGCの標準関数を完全に使いこなせるようになってから移行すべきでしょうか?
将来はC++のプログラマになりたいんですが、時にはCを使う場面も出てきそうなんで迷ってます。
同じような経験を持つ方、ぜひ感想をお聞かせください。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG処理系依存のものまで覚えろとはいわんが、
ANSI関数ぐらい暗記できなきゃ先は無い。
基礎が大事だから、CをもっとじっくりやってからC++をやれ。
0633デフォルトの名無しさん
NGNG0634続き
NGNG0636デフォルトの名無しさん
NGNGうーん、まあ、これは人それぞれかも。
0637630
NGNGわからないことがあればその都度リファレンスブックなんかを見たらいいと思ってましたが
うーん 正直めちゃくちゃC++やりたいんですよね
コンソールアプリでシコシコやるのは平気なんですがちょっとCで次やることが見えなくなってきてるので・・・
0638デフォルトの名無しさん
NGNGCがある程度わかるなら、どんどん先へ進んだ方がいいと思うぞ。
0639デフォルトの名無しさん
NGNGよ う こ そ
チャンチャランチャン チャンチャンチャンチャン♪
0640デフォルトの名無しさん
NGNG基礎的なことがわかっていればとっととC++に移行すべき。
0641デフォルトの名無しさん
NGNGどっぷりCに浸かる前にC++に移行すべき。
0642630
NGNGほんとは行きたかったんですよね でもちょっと不安でした みんなサンクス!
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNG飛ばす必要はない
630がんがれ
0645デフォルトの名無しさん
NGNGかと言って、毎回 malloc() で確保した奴を解放するにはどうしたらいいんだっけ ? とか悩んでいたら、仕事にならんだろ。
詳細は、man/help 見るとして、やりたいことと関数名の対応ぐらいは覚えておいた方がいいと思うけど。
0646630
NGNGmalloc()とかfree()とかはなんとなく覚え始めてます。
GW明けぐらいに本を買ってC++はじめます。 この本を選ぶ瞬間がなんとも言えませんなっ!
一応EffectiveC++でも買おうと思ってます。 ほんと楽しみ
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG必読書スレ(と過去ログ)も参考にすると良い。
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGやっぱりでてきたか...。
そう思って >>645 のメル欄に書いといたんだけど、勝手に釣れちゃうもんなんだな。
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNGC++スレだからなあ
俺もC++ではmalloc使わねーし
0653デフォルトの名無しさん
NGNGC++で十分なような気がする。
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGその6:一見関係ありそうで関係ない話を始める
「boost::poolのmallocメソッドも使わないの?」
0658デフォルトの名無しさん
NGNG一度やってみ。
むっちゃらくだから。
文字列操作とかファイルシステム関係なんて特に。
0659デフォルトの名無しさん
NGNGmonoがモノになれば考えてもいいが
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGc#は使うのは楽だけど(C++にboost,STL,Loki入れればそうでもないが)、
高性能コンテナを作るのだったらテンプレートのある
C++の方がイイと思うんだけど
ベンチマークとってるヤシいる?
0662デフォルトの名無しさん
NGNGごちゃごちゃしすぎてワケわかんね!
これからはC#かJavaだよな、ほんと
0663デフォルトの名無しさん
NGNG領域外への書き込みによるメモリ破壊もないし
意味不明な例外も発生しないし、いいことずくめだよ
0664デフォルトの名無しさん
NGNGそれにくらべてC++は実態とポインタがきちんと区別できるからいい。
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNGわかったから他のスレでやれヴォケ
0669デフォルトの名無しさん
NGNGJavaは起動時から死ぬほどメモリ消費するから
メモリリークなんて気にしなくていいね。
0670デフォルトの名無しさん
NGNGjava コマンドのオプションを見たことないんだ。
0671デフォルトの名無しさん
NGNGユーザーはjavaコマンドのオプションなんてわざわざ見ないよね。
開発者じゃないんだし。
0673デフォルトの名無しさん
NGNG●●JAVAって死滅しちゃうの???? PART6●●
http://pc2.2ch.net/test/read.cgi/tech/1047748598/
0674662-663
NGNG0675デフォルトの名無しさん
NGNG必死な人が多いね。
0676デフォルトの名無しさん
NGNGそれだけ必死なんだろw
頭がかわいそうな奴は無視に限る
0677デフォルトの名無しさん
NGNGC++が嫌なら、AdaやDをお薦めする。
GCあるし、配列の境界チェックもしてくれるよ。
ともかく一度template(Adaだとgenericだけど)を使ってみるがよろし。
0678デフォルトの名無しさん
NGNG厨には何言っても無駄だよ
ハナから使う気がないんだし
0679デフォルトの名無しさん
NGNGfor(int i=0;i<4;i++)
{
strs.push_back("test");
}
cout << strs.at(5) << endl;
これは境界チェックとは言わないの?
0680デフォルトの名無しさん
NGNG俺なら素直にJavaかC#をお勧めするよ。
もちろんGCもあるし、配列の境界チェックもしてくれる。
あと少しでGenericも搭載されるしさ。
0682デフォルトの名無しさん
NGNGそんなことより、無効エリアへのアクセスが問題だと思われ。
0683デフォルトの名無しさん
NGNGそれは境界チェックと言えるかもしれない、
が、
要らぬ輩を召還するような話題はしばらく控えて欲しいもんだな。
0684677
NGNGいやその…俺は別にC++でいいから…
templateイラネ厨に対して、「template使ってみろ」と言う時に、
まさか「サポートされるまで待て」と言うわけにいかんでしょ…
だから現時点で使える言語を挙げたのだが…
はいはい、俺が悪かった。
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG逆にテンプテートがあるから使う価値があるね
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGchar配列とかstringとかAnsiStringとかCStringとかワケワカです。
他にも文字列型ありますか?
どう違って何がいいんですか?
UNICODE使うときはどーしたらいいですか?
0693デフォルトの名無しさん
NGNGAnsiString…VCLを使うとき
CString…ATL,WTL,MF(ryを使う時
UNICODE使うときは
basic_string<wchar_t>
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGこれだけ使ってればどこでも動くってことでおけ?
あとは用なしですね?
0698デフォルトの名無しさん
NGNGでもIntToStrはboost::lexical_castよりもタイプ数が少なくて便利なので、
std::string("No.:") + IntToStr(number_).c_str()のように使おう。
これをVCLオブジェクトにAnsiStringで渡さなければならなくなったら、
AnsiString((std::string("No.:") + IntToStr(number_).c_str()).c_str())のようにして渡そう。
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG処理系依存。イヤ。
0701デフォルトの名無しさん
NGNGchar*とsprintfで頑張って下さい。
0702デフォルトの名無しさん
NGNG退化しちゃってんじゃん
0703デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/linux/1051890709/l50
http://sourceforge.jp/projects/linny/
http://linny.sourceforge.jp/
Janeなみの2chブラウザすらつくれないやつらにつくれるわけねーだろ(ゲラゲラg
0704デフォルトの名無しさん
NGNGおい! char*以外は処理系依存なのかよ!?
string、wstringってバグ大丈夫〜?
0705デフォルトの名無しさん
NGNG698のVCLのことを言ってるのだと思われ
boost::format("%1%%2%") % "No.:" % number;
でいいじゃん。
CString::FormatのようなCの可変引数の実装はC++では歓迎されない。
0706デフォルトの名無しさん
NGNGchar *p;
p=new char[100];
...
p=new char[200];
それとも、newの一回目の分は確保されっぱなしでdeleteするまで無駄な領域として放置されるのですか?
deleteしないでnewがある関数を何回も呼び続けたら、メモリが無くなってしまうのでしょうか?
このあたりのことが、調べても見つかりません。どうかよろしくお願いします。
0707デフォルトの名無しさん
NGNGそれを「メモリリーク」といいます。
0708デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGってなぁに?
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG終了時にデストラクタは呼ばれないの?
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG> 静的なポインタにnewで突っ込むんじゃねぇだろうな?
違う違う。
そうか。呼ばれるのか。サンキュ。
0720719
NGNG0721デフォルトの名無しさん
NGNGでも生成順がきちんと決められてないのなー。
0722デフォルトの名無しさん
NGNGC++も死滅寸前だけどな
0723デフォルトの名無しさん
NGNGま た お 前 か !
いい加減まきらめろ(プ
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG一番メモリ消費が少ないのはvectorとlistどちらですか?
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGmap>set>list>deque>vector
と予想できる。
もちろん規格で定まってるわけではない。
0729デフォルトの名無しさん
NGNG多分こうだと思う。 用途が違うのでメモリ使用量を比べてもしょうがない気もするけど
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGありがとうございました。
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNG俺もそう思った(笑)
0735デフォルトの名無しさん
NGNGもし動的に宣言できるならば、それをクラスのメゾットとして宣言するにはどうすればいいのでしょうか?
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
0736デフォルトの名無しさん
NGNGってなぁに?
0737デフォルトの名無しさん
NGNG恐らくスレ違い。
0738デフォルトの名無しさん
NGNGSetWindowLongかSetPropでthisポインタを保持して
メッセージループでGetして使う。
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNGできないの?
3.1のときの本でwinのクラスライブラリ作ろうってやつは普通に性的でないメソッドを渡してたがなあ。
0741デフォルトの名無しさん
NGNGwstringはUnicode系とは限らないし、ましてやUTF-16
なんかになるのはWindowsだけだし、国際化の遅れた
OS、あるいはC/C++ localeを見捨てたOSでは、wchar_tが
飾りで実際には使えないこともある。
というわけで、間違っても「w*を使えばUnicodeで国際化で
みんな幸せ」なんて思わないように。
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNG文字列クラスってあったっけ?
Shift-JISはVC++のCStringがやってくれそうだけど。
0744デフォルトの名無しさん
NGNG0745743
NGNGども。結局VC依存、BC依存になるってことか。
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNG0749746
NGNGなるへそ・・・。
ところで名前がないだけに
namespaceのブロックの外で
void ???::func(){ /*...*/ }
というような関数の定義はできないということ?
0750デフォルトの名無しさん
NGNGvoid func で問題ないのではなかろうか(未確認)。
0751750
NGNG0752デフォルトの名無しさん
NGNG要するに、ファイルに直接
static int a;
とか書くとそのファイル内でしか a にアクセスできないという
ファイルスコープ変数/関数を実現する手段として提供されたのだ。
ファイルごとに違った名前空間名が自動的に与えられるけど、
その名前は実際には使えないような内部名になっている。
だから、namespace { } で囲んだ内部でしか使えないし、
別のファイルからは決して参照できない。
static int a; と書くのは今のC++では非推奨で、
namespace { int a; } などと書くのが推奨されている。
0753デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdndeepc/htm/deep04062000.asp
0754746
NGNGじゃあ無名の名前空間では関数の定義は中にいれないとだめなんですね・・。
0755752
NGNG> namespace { } で囲んだ内部でしか使えないし、
は
# namespace { } のあるファイルでしか使えず、
だったね。
0756デフォルトの名無しさん
NGNG嘘を教えちゃ駄目だろ
namespace
{
int a;
}
void foo()
{
a=0;
}
こうできる。
0757デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGcase 0:
{
}
break;
でかこむのは常識ですか?
0760デフォルトの名無しさん
NGNG聞くまでもなかろう。
0761デフォルトの名無しさん
NGNG必要になるまでやらない。
囲む場合のインデントによく迷う。
迷った結果、
{
case 0:
{
int n = ...
}
break;
とかに落ち着いたりする。
0762デフォルトの名無しさん
NGNG確かにインデントにはよく迷うな。
共通して使う変数なら
switch(a)
{
int n;
case 0:
...
}
とかできるんだが、初期化忘れとかちょっと恐いので
それぞれのブロックで宣言した方がいい。
0763デフォルトの名無しさん
NGNGcase 0:{}break;
と書いてから中身を書く
0764デフォルトの名無しさん
NGNGBorland C++で、ドラクエみたいなゲームは作れるでしょうか?
0765デフォルトの名無しさん
NGNG煽りのように見えるかもしれませんが、真剣な回答です。
作れます。
0767デフォルトの名無しさん
NGNGBCCでDirectXやWinAPI(GDI)を駆使して
プログラミングするならドラクエもどきは作れる。
けど、結構な努力とそれなりのプログラミング技術が必要。
貴方が作れるかどうかは知らない。
0769デフォルトの名無しさん
NGNG仮想関数を用いた実行時ポリモーフィズム(10章)の説明で、
基本クラス:Base
派生クラス:Derived
として、
Base *pbase = new Base;
....
pbase = new Derived;
とやっているのですが、これは、Base型のオブジェクトに Derive型のオブジェクトを
代入していることになって、成り立つ訳が分かりません。
どういうことでしょう?
また、
Base pbase = new Derive;
のような記述もありました。
0770デフォルトの名無しさん
NGNG「RPGツクール」では、ダ・メ・な・の・か?
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG継承の意味を勉強しなおせとしか言いようがない。
0773デフォルトの名無しさん
NGNGポインタもね。
0774デフォルトの名無しさん
NGNGあとコンストラクタもかな。
0775デフォルトの名無しさん
NGNG「 Base pbase = new Derive; 」
って記述が本当にあったなら、著者があほ。
0776デフォルトの名無しさん
NGNG代入できる。
0777デフォルトの名無しさん
NGNGメモリリークもね。
0779デフォルトの名無しさん
NGNGアフォか?
ポリモーフィズムを実現する手段の話をしてるんだろ。
>>769の「仮想関数を用いた実行時ポリモーフィズム(10章)の説明で」が読めないか?
0780デフォルトの名無しさん
NGNG何故そんなことするか?
何故そんなことするとイイかを考えよ
0781デフォルトの名無しさん
NGNGファイルオープンできずにセグってしまいあたふたしてます(泣
ifstream inst1;
system("awk '{print $1\" \"$2\" \"$3}' inputfile.dat > hoge.dat");
inst1.open("hoge.dat",ios::in);
とかやろうとしてるんですが
fstreambase::open() from /usr/lib/libstdc++.so.3
でセグったとか言われてしまいます。
なんでだか見当もつかないのですがどうしてだかわかる人いませんか〜ToT
0782デフォルトの名無しさん
NGNGってどういう意味なんですか?
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGレスの質が落ちるわけだ。
0785デフォルトの名無しさん
NGNG∧_∧
( ´∀`)< ぬるぽ せぐった
0786デフォルトの名無しさん
NGNGSegmentation Faultかな?
だとしても、そんな妙な省略はしないなあ。
0787デフォルトの名無しさん
NGNGインテル系の用語?
0788デフォルトの名無しさん
NGNGみんなでなかよくセグりんこ!
目・肩・腰にセグりんこ!
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG( ´∀`)< せぐふぉ
0791781
NGNGセグって来ます…
0792デフォルトの名無しさん
NGNGBase *pbase = new Derive;
でした。
標準C++の基礎知識には継承クラスのポインタは基底クラスのポインタに代入できる決まりになっている趣旨の内容がどこにも取り扱われていませんでした。
ダメだなこの本。。。大体読んだのに。。。
だれか良い本紹介して〜。
0793781
NGNGせぐるじゃなくてSegmentation Faultになるということで
教えてください〜よろしくおねがいします〜
0794デフォルトの名無しさん
NGNGまずはsystemの呼び出しをコメントアウトしてみて動くかどうか・・・。
openを使わずにコンストラクタで開くようにしてみるとか・・・。
0795デフォルトの名無しさん
NGNG「詳説C++」でも読んどけ
0796デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>785
0797デフォルトの名無しさん
NGNG何で読まないの?
入門本で要領つかんだらすぐに捨ててこっち読めよ
0798デフォルトの名無しさん
NGNGCA* pca=new CA;
delete pa;
とされた時に、このpaが開放されているか否かを確かめる方法は何か
ありますか?
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNGif(pca==何かの値){開放されていない}
else{開放されている}
みたいな。
0801デフォルトの名無しさん
NGNG本当にシステムに返されているかどうか知りたいわけ?
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGそれって激しく環境依存なのでは?
環境を書くか、その環境専用のスレにゆかなければ答えは得られないのでは。
0804デフォルトの名無しさん
NGNGARM
こんな化石本読むんですか?
0805デフォルトの名無しさん
NGNGvoid func(void){
CA* pca=new CA;
}
void main(void){
func();
}
とやると、このpcaはリークしますが、これが既に何者にも参照されていない
ことを知るにはどのような方法があるのでしょうか?
お願いします。
0806デフォルトの名無しさん
NGNGどんな処理系でも通用する汎用的な方法は無い。
boost::shared_ptr とか使って、そもそもリークしないように汁。
0807デフォルトの名無しさん
NGNGポインタの指す先が何なのかは一般的に不明。
参照先が有効かどうかは、雰囲気で察するしかない。
次のルールで、無効なオブジェクトへのアクセスはなんとなく回避できる。
1. オブジェクトを変更できるポインタは、インスタンスごとに一つしか作らない。
2. deleteしたら、すぐにnullを代入する。
3. オブジェクトを変更しないポインタは、自動変数にする。
スマートポインタについては次の人が説明してくれる。
よろしく↓
0808↑漏れにはムリ
NGNGhttp://www005.upp.so-net.ne.jp/episteme/html/stlprog/_03.html#ref_auto_ptr
某アーカイバ作者K.INABAによるsmart_ptrの説明
http://www.kmonos.net/alang/boost/smartptr.html
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGvector<object *> objects;
class object
{
object(){ objects.push_back(this);}
~object(){ objects.erase(find(objects.begin(),objects.end(),this)); }
};
ほれ、全てのクラスをこれから継承しろ。 これでできるだろ。
・・・できますか?
0811デフォルトの名無しさん
NGNGそれじゃあ参照されてるかどうか分からないよ?
0812デフォルトの名無しさん
NGNGむほっ >>800の質問に答えてた。 後のレスをあんま読んでなかった。
0813デフォルトの名無しさん
NGNGあれはデバッグウインドウに出るだけでは?
というかauto_ptrとか使わずにそういうのを作るっていうのは
つまりはガベージコレクタを作るっていうのと同じなんじゃぁ・・
0814デフォルトの名無しさん
NGNG_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
これですね。
>>813
どの new でリークしたかと、サイズと、内容も出ます。
でも、デフォルトのまま使うと
crtdbg.h の中でリークしたと出てきます(笑
VC6 のでしか確かめてませんけど、
これはどうしようもないはずなので多分 .NET でもそうなってるはず。
こうして NEW を使うようにするのがいいです。
#include <crtdbg.h>
#define _CRTDBG_MAP_ALLOC
#if defined(_DEBUG) && !defined(NEW)
#define NEW ::new(_NORMAL_BLOCK, __FILE__, __LINE__)
#else
#define NEW new
#endif
0816デフォルトの名無しさん
NGNG別に delete するわけじゃないんで
仮想デストラクタにする必要もないかと。
全部のクラスに仮想関数テーブルがくっつくのもいやだし。
CPoint とか CRect とか...。
あとは、仮想継承しないと鬱陶しい事になるのと、
どこで確保した奴がリークしたのか分からないことかな...。
そして、標準ライブラリなどのクラスには対応できないのと。
0817デフォルトの名無しさん
NGNGそのため、ボタンを押すとコマンドプロンプトの窓が開いて中で(別の場所で)指定した
プログラムをbcc32でコンパイルし、その結果がその窓に残るようにしたいと思います。
ですが、うまくいきません。
CreateProcess( NULL, "bcc32 c:\\hoge.cpp", NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, "c:\\", &si, &pi )
みたいなかんじでbcc32 c:\hoge.cppを実行すると、確かにコンパイルされますが、窓がすぐ閉じてしまいます。
かわりにcmd.exeを実行すると窓は開いたままですが、どうやってbcc32を起動するかがわかりません。
どなたかお願いします。
0818817
NGNGC++Builder相談室に逝きます。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGなるほど。
そういう実装する時は大概最後にリスト辿って解放漏れをdeleteするためだと思ってたもので(汗
確かに継承しないとややこしいことになりますね。
納得です
0821デフォルトの名無しさん
NGNGスレ違いだよ
0822デフォルトの名無しさん
NGNGすれ違いだよ
0823817
NGNGあとちょっとだけ。
>>819さん、ありがとうございます。
あまりの即レスに感激です。
ただ、残念ながら、ためしたところ、やはりコマンド窓はすぐに閉じてしまいました。
もし、対策がありましたら、お願いします。
0824デフォルトの名無しさん
NGNG自分のプログラムのウィンドウに内容を表示した方がカッコよくない?
0826デフォルトの名無しさん
NGNG何なんだろ。
あと、調べてみたら、Windows98 とかでは
エラー出力をそのままではリダイレクトできないみたいね。
0827817
NGNGすみません。
やってみると、一瞬で窓が閉じるのでよくわからない(自分が情けない)のですが、
コンパイラの起動後、リンカまでいっていない感じです。
リダイレクトでできるはずのファイルもできません。
すみません。とりあえず、あきらめます。
0828デフォルトの名無しさん
NGNG#include <iostream>を入れると、
>error LNK2005: "void __cdecl operator delete(void *)" はすでに
>libcpmtd.lib(delop.obj) で定義されています
>fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
>link.exe の実行エラー
というエラーがでまつ。
MSDNでは、マルチスレッド対応してないライブラリが混ざってると。
runtime_errorをキャッチしたいだけなのですが、どうすれば宜しいですか?
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
#include <igraph.h>
int main(void)
{
int i,r;
float th;
double x[5],y[5];
r=100;
th=2*3.1415926535/20;
for(i=0;i<=4;i++){
x[i]=300+r*cos(th);
y[i]=300-r*sin(th);
th=th+(2*3.1415926535)/5;
}
0833デフォルトの名無しさん
NGNGSetLineStyle(PS_SOLID,1);
Line(x[0],y[0],x[2],y[2]);
SetLineColor(CL_BLUE);
SetLineStyle(PS_SOLID,1);
Line(x[0],y[0],x[3],y[3]);
SetLineColor(CL_BLUE);
SetLineStyle(PS_SOLID,1);
Line(x[1],y[1],x[3],y[3]);
SetLineColor(CL_BLUE);
SetLineStyle(PS_SOLID,1);
Line(x[1],y[1],x[4],y[4]);
SetLineColor(CL_BLUE);
SetLineStyle(PS_SOLID,1);
Line(x[2],y[2],x[4],y[4]);
}
間違ってるとこありましたら、ご指摘お願いします。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNGエラーメッセージがでないんです。
前はでていたんですが、1回アンインストールして最近もっかいインストールしたら
でなくなってました。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGとはでるからです・・。
0838デフォルトの名無しさん
NGNGもう一度インストール
もちろんフルインストールで
0839デフォルトの名無しさん
NGNG了解っす!
0840デフォルトの名無しさん
NGNGC はスレ違い。
まぁ一応反応しておくと、
int と float と double を混合させて計算するのはどうかと。
精度が違う云々で警告が出ると思う。
i 以外は全部 double に汁。
まぁ、それ以外特に変なとこないと思う。
igraph.h の関数の仕様は分からんが。
前は igraph.h 用のライブラリがないとか、
そういう変な事やっとたんやないかな?
>>838
エラー出なくなったのに、なぜもう一度インストールする必要があるよ。
どうせ前足りなかったものが今回のインストールで入った、ってだけやろ?
まぁ、フルインストールにするに越した事はないけどさ。
0842デフォルトの名無しさん
NGNGスレ違いすみません。どのスレに書けばいいか分からなかったので^^;
再インストしたんですが、JINT35.DLL、VBAR332.DLL、MSXBSE35.DLLというファイルが開くことができませんでしたとでました。
無視するとそのままインストールできるんですが、最後にシンボルファイルをセットアップするようにとでてきます。
それをセットアップしないとデバッカは呼び出し関数のコンテキストを決定できませんと・・。
セットアップするアイコンをクリックしてセットアップしようと思ったんですが
このマシン上の対応するdllファイルとマッチしませんとでて、
最後にすべてのシンボルファイルはシステム上へ正しくインストールされませんとでます・・。
スレ違いな上に長文でもうしわけないですが、どうすればいいでしょうか。
0843デフォルトの名無しさん
NGNGVCなんだからVCのスレ行ったら
0844デフォルトの名無しさん
NGNGすみませんそうします^^;
みなさんありがとうございました。
0845デフォルトの名無しさん
NGNG0846デフオルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&lr=lang_ja&q=%83%8D%83b%83N%83%7D%83%93
0847デフオルトの名無しさん
NGNG* * *
* *
* Λ_Λ *
* ( ´ρ` ) *
* } ガタリナイヨ *
* *
* * *
0848デフォルトの名無しさん
NGNG>>832-833
0849デフォルトの名無しさん
NGNGプ
0850デフォルトの名無しさん
NGNGどこが悪いのでしょうか??
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sei;
cout << " 貴方は男性ですか、女性ですか?: 男性ならM、女性ならFと押してください:" ;
cin >> sei;
if(sei == M)
{
cout << " 貴方は男性ですね:" ;
}
else if(sei == F)
{
cout << " 貴方は女性ですね:" ;
}
}
0851デフォルトの名無しさん
NGNGMとFはどこで定義しているのでしょうか。
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNGstring M;
string F;
と入れれば良いんですかね・・
やってみます
0855850
NGNGたぶん、定義ができてなかったみたいです。
0856デフォルトの名無しさん
NGNG#define M "M"
#define F "F"
0857デフォルトの名無しさん
NGNGずいぶんアバウトなコンパイラだな。
0859デフォルトの名無しさん
NGNG0860850
NGNG有り難うございます!お陰様で思うような動作をしてくれました(TOT)!!
初めてのプログラムなので、感激です・・
みなさん、どうもでした!
0861デフォルトの名無しさん
NGNG本気で怒るよ?
0862デフォルトの名無しさん
NGNGmain()
だけでもエラーメッセージが出ないのに
ウィンドウズのbccだと
main()
じゃエラーが出ます。
void main(void)
って書けばエラーが一応出ないのですが
リナックスのソースにも一応
void main(void)
って書いた方が良いのですか?
0864デフォルトの名無しさん
NGNGエラーじゃなくて警告では。
最後にreturn 0;
うーん・・C++ならreturn 0は省略できるはずだけど。
0865デフォルトの名無しさん
NGNGC++ なら、マクロ使うよりは
const char Male[] = "M";
const char Female[] = "F";
もしくは
const string Male("M");
const string Female("F");
にして Male, Female を使う事を推奨。
M, F じゃ訳分からんのでついでに名前も変えた。
0866デフォルトの名無しさん
NGNG本気でやっているなら、>>856は参考にしちゃいけません。
0867デフォルトの名無しさん
NGNGmain() は void main() ではなく int main() の略でフ。
>>864
VC6 でもエラーが出た気がする。
うろ覚え。
.NET でやっと main(), return 0 省略が通るようになった。
0869デフォルトの名無しさん
NGNGあっ、そうです。警告でした。
一応どっちでも
main()
でコンパイルは出来てますが、警告されると気分が悪いのです。
bccでは最後に return 0;
と入れれば警告は出ないのか試してみます。
ありがとうございまいた。
0870デフォルトの名無しさん
NGNG関数の戻り値の型を省略するとint型と見なされる。
0871デフォルトの名無しさん
NGNGttp://www.parashift.com/c++-faq-lite/newbie.html#faq-29.8
0872デフォルトの名無しさん
NGNGそれは C 。
C++ は main とコンストラクタ、デストラクタ、
キャスト演算子以外は戻り値の型を書かなければならない。
0873デフォルトの名無しさん
NGNGそうだったの?
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG0879g++ -ansi -pedantic -Wall
NGNG0880デフォルトの名無しさん
NGNGワロタ。
くどすぎ。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGmain()
{
return 0;
}
でbccでは警告が出なくなりました。
気分が良くなりました。
だからもう寝ます。ありがとう。
0883デフォルトの名無しさん
NGNGワラタ
0884デフォルトの名無しさん
NGNGワラタ
0885デフォルトの名無しさん
NGNGintつけようぜ。たったの四文字(空白いれて)だぜ。
0886デフォルトの名無しさん
NGNGfloat main()
{
return 0.0;
}
とかじゃ駄目?
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNGとにかく
int main()
じゃなきゃ駄目なんですね。
0889デフォルトの名無しさん
NGNGもちろんfloatでもねぇッ!intだよint以外ありえねーんだよぅ
0890デフォルトの名無しさん
NGNGvoid でも bool でも float でもなく、int です。
絶対 int です。int 以外だめです。int しかだめです。
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNGこの関数は、とにかくint型を返すんや!
キャストして他の型で受ける事もできるんやけど、
そんな事したらあかん!
そんな事するヤツはヘタレや!ヨゴレや!
男やったら、意地でもintで受けんかい!
*/
http://pc2.2ch.net/test/read.cgi/tech/1030169922/23
0895デフォルトの名無しさん
NGNG「山吹色のオーヴァードライブintッ!!」とか
0896デフォルトの名無しさん
NGNGint int int int int int int int int int int int int int int
int int int int int int int int int int int int int int int
int int int int int int int int int int int int int int int
int int int int int int int int int int int int int int int
int int int int int int int int int int int int int int int
int main!!!
やれやれだぜ......。
0897デフォルトの名無しさん
NGNGしかし、アフォな後輩がウザイのでしかたなくint main()にしている。
趣味のプログラムは全部void main()
この前それをもっていったらウザイ後輩が口出してきたが。
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGM$ は main 変えるの好きだな。
DWORD main(int argc, char *argv[])
VOID main(VOID)
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNG11.14に目を通しておきなよ
0902デフォルトの名無しさん
NGNG0903Kusakabe Youichi
NGNG0904デフォルトの名無しさん
NGNGtemplate <class T> class CC
template <typename T> class CC
class と typenameの違い教えてください。
0905デフォルトの名無しさん
NGNGテンプレートの宣言での意味は同じ、というかどっちでもいいかと。
typenameはむしろ、テンプレートの中で明示的に型名だと指示するために使う方が多いと思うけど。
0906デフォルトの名無しさん
NGNGどっちでも同じだけど、
ここにはクラス以外の型も入れることがあるので
class よりは typename の方が意味的に好み。
class って書いてても int とか入れれはするんやけど、
何か気持ち悪い。
0907デフォルトの名無しさん
NGNGあるときtypenameってのがあるんだって気がついてからtypename
だけにスタイルを変えた。
でも、明示的に使い分けるのが、一番よさそうだね。
0908デフォルトの名無しさん
NGNG声出してワラタ
0909デフォルトの名無しさん
NGNGそいつはウザイ奴かもしれないが
アフォなのは確実にお前だ。
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNGならもう void main の価値は完全に無くなったね。
だって、int main よりも 1 文字も多いんだよ!
0912デフォルトの名無しさん
NGNGg++はvoid main()だと怒られてコンパイル通らないよ。
0913デフォルトの名無しさん
NGNGで、自作してもいいんでしょうが、もしパブリックドメインなライブラリがあれば
それを使いたいと思ってます。
Windowsに依存しないものがいいんですが、デファクトスタンダードになっている
ような有名なライブラリってあるのでしょうか。。。
0914デフォルトの名無しさん
NGNGttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%22C%2B%2B%22+%E5%8F%82%E7%85%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88+%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF
0915デフォルトの名無しさん
NGNGよく見ると、<iostream>では、バッファに何か残っていると、getch()で止まらないようです。
考えてみると、それもそうなのですが、みなさんどうしてるのでしょうか?
つまり、プログラム途中で「進めるにはキーを押してください」として止めるには
どうすればよいのでしょうか。
0916大黒学
NGNG新北野一丁目の大黒と申します。現在、「C++課外授業」と題する、
プログラミング言語としてC++を使用してプログラムの書き方につい
て解説する文章のアルファ版をHTTPで公開しております(データの形
式はLaTeXのソースです)。この文章を、間違った記述がなくてしか
も理解しやすいものにするために、できるだけ多くの人に読んでいた
だいて、ご意見、ご感想、誤りの指摘などを頂戴したいと思っており
ます。なにとぞよろしくお願い申し上げます。
C++課外授業version alpha39
http://www.gin.or.jp/users/daikoku/cpp/cjugyou.tex
前バージョンからのおもな変更点
* 第16章「配列」に、第16.1節「配列の基礎」を追加しました。
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGTeXのソースは人に見せるもんじゃないってことをわかってください。
0919デフォルトの名無しさん
NGNG同
0920デフォルトの名無しさん
NGNGPDF版はこれ?
http://www.gin.or.jp/users/daikoku/cpp/cjugyou.pdf
0921デフォルトの名無しさん
NGNG組み込みコンパイラ、VC++、BCBの全てで使えるヤシ。
0922デフォルトの名無しさん
NGNGstd::string と言いたいところだが
>組み込みコンパイラ
char* でも使っとけ
0923921
NGNG実はBCBでふつーにstring使ってたのに、
MFCで使えないからstringって標準じゃないと勘違いしちゃった。
試しにMFCでstd::string使ってみるYO!
0924デフォルトの名無しさん
NGNG単純にデータや手続きのカプセル化とか、
コーディングをすっきりまとめやすいっていう安易な考えで
C++使うのはありでしょうか?
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNGにあるpdfでいいの?
よくわからんけど。
0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG各章のはじめに、ここで何を説明しようとしてるのか、どのような目標があるのかを
書いておくと、読みやすくなるよ。
そこらの教科書と同じね。
内容の正確性は、まだ読んでないからわからない。
でもちょっと怪しい気もする。
0929921
NGNGfunc(std::string sout1, std::string sout2, std::string sout3) {
if (sout1 != NULL) sout1 = ""; //代入
if (sout2 != NULL) sout2 = ""; //代入
if (sout3 != NULL) sout3 = ""; //代入
}
って、やりたいんですが、エラーです。
C++の演算子のオーバーロードの弊害でつか。どうしよう。
0930デフォルトの名無しさん
NGNG引数の省略がやりたいんなら、素直に↓ってやっとけ。
func(std::string sout1="", std::string sout2="", std::string sout3="");
0931デフォルトの名無しさん
NGNG何でNULLと比較してるの?
何でNULLと比較してるの?
少なくとも300ページ以上の本を探して索引で「デフォルト引数」のとこを
探して読んでみなさい。
0932921
NGNG>func(std::string sout1="", std::string sout2="", std::string sout3="");
この場合って、関数内で、sout1に代入してもメモリ破壊されませんか?
0933デフォルトの名無しさん
NGNGみたいな引数だったら、かなりの確率で問題が発生する。
君の心配しているように未定義の動作になる。
std::string sout = "" なら平気。
stringは代入演算子で渡された文字列のポインタを保存するわけじゃなくて、
そのつど専用の領域を必要なサイズで確保して、そのコピーをもつ
仕組みになってるから。
soutって名前からして、結果を格納するつもりなんだろうけど
それなら
std::string &sout で受け取るべきじゃないのか?
0934921
NGNGうわ、その通りでした。
今まで、AnsiStringばかりを使ってたつけが...
intを文字列にしてstringに渡す方法が分からないでつ。
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNGstd::stringstream ss;
std::string s;
ss << n;
s = ss.str();
もしくは
int n;
char buf[100];
std::string s;
sprintf(buf, "%d", n);
s = buf;
もしくは
int n;
std::vector<char> buf(100);
std::string s;
sprintf(&buf[0], "%d", n);
s = &buf[0];
いんすこ大変だけどboostを使えば簡単
ttp://www.kmonos.net/alang/boost/classes/lexical_cast.html
0937921
NGNG>std::stringstream ss;
>std::string s;
>ss << n;
>s = ss.str();
こちらがC++っぽいんですが、何か行数多いですね。
atoiの逆のitoaが無い問題がC++でも解決してないような...
0938デフォルトの名無しさん
NGNGあほか。 行数が多くて嫌なら関数にでもしろよ。
>atoiの逆のitoaが無い問題がC++でも解決してないような...
この行は訳がわからん。 解決してるだろ?
0939デフォルトの名無しさん
NGNGxxxのところに、string.hを指定すると、string.hファイルが挿入されますよね。
では、stringを指定すると、string名前空間の定義が挿入されるのでしょうか?
どなたか教えてくださいませ。
0940デフォルトの名無しさん
NGNG#include <string>するとC++のstringヘッダが読み込まれます。
#include <cstring>するとstd名前空間内にstring.hが読み込まれます。
0941デフォルトの名無しさん
NGNG何度も呼び出すようなら素直にsprintfを使え
0942デフォルトの名無しさん
NGNG実装次第です。あなたの環境が全ての人の環境というわけではありません。
0943デフォルトの名無しさん
NGNGsprintfの方がより遅い実装になってるとも限らないからね。
見たことないけどね。
iosの実装が甘いサブセットなstlならそうかもね。
0945デフォルトの名無しさん
NGNGCではなくてC++を選択するのはありでしょうか?
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGありです。
あと、より安全な C としても使えます。
たとえば、char * を使わずに std::string を使うとか。
0950デフォルトの名無しさん
NGNG仕事でやる場合、手直ししないと使えない旧来のコードがあったり
C++やSTLがわからないかわいそうな人がいたりするからよーく考えてからやれ。
0951デフォルトの名無しさん
NGNGあくまでも開発ツールですから、いいものは積極的に
取り込んでいこうと思います。
かわいそうな人たちは、かわいそうですが、
向上心が無いということでおいていきます。
それが会社の方針なので(w
0952デフォルトの名無しさん
NGNG環境はリナックスです。
助けて下さい。
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNG> 実数型 float で符号ありのときの
float が実数型でないとか、符号なしの処理系があるのか ?
それはさておき、0 以外のってことだろうな。
#include <float.h> して、FLT_MIN じゃないかな。
0957952
NGNG0以外で御願いします。
int zero,mainasu;
float a,b,c;
zero=0,mainasu=(-1);
a=0.01,b=0.0001;
c=(a-b)/a;
if(c<zero){
c=c*mainasu;
}
aもbも更には,cも思い切り小さくしたいのです。
論理的に考えてc<aとc<bのような...
ソースには
#include <stdio.h>
以外入れたくありません。
0958デフォルトの名無しさん
NGNG絶対値の定義。
|A| = ( A > 0 ) ? A : -A;
よって最小の絶対値は0。
終了
0959958
NGNGこうだな。
0960デフォルトの名無しさん
NGNG> 意味が分からない事言っててすみません。
というより、
> #include <stdio.h>
> 以外入れたくありません。
の方が意味不明。
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG日本語変だYO!
次スレまだ〜???
0963デフォルトの名無しさん
NGNG0964952
NGNGC++の書き方知らないです。
でも使っているのはC++のはずです。
>>957では
aとbの具体的な値を書いてるけどほんとは式で出ます。
a>bにもa<bにもなりえる。そのうちaとbの値が収束する。
aとbの相対誤差を求めてる。相対誤差は絶対値
cは相対誤差でそれを収束の条件にする。
相対誤差をとにかく小さくしたい。
while(c<0,0)
なんて書いたらいつまで経っても計算が終わらないので困っているのです。
#include <stdio.h> 以外は使ったことないのです。
助けて下さい。
0966デフォルトの名無しさん
NGNGwhile(c<0.0)
0.1bit位間違ってたのかな…
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGwhile(c<=0.0)じゃないの?
0969デフォルトの名無しさん
NGNG機械の精度ギリギリまでやりたいなら、それでもいいけど
だったら<stdio.h>だけじゃ無理。
0971デフォルトの名無しさん
NGNG0972952
NGNG今確認したところ
while(c<=0.0)
って書いてませんでした。"<="の"="を抜かしてました。
ちゃんと書き直したら収束しました。本当にすみませんでした。
0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG最後の--iがとても変な感じがしてしまいます。
何かもっと綺麗な上手い書き方はないでしょうか?
for( std::list<CPoint*>::iterator i = m_List.begin(); i != m_List.end(); ++i )
{
delete (*i);
i = m_TaskList.erase( i );//この時点で削除したiteratorは無効
--i;//既に次のiteratorを指しているためforループの++iの為に一つ戻しておく
}
0975デフォルトの名無しさん
NGNG2. a が 0 の場合を考慮しなくてはならない。
収束値が 0 から離れてると予想される場合でも
収束するまでに運悪く 0 にならないとも限らない。
3. 絶対値は #include <math.h> して fabs を使う。
0976デフォルトの名無しさん
NGNGdelete m_List.back();
m_List.pop_back();
}
0977デフォルトの名無しさん
NGNGfor( std::list<CPoint*>::iterator i = m_List.begin(); i != m_List.end(); ++i )
delete (*i);
m_List.clear();
2:
for( std::list<CPoint*>::iterator i = m_List.begin(); i != m_List.end(); i = m_TaskList.erase( i )
)
delete (*i);
3:
while( !m_List.empty() ) {
delete (*m_List.begin());
m_List.pop_front();
}
0978デフォルトの名無しさん
NGNG++i
しなきゃいいだろ?
0979デフォルトの名無しさん
NGNGeraseに拘りすぎていました。ありがとうございました。
0980デフォルトの名無しさん
NGNG書き込んでいる間にレスが
こんなに色々な解決方法があるんですね。
++iとかほとんど決まり文句みたいに覚えていたので
とても参考になりました。ありがとうございました。
0981デフォルトの名無しさん
NGNGセンスなし
0982デフォルトの名無しさん
NGNGみんななんで答えてくれないんだ。
わからないのか?ガカーリだよ。
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNGDOS なら
while(kbhit()) getch();
とかしてた気がする。
細かいとこ違うかもしれんけど、気にするな。
0985デフォルトの名無しさん
NGNG環境依存だから。ってことでよろしいいか?
0986デフォルトの名無しさん
NGNG悪いです。>>915のはたぶん標準入力をした後すぐにgetchで止めようとしたと思う。
そうすると、標準入力したものがバッファから消える前にgetchのところに行って
しまう時がある。使うバッファは同じなので。逆にgetchで分岐入力見たいのを
した後、すぐに標準入力があると、getchで入力した文字が入力されている事がある。
止めるならgetcharを使って改行を押してください見たいにやればよいと思います。
0987デフォルトの名無しさん
NGNGってやっていいの?
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNGvectorやstringなんかは使えるのでmapが原因のような気がするけど、
標準で入ってるSTLに付属してますよね?
だれかわかる方いますか
あとgccでは普通にコンパイルできます
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main(void){
map <string,string> ma;
ma.insert(pair<string,string>("mona","giko"));
cout << ma["mona"] << endl;
return 0;
}
0990デフォルトの名無しさん
NGNGエラーメッセージぐらい自分で嫁。
0991デフォルトの名無しさん
NGNGインスタンスをnew以外で作成するのを禁止できないので、あぶない。
0993デフオルトの名無しさん
NGNG,,、,、,,, / \〇ノゝ∩ < 1000とり合戦いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/ | ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \ ぶーぶーぶー /
//三/|三|\ タリー
∪ ∪ (\_/)タリー タリー 次スレまだ〜?
( ´Д) タリー タリー
/ つ (\_/) (\_/)ノ⌒ヽ、
(_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))
0994デフォルトの名無しさん
NGNGおいおい、それはエラーじゃないだろ
0995デフォルトの名無しさん
NGNG禁止できるし
0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。