2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

C++相談室 part15

1 :デフォルトの名無しさん:03/01/27 03:24
怪しい仕様は細々ありますが大丈夫です!
elegantなソースを目指してね。 関連URL>>2-10

v(^・^)v

2 :デフォルトの名無しさん:03/01/27 03:24
■基本■
[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/
仕様書の重箱の隅的な話題などが読めます。

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

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

3 :デフォルトの名無しさん:03/01/27 03:25
■Document■

C++FAQ Lite http://www.parashift.com/c++-faq-lite/
C++FAQ(日本語) http://www.bohyoh.com/CandCPP/FAQ/
Cとその仕様を比較しながらの解説なので分かりやすい。

[STL]
STL Programmer's Guide http://www.sgi.com/tech/stl/
日本語としてはおそらくここ。ただしリファレンス的内容。
http://www.wakhok.ac.jp/~sumi/stl/

[boost]
これに関しては公式のドキュメント、又はソースを読むのが一番です。
ただし日本語でいくつか有益な情報が読めます。
Let's boost http://www.kmonos.net/alang/boost/
shinichiroさん http://user.ecc.u-tokyo.ac.jp/~g940455/wp/
YahooBBS http://groups.yahoo.com/group/boost/
news news:gmare.comp.lib.boost.devel

amazon.com C,C++関連書籍
http://www.amazon.com/exec/obidos/tg/browse/-/3956/ref=br_bx_c_1_3/

4 :デフォルトの名無しさん:03/01/27 03:25
■Compiler■
[GCC]
http://gcc.gnu.org/
(branch list http://gcc.gnu.org/cvs.html とくにcp-parser-branch!)
(Windows上でのPOSIX環境構築 http://www.cygwin.com)
[Borland C++ Compiler]
http://www.borland.co.jp/cppbuilder/freecompiler/
[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

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

5 :デフォルトの名無しさん:03/01/27 03:25
■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

6 :デフォルトの名無しさん:03/01/27 03:26
■過去スレ■
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://pc3.2ch.net/test/read.cgi/tech/1007731543/

7 :デフォルトの名無しさん:03/01/27 03:26
■関連スレ(テンプレートを用いたライブラリ中心)■
【C++】template 統合スレ -- STL/Boost/Loki, etc.
http://pc3.2ch.net/test/read.cgi/tech/1037795348/
【C++】Boost使い集まれ!
http://pc3.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

8 :デフォルトの名無しさん:03/01/27 03:50
■関連スレ(環境依存の話題)■
GCCについて http://pc3.2ch.net/test/read.cgi/tech/1007731543/

C++Builder相談室    http://piza2.2ch.net/tech/kako/969/969458279.html
新C++Builder相談室  http://pc.2ch.net/tech/kako/997/997074601.html
C Builder相談室 Part3 http://pc3.2ch.net/test/read.cgi/tech/1016065855/
C++Builder相談室 Part4 http://pc3.2ch.net/test/read.cgi/tech/1035596146/
タダで使えるBorland C++!
part1 http://pc3.2ch.net/tech/kako/1002/10023/1002377328.html
part2 http://pc3.2ch.net/test/read.cgi/tech/1030493157/

VisualC++相談室 3  http://piza2.2ch.net/tech/kako/993/993186053.html
VisualC++相談室 4  http://pc.2ch.net/tech/kako/1002/10021/1002165477.html
VisualC++相談室 5  http://pc.2ch.net/tech/kako/1006/10068/1006834463.html
VisualC++相談室 6  http://pc.2ch.net/tech/kako/1011/10116/1011615035.html
VisualC++相談室【7】 http://pc.2ch.net/tech/kako/1017/10178/1017843192.html
VisualC++相談室【8】 http://pc.2ch.net/tech/kako/1022/10224/1022499000.html
VisualC++相談室【9】 http://pc3.2ch.net/test/read.cgi/tech/1036897197/

9 :デフォルトの名無しさん:03/01/27 03:50
VisualC++(MFC限定)相談室 MFC6.dll
http://pc3.2ch.net/test/read.cgi/tech/1039607377/
Windows Programing for C/C++(Not MFC)
http://pc3.2ch.net/test/read.cgi/tech/1018239290/
COM の世界を斬る!
http://pc3.2ch.net/test/read.cgi/tech/981823340/
ATL 相談室
http://pc3.2ch.net/test/read.cgi/tech/1029029882/
managed C++ やろうぜ!!
http://pc3.2ch.net/test/read.cgi/tech/1014486422/

10 :レゴ:03/01/27 05:23
来てみました。特に用件は無いです。
聞きたい事は、山程在るんですが、
理解してなさ過ぎなので、力付けたいと思います。


11 :デフォルトの名無しさん:03/01/27 06:03
>>10
律儀なのはいいけど、ここは馴れ合いのスレじゃないので挨拶せんでもいいです。

12 :デフォルトの名無しさん:03/01/27 06:42
http://click.dtiserv2.com/Click/512-103-4493

13 :デフォルトの名無しさん:03/01/27 07:39
template<class T> void foo(void){}
template<class T> inline void foo(void){}

上の書き方では、インライン展開はされないんですか?
それとも両方同じ意味?


14 :デフォルトの名無しさん:03/01/27 08:03
>>13
上下で意味が違う。上が普通。下がinline指定付き。

15 :デフォルトの名無しさん:03/01/27 08:31
>>14
答えになってないだろ。
「普通」 ってどういう事だよ。

まあ結局は、最適化の方法によると思うけど・・・。
場合によっては inline も無視されるし。

16 :14:03/01/27 08:55
>>15
あーすまんな、そこでいう普通ってのは、inline指定無しってことだ。

17 :デフォルトの名無しさん:03/01/27 09:06
>>16
そんな事は一目瞭然だろ。
13 は、実際にどうなるかが知りたいんだろうに。

18 :14:03/01/27 09:12
>>17
そんな事は言えないだろ。>>15にも「まあ」以下にちょっと書いてあるし。

19 :デフォルトの名無しさん:03/01/27 09:26
>>18
15=17 ですが何か?
どうして言えないと思うんだ?
「インライン展開はされないんですか?」 が実際にどうなるかという話で無いと
したら何だというんだ?
inline を指定した事になるのか、という質問には見えない。

20 :デフォルトの名無しさん:03/01/27 09:29
なんかスレ立て早々、戦争が勃発してるし。
>>1 乙。

21 :14:03/01/27 09:42
>>19
え、だって、「それとも両方同じ意味?」とかゆってるし・・・。

インライン展開されるかどうかはinline指定の規則に従うってことで済ませとかないと
コンパイラからコンパイルオプションから聞き出さない限り意味のある答えはでないだろ。
>13が環境を示さない限り「実際にどうなるか」って話は意味無い。

ってなわけで、「実際にどうなるか」の話なんて漏れにはできん。
>>19よ、見本でもみせてやってください。

22 :デフォルトの名無しさん:03/01/27 09:46
>>13
どちらでもほとんどの処理系でインライン展開はされると思うが、リンケージが異なる
かな。C++ だと inline 関数のデフォルトリンケージは static なんで、オブジェクトに
特殊化したテンプレート関数を格納したい場合(ライブラリ作る場合)は前者でコンパ
イルしないと、まずいと思う。

23 :デフォルトの名無しさん:03/01/27 10:31
> C++ だと inline 関数のデフォルトリンケージは static
これほんと?
ドラフトの中にこんなんあるけど。
[Footnote: The inline keyword has no effect on the linkage of a function. --- end foonote]

24 :デフォルトの名無しさん:03/01/27 12:44

まだC++をはじめたんですけどなかなか覚えれなくて
みなさんどんな感じでC++を覚えたのでしょうか?


25 :デフォルトの名無しさん:03/01/27 12:45

すみません下げ忘れてました。

26 :デフォルトの名無しさん:03/01/27 13:17
>>24
俺はC++3rdを頑張って読破した。(Cは多少わかってる状態で)
とりあえずC++3rdを買って読む。あとは>>1が頑張ってくれたテンプレ集とか、cppll ML(最近質が落ちてるけど)とかわからなくても漁ってみるべし。
わからなくなったら周りのC++に詳しい人とか、このスレで聞くといい(叩かれるかもしれんが…)。

cppll ML
http://www.trickpalace.net/cppll/

で、>>1 乙カレー

27 :26:03/01/27 13:26
あ、ちなみに俺の言った方法はよほど暇人じゃないとできないかも。(いろいろ他の言語をつまみ食いしながら二年位かかった)
中学〜高校のときだったしなぁ…。

仕事で今すぐ必要というならアドバイスできませぬ。なにせ趣味グラマなもんで。

28 :デフォルトの名無しさん:03/01/27 14:09
>v(^・^)v

これむかつく!
>>1 お疲れ

29 :MlQ38syL:03/01/27 15:22
■■■■■I90vmCq+さんへ■■■■■
こんにちはMlQ38syLです。
ボクのくだらん遊びに付き合ってくれてありがとうございます。
仕事でなかなか良いアイデアが浮かばなくってイライラしてました。
おかげ様で良い気分転換が出来ました。
仕事に戻ります。サンキュ♥


30 :デフォルトの名無しさん:03/01/27 15:56
perlみたいにいろんなライブラリがラインセンスフリーで出回んないかなぁ。

31 :デフォルトの名無しさん:03/01/27 16:05
>>26
いまcppllはtietewによる新人いじめの真っ最中なので不適かと。
#あれじゃ「身内」以外は投稿しにくいよなぁ。

32 :デフォルトの名無しさん:03/01/27 16:05
>>1-9
スレ立て乙ー。

33 :デフォルトの名無しさん:03/01/27 16:35
>>34->>1001
レス乙カレー(プ

34 :13:03/01/27 16:41
13です。言い方が悪くてすいません。

>>13 上の書き方では、インライン展開はされないんですか?
この意味は、「実際に展開されるかどうかではなく、inlineを付けなくても
inline指定したことになるのか?」っていう意味でした。
テンプレートは、コンパイル時に定義が見えなくてはいけないのでinlineを付けなくても同じかなと。

>>22 ちょっと状況が想像できません。調べてみます。

35 :デフォルトの名無しさん:03/01/27 17:02
>>34
inlineを付けなくてもinline指定した事になるのは、クラス宣言部内で
メンバ関数を定義した時だけでは?それ以外の時は明示的にinline
と指定する必要がある。

36 :デフォルトの名無しさん:03/01/27 17:36
ちょっとお聞きしたいんだが

vector<int> v;
vector<int>::iterator i = v.begin();
++i; //これは未定義ですか?不定?それとも安全?

37 :デフォルトの名無しさん:03/01/27 18:18
ちょっとミス
v.begin → v.end
ということです。

38 :デフォルトの名無しさん:03/01/27 19:04
>>36
vector<T>::iteratorの型は大体の処理系でT*だから、++iをする分には問題ないけど、
それを操作するとマズいことになると思われ。
仕様がどうなってるかは仕様書を見てくれ。

39 :デフォルトの名無しさん:03/01/27 20:22
> vector<T>::iteratorの型は大体の処理系でT*だから、++iをする分には問題ないけど、

そーゆー認識ってマズーだと思う。

40 :デフォルトの名無しさん:03/01/27 21:04
>>13-
テンプレート関数はヘッダに書けるけど、inline指定しなくてもいいんだよね。
じゃ、普通の関数をヘッダに書きたいけどinline付けたくない!ってとき、

template<int dummy> void hoge_imp(void){ //普通の関数のつもり}
#define hoge hoge_imp<0>

main(){ hoge(); }

って書けばよさげじゃない?
#defineが汚いけど。

41 :デフォルトの名無しさん:03/01/27 21:12
>>40
> 普通の関数をヘッダに書きたいけどinline付けたくない!ってとき
どういう場合にそんなことがしたくなりますか?

42 :デフォルトの名無しさん:03/01/27 21:51
>>36-37
この場合、begin()でもend()でも未定義です。
*iが出来ないイテレータについて++i;はできない規格です。
規格書に「未定義」と定義してあるところは見つけられなかったけど...。

43 :デフォルトの名無しさん:03/01/27 21:54
で、結局関数テンプレートを実体化したらinlineになるの?ならないの?

44 :デフォルトの名無しさん:03/01/27 21:56
>>43
ならんっつーに。

45 :デフォルトの名無しさん:03/01/27 22:01
二次元配列のdeleteってどうやればいいの?

46 :デフォルトの名無しさん:03/01/27 22:01
>>5 のspirit 見て感動しますた。何か面白い事出来そうかも・・・何が出来るかな?

47 :デフォルトの名無しさん:03/01/27 22:06
>>45
delete[]

48 :デフォルトの名無しさん:03/01/27 23:48
ハンドルされていない例外がある
ってエラーメッセージが出るんだけど、何がわるいのでしょうか?

49 :デフォルトの名無しさん:03/01/27 23:49
>>48
0 除算やメモリアクセス違反などを疑え。

50 :デフォルトの名無しさん:03/01/28 01:00
構造体を宣言して、その構造体を他の構造体の要素に
するということはできるのですか?
kouzoutai.kouzoutai2.youso見たいに書くと思うのですが。
一般にやっぱりあまり使われませんよね?

51 :デフォルトの名無しさん:03/01/28 01:01
使うよ。

52 :デフォルトの名無しさん:03/01/28 01:02
>>50
API絡むとごく普通に使われてると思うが。

53 :50:03/01/28 01:08
ありがとうございます。
今構造体をある構造体の中に組み込んで
kouzoutai[i].kouzoutai[j].yousoという風に使いたかったので。
どうやらごく普通に使っているならそのまま使ってみたいと思います

54 :デフォルトの名無しさん:03/01/28 01:13
>>53
クラスを他のクラスの中に入れるとコンポジションとなって少し意味が
変わるかもしれん。

55 :50:03/01/28 01:16
どういうことですか?

56 :デフォルトの名無しさん:03/01/28 01:25
>>55
メンバ関数を含む構造体を他の構造体に入れると、オブジェクトの再利用の
観点から特別な意味合いを含むようになる。

57 :50:03/01/28 01:30
特別な意味合いってつまりは使い方を特別にしなければいけないということでしょうか。
質問ばかりですいません

58 :デフォルトの名無しさん:03/01/28 01:31
>>36
std::vector<T>::iteratorはランダムアクセスイテレータです。
ランダムアクセスイテレータに対してoperator++()を適用するには、
適用前に参照はがしが可能、適用後に参照はがしが可能または
最後を過ぎた状態でなければなりません。(仕様書参照)
この場合、vは空であり、v.begin()にしろv.end()にしろ、
v.end()を返し、これは参照はがしが出来ません。よってこれは
operator++()が適用前に必要な条件を満たしていませんので、
結果は未定義です。

59 :デフォルトの名無しさん:03/01/28 01:41
>>57
構造体がメンバ関数を含んでいなければ別に気にする必要はない。
含んでいても、だからある特別な使い方をする必要があるという意味で
はない。特別な使い方を意識すればバグが出にくくなる、それだけ。

60 :50:03/01/28 01:50
わかりました。ありがとうございます。特にメンバ変数を含んでないので。がんばります

61 :デフォルトの名無しさん:03/01/28 03:11
>>58
規格書の事を仕様書仕様書って言うなよ・・・

62 :デフォルトの名無しさん:03/01/28 03:45
>>61
規格書じゃなくて>>58の持ってる環境の仕様書なのでは?

63 :デフォルトの名無しさん:03/01/28 03:50
>>62
そんなものを 「参照」 と言われても・・・

64 :デフォルトの名無しさん:03/01/28 07:54
STLとAPIの命名規約がちがうのでソースが見にくいです。STLで ”_” を使うのはやめてください。

65 :デフォルトの名無しさん:03/01/28 11:40
標準規格の STL のネーミングを俺様APIのネーミングに合わせろってか。

66 :36:03/01/28 14:18
>>38-39 >>42 >>58

理解しました。
非常にありがとうでございましたm(_ _)m多謝多謝ぬ

67 :シリアル:03/01/28 14:28
シリアル接続でストップビットを"2"にすると、
ポートに接続できなくなるのですがなぜですか?

68 :デフォルトの名無しさん:03/01/28 20:16
>>67
すみません。C++とどういう関係があるんでしょうか?

69 :デフォルトの名無しさん:03/01/28 20:32
いま、クラス設計をやっています。
Win32 API で行われているようなかんじで、登録されたデータを
ハンドルで管理したいと思います。
ハンドルの生成/開放を行う、一般的な方法はありませんか?

単純だし、自作できるとは思うのですが標準で用意されてるなら
そっちを使ったほうがいいかと思いまして。

70 :デフォルトの名無しさん:03/01/28 20:40
>>69
オブジェクトのポインタで充分ではない理由があったら聞かせてくれ。

71 :デフォルトの名無しさん:03/01/28 20:41
>>69
スマートポインタ?

72 :デフォルトの名無しさん:03/01/28 20:46
>>60
> 特にメンバ変数を含んでないので。がんばります
      ^^^^
どうがんばる気だ ?

21 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)