[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 06/30 23:01 / Filesize : 11 KB / Number-of Response : 31
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part96



1 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:07:47.91 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part95
toro.2ch.net/test/read.cgi/tech/1336420524/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1331894668/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

2 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:08:20.71 ]
■基本■
[C++ FAQ]
 www.parashift.com/c++-faq/
 www.bohyoh.com/CandCPP/FAQ/ (日本語)
  Cとその仕様を比較しながらの解説なので分かりやすい。
  ***** 質問の前に必ずこの二つに目を通してください *****
[C/C++ リファレンス]
 en.cppreference.com/w/cpp (英語)
 ja.cppreference.com/w/cpp (↑の日本語訳だけどまだ未完)
[Stroustrup]
 www2.research.att.com/~bs/
[C++ International Standard]
 www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=50372
[JTC1/SC22/WG21 - C++]
 www.open-std.org/jtc1/sc22/wg21/
  ここから規格の最新ドラフトがダウンロードできる。
[JIS X3014]
 www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X3014
  ISO規格の日本語訳。JIS X3014:2003はISO/IEC 14882:2003 (E)に対応。

3 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:08:52.69 ]
■Libraries■
[Boost]
 Boost www.boost.org/
 (日本語) www.kmonos.net/alang/boost/
 (日本語) shinh.skr.jp/boost/
[標準ライブラリ]
 SGI-STL www.sgi.com/tech/stl/
 STLport stlport.sourceforge.net/
 GNU libstdc++ gcc.gnu.org/libstdc++/
 Apache C++ Standard Library (STDCXX) stdcxx.apache.org/
 STLFilt www.bdsoft.com/tools/stlfilt.html
 (日本語) episteme.wankuma.com/stlprog/ (※1999年発行注意)
[Loki]
 sourceforge.net/projects/loki-lib/
 LokiPort-MSVC6sp5 fara.cs.uni-potsdam.de/~kaufmann/?page=lokiport

4 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:09:34.44 ]
■Books■
amazon C,C++関連書籍
 www.amazon.com/exec/obidos/tg/browse/-/3956/ref=br_bx_c_1_3/
 www.amazon.co.jp/b/?node=754384

The C++ Programming Language
 www.amazon.com/exec/obidos/ASIN/0201700735/
 www.amazon.co.jp/exec/obidos/ASIN/475611895X/ (翻訳)
C++ Primer (3rd Edition)
 www.amazon.com/exec/obidos/ASIN/0201824701/
 www.amazon.co.jp/exec/obidos/ASIN/4756140068/ (翻訳)
The C++ Standard Library
 www.amazon.com/exec/obidos/ASIN/0201379260/
 www.amazon.co.jp/exec/obidos/ASIN/4756137156/ (翻訳)
Effective C++
 www.amazon.com/exec/obidos/ASIN/0201924889/
 www.amazon.co.jp/exec/obidos/ASIN/4756118089/ (翻訳)
More Effective C++
 www.amazon.com/exec/obidos/ASIN/020163371X/
 www.amazon.co.jp/exec/obidos/ASIN/4756118534/ (翻訳)
Exceptional C++
 www.amazon.com/exec/obidos/ASIN/0201615622/
 www.amazon.co.jp/exec/obidos/ASIN/4894712709/ (翻訳)
More Exceptional C++
 www.amazon.com/exec/obidos/ASIN/020170434X/
 www.amazon.co.jp/exec/obidos/ASIN/4894714833/ (翻訳)
Exceptional C++ Style
 www.amazon.com/exec/obidos/ASIN/0201760428/
 www.amazon.co.jp/exec/obidos/ASIN/4894714663/ (翻訳)

5 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:10:09.27 ]
■Books(Templateまわり)■
Effective STL
 www.amazon.com/exec/obidos/ASIN/0201749629/
 www.amazon.co.jp/exec/obidos/ASIN/4894714108/ (翻訳)
Modern C++ Design
 www.amazon.com/exec/obidos/ASIN/0201704315/
 www.amazon.co.jp/exec/obidos/ASIN/4894714353/ (翻訳)
C++ Templates
 www.amazon.com/exec/obidos/ASIN/0201734842/
C++ Template Metaprogramming
 www.amazon.com/exec/obidos/ASIN/0321227255/

6 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:14:54.79 ]
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル'
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

7 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:34:52.46 ]
>>1++

8 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:40:29.80 ]
>>1++

9 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 13:52:22.49 ]
STLつかうと一気に実行ファイルサイズが10倍に?!

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

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?

#include <stdafx.h>
後死ね。

言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。

10 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 15:47:13.84 ]
>#include <stdafx.h>
大丈夫か…



11 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 17:16:12.80 ]
>>10


12 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 19:14:04.69 ]
C++11とか覚えるのしんどいから3行にまとめてほしい(´・ω・`)

13 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:07:11.89 ]
A a(1);
a = A(2);

としたとき、2行目で、1行目で生成されたインスタンスは消滅すると思いますが、
デストラクタは実行されないようです。
実行されるにはどうしたらいいでしょうか?


14 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:09:05.92 ]
代入だからインスタンスaのデストラクタは実行されないよ。
二行目の「A(2)」は、ステートメントの最後でデストラクタが実行されるけど。

15 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:11:56.59 ]
オペレーター=のオーバーロード

16 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:13:06.32 ]
>>12
新しい文法とライブラリ。autoの変更がかなり面白い。
ラムダで広がる関数周り。関数ポインタにもできなく無いらしい。
コンパイラさんの対応にあと5年はかかるかも。

17 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:14:01.69 ]
>>13
2行目で生成されたテンポラリオブジェクト A(2) は消滅するけど
1行目で生成されたインスタンス a はそのままだよ

18 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:14:36.33 ]
>>16
関数ポインタにできるのは引数なしのやつだけかな

19 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:23:57.91 ]
引数じゃなくて変数キャプチャの有無だろ

20 名前:13 mailto:sage [2012/06/30(土) 20:25:10.61 ]
a = A(2);によって、aの中身はA(2)になっているので、
aが消滅するときのデストラクタはA(2)のものです。
だから、Aの中で動的に領域をとっていると、
解放されないままになってしまいます。
newを使わないインスタンス作成をできなくしたり、
代入を禁止したりはできないでしょうか?
Aにoperator=を作るのが正当な解決策でしょうか?




21 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:28:19.89 ]
>a = A(2);によって、aの中身はA(2)になっているので、
間違い。aの中身はA(2)のコピー。

C#かJavaから来た人かな?

22 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:31:47.85 ]
ttp://codepad.org/vhpVaBWA
デストラクタ呼ばないとかどこの糞コンパイラ使ってんだ

23 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 20:33:42.75 ]
>>20
コピーと代入を禁止するにはprivateで宣言しておけばいい
何も宣言しないとデフォルトの定義が作られるから代入出来てしまう

private:
  A(const A&);
  A& operator=(const A&);

24 名前:13 mailto:sage [2012/06/30(土) 20:33:52.52 ]
Clang++です。

25 名前:13 mailto:sage [2012/06/30(土) 20:41:30.84 ]
24は偽物です。Javaから来ました。
C++は難しいですが、いろいろ試してみます。
ありがとうございました。


26 名前:13 mailto:sage [2012/06/30(土) 20:55:32.15 ]
>>22 さん、ありがとうございます。
~A1 が表示されてほしいんですが、
代入ではデストラクタが実行されないようなので、
無理ですね。


27 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:09:47.64 ]
ttp://ideone.com/GVtgh
これなら表示される
この例じゃあまり意味はないが

28 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:37:36.80 ]
そもそもどうやってどちらのデストラクタが実行されたかを確認してるかからして怪しい

29 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 21:44:15.24 ]
>>25
お前にC++は無理。

30 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 22:26:53.13 ]
むしろ代入の取り扱いに関してはJavaやC#の方が難しいと思うんだけどね。
C++はCやBASIC、FORTRANなどと同じ、コピーが基本。
負荷は大きいけど、考えることは少ない。
一方、Javaは参照が基本。負荷は小さいけど、いつ複製が必要になるかについて注意が必要。

…みたいなことが、確かJ++セルフマスターブックとかいう本を読んだ時書いてあったなぁ。
J++って、いつの本だよ^q^








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<11KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef