• ベストアンサー

こんな内容の本を探しています

1.C++/CLI 2.ポインタの高度な使い方(関数のポインタのような初心者向けの本には載ってないようなやつ) 3.クラスの高度な使い方 4.STL 5.標準関数 膨大な本があって、探すのが困難です。何冊掛かってみましたがなかなか当たりが出ません。 内容が被りすぎて買った意味がなかったりして大変です。

noname#17308
noname#17308

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

> C++/CLIは本屋にその文字すら見つけることが出来ない状態。 C++/CLIについては、とりあえずMSDNライブラリを見るのが一番かと思います。 > 4はSTLリファレンスが通販で買うことが出来るのでそれで良いかな... STLというか、標準C++ライブラリに関しては、「C++標準ライブラリチュートリアル&リファレンス」が一番なのですが、すでに在庫がない状態です(復刊ドットコムでリクエスト投票が始まっている状態です http://www.fukkan.com/vote.php3?no=28802 )。 「[標準]C++辞典」というのもありますが、内容はいまいちですね。 > 標準関数...何処にあるのでしょうか。 標準関数というのが何を指しているのかわかりませんが、標準Cライブラリのことであれば、「新ANSI C言語辞典」あたりが参考になると思います。C++のものとは微妙に違うのですが、実際の処理系との整合性はむしろ高いぐらいです。 2.ポインタの高度な使い方については、ポインタに限るのであれば(C++ではなく)Cの解説書を読んだ方がよいでしょう。メンバへのポインタや、継承関係のあるクラスへのポインタ間のキャストなどは、C++特有のものなので、また別途習得する必要があります。 ただ、「高度な」という観点からは、ポインタに特化するのではなく、関数オブジェクト・反復子・スマートポインタなどとあわせて学習する必要があるかと思います。 3.クラスの高度な使い方については、高度というのがどの程度のことを指しているのか分かりませんが、「Modern C++ Design」などは、非常に高度な内容です。特に、JavaやC#などを使い込んだ人からみても、驚くほど高度だと思います。

noname#17308
質問者

お礼

C++/CLIはMSDNライブラリですか。行ってみます。 "C++標準ライブラリチュートリアル&リファレンス"はAmazonで見つけました。 中古で値段が飛んでるので復刊運動をする意味がわかります(汗 ポインタとクラスについては『C言語ポインタ完全制覇』と『C++クラスと継承完全制覇』で行きます。

その他の回答 (3)

  • suseimei
  • ベストアンサー率35% (17/48)
回答No.4

> 1.C++/CLI > 2.ポインタの高度な使い方(関数のポインタのような初心者向けの本には載ってないようなやつ) > 3.クラスの高度な使い方 > 4.STL > 5.標準関数 ソフト開発者なら必ず興味を示す項目がずらりと並んでいますね。問題は、適切な参考書ですが、正直、"ない"と思います。特に、「1.C++/CLI」に関しては、仕様設計の責任者であるMSのHerb Sutter氏は現在設計背景などを整理している最中です(標準C++設計者のBjarne Stroustrup氏はC++/CLIの一部仕様を快く思っていないようです)。 言語仕様は変更される。このように考えておくとよいでしょう。参考URLなどはこのあたりの事情をかなり詳しく紹介してくれています。お時間のあるときに、一度目を通してみてはいかがでしょうか?

参考URL:
http://www.ttoyota.com/php/cppintro.php
  • thamansa
  • ベストアンサー率40% (95/232)
回答No.2

「Effective C++」はどうでしょうか。 下記URLページの下のほうに表紙の写真が載っています。 このレベルの本では内容がかぶってしまうのは仕方ないですね。似たような内容でも、複数の筆者の解説を読むほうが、より理解が深まるので良いと思います。

参考URL:
http://www.ogis-ri.co.jp/otc/hiroba/OoBook/OoLiteratureGuide/book6_9.html
noname#17308
質問者

お礼

あの、中古なのに値段が元値の二倍以上という本ですね(^^;) 発売年が古い気がしますが、大丈夫でしょうか?

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

1.~5.の内容を全て網羅した本ということでしょうか? 1.と、4.や5.は、方向性が違いすぎるので、同じ本で両方を詳しく解説している可能性はほとんどないと思います。

noname#17308
質問者

お礼

いえ、別に数冊に分かれていても問題無いです。 C++/CLIは本屋にその文字すら見つけることが出来ない状態。 4はSTLリファレンスが通販で買うことが出来るのでそれで良いかな... 標準関数...何処にあるのでしょうか。

関連するQ&A

  • C#とC++/CLI間でポインタが指す内容が変わる

    現在、C++/CLIプログラムをC#で使う必要があり、 C++/CLIで定義したメソッドとクラスでC#側とやり取りする必要が生じております。 以下の書き方で、C++/CLIとC#間のクラスのやり取りはできたのですが、 C++/CLI側で定義されているメソッド内で、ポインタが指し示す値(*id.head)が変わってしまいます(文字化けみたいな感じになる)。 引き渡したポインタ変数の値は一致しているのですが、 どうすれば、C++/CLI側で値を正しく取得できるのでしょうか?。 【C++/CLI側で定義されているクラス】 public value class class1 { public : ULONG code; header    *head; }; typedef struct _header { CHAR achCHdrType[2]; CHAR achMsgLen[2]; } header ; 【C++/CLI側で定義されているメソッド】 ULONG session::open(class1& id) { return session_oepn(id.code, *id.head) } 【C#側でのメソッド参照】 class1 c1 = new class1(); uint status = session.open(&c1); よろしくお願いします。

  • VC++.NETと標準C++とSTLの相性などの質問事項

    自己研鑽のために、標準C++を学習し、STLについても学習しました。仕事で、Javaの経験が半年以上あります。正直な感想、勉強してみると、C++のほうが、気に入ってしまいました。 マイクロソフト関連の仕事をしたことがなく、VisualBasicすらありません。最近では、C#.NETなどがでてきています。 C#2.0やjavaのJ2SE5.0ででてくるGenericや、コレクションクラスにGenericを考慮したものが でてくる。など、C++のSTLの模倣のように感じました。 C#にはデリゲートがあるようですが。関数ポインタや関数オブジェクトそのまんまに見えます。 C#2.0が気になりますがまだ、ベータ版で未来の話なので、Visul C++.NETに興味を持ちました。せっかく勉強した標準C++やSTLの知識はそこでは役に立つのでしょうか。.NETにはそちのほうで独自のstring型やコレクション型があるのではないでしょうか? .NETだと、マネージコードなどガベージコレクトがあるようです。STLのコンテナはそれぞれ内部でデストラクタがヒープの内容を廃棄してくれますが、ガベージコレクトの環境で普通にSTLを使うとどういうことになるのでしょうか? 今度、Visual C++.NETの学習をはじめるかどうかの判断材料にしたいので、現時点までの知識が有効活用できるかどうかを知りたいです。宜しくお願いいたします。

  • C言語の参考書を探しています。

    ご回答のほうよろしくお願いします。 早速ですが、私は只今、職業訓練校にてC言語を習っています。 しかし、色々と勉強しているうちに何個か分からなくなることがありまして、それについて詳しく書いてある本かHPが欲しいなと思いまして、質問させて頂きました。 それで内容ですが、 ・標準関数について使い方と内容を詳しく記載してある本が欲しいのです。 HPやペルプを使っても私にはちょっと分かり難いのでその部分を重点的に記載しているとありがたいです。 ・またC言語の関数の作り方、ポインタの使い方も詳しく書いてある本も欲しいです。 ・それとこれは別で、再度初歩的な部分の勉強したいと思いますので、初心者の参考書も欲しいと思っています。 と色々と要望が多いですが、よろしくお願いします。 ちなみに全部に言えることですが私はMicrosoft Visual C++ 6.0を使っているのでそれに精通した本でお願いします。

  • C#のdelegateをC++とjavaで?

    C#のデリゲードを javaとC++でできないでしょうか。 ただし、質問内容を勘違いされそうなので、求めている内容と、 求めていない内容を、詳しく 書きますと。 インタフェース委譲を使った例は、求めていません。 あらかじめ、委譲先に静的に仕組みを 作っておかなく手も、C#のデリゲードのように、シグニチァが同じなら 委譲先をはめ込めれるのが欲しいです。 単なる関数ポインタの例は、求めて いません。 C#でdelegate型を引数にとる ところに、あるインスタンスの メソッドを渡すと。 どのインスタンスのどのメソッドかまで、 認識して、コールバックできます。 関数ポインタでは、これができない。 STLの関数オブジェクトとか、古い感じの情報にヒントがあるか。調べてみましたが。よくわかりませんでした。 結局、この関数オブジェクトは、僕が求めているモノとは、違うような気がします。 よくわかりませんが。 欲しいのは、どのインスタンスのどのメソッドかまでを特定して、 記憶できる型をどうやって javaや、C++で実装できるか。 それをインタフェース委譲のように、 委譲先にあらかじめ、仕込んでおくことなしに。 ただ、メソッドのシグニチァが同じであるだけで、どのインスタンスのどのメソッドかまでを特定して記憶できる C#のデリゲードのような型を。 特殊なコンポーネントを利用せず。 標準的な言語構文のみをつかって、 どのようにしたら、 javaや、C++で、実装できるか? です。 詳しい方が、いらっしゃいましたら、 教えてください。

  • イテレータの要素を交換したい。

     こんにちは。 C++で、STLを使わず、イテレータの要素を交換したいのですが、中々いい方法が浮かびません。 イテレータの要素で、  A、B、C、D が並んでいるとして、D、B、C、A、順に実行したいのです。 (この要素は関数です) AのポインタとDのポインタを入れ替えればいいと思ってやったんですが、結果的には変化ありませんでした。 どうやったら要素だけを交換して、実行順をD、B、C、Aにできるんでしょうか? STLのitr_swapを使わずにお願いします。

  • C++のテンプレート関数やテンプレートクラスをC#で利用するには?

    C++で作成したテンプレート関数やテンプレートクラス をC#で利用したいと考えております。 テンプレート関数やクラスを明示的実体化してコンパイルし、 C++/CLIでラップすればC#でも使えるという話を聞きました。 テンプレートでない通常の関数やクラスの場合は、 http://www.atmarkit.co.jp/fdotnet/special/vcppinvista01/vcppinvista01_01.html で紹介されているのを見つけたのですが、 テンプレート関数やクラスの場合 具体的にC++/CLI側でどのように記述すればよいか分かりません。 例えば、 ---- [test.h] template <class Type1> class Test{ public:   Type1 x;   template <class Type2>   Type1 func(Type2 y){ ... } }; ----- のようなクラスがあった場合、どうすればよいでしょうか。 明示的な実体化の方法とC++/CLIで明示的実体化した関数やクラスが どのような名前になるのかが分かれば上記サイトの方法で いけるのではないかと思っているのですが…。 環境はVisual Studio2005(or 2008)です。 よろしくお願いいたします。

  • ポインタを使うことのメリットとは??

     こんばんは、Cの初心者です宜しくお願いします。  Cでポインタの記述を良く見るのですが、色々と本とかサイトとかで調べましたが、ポインタを使うことのメリットとか、使う理由を書いてるものに巡り合いません。  一体何故ポインタというものがあるのでしょうか。  変数(アドレス)を参照する事で、メモリの節約とか動作が速くなるとか、そのようなものが主な理由でしょうか。  逆にポインタを使わないと書けないプログラムとかはあるのでしょうか。  関数は、ポインタを引き数として元から設計されているので仕方がないとしても、、、、、、  以上初心者としての非常に素朴な疑問です、宜しくお願いします。

  • C#で、Cのファイルポインタ(?)のような機能

    プログラムの初心者、かつ、C#の初心者です。  C言語では、ファイルポインタを関数から関数へ渡すことができると思うのですが、C# ではどのようにすれば良いのですか? C#を使っていますが、C言語のような構造でプログラムを書いています。  やりたいことは、ファイルポインタを渡しながら、各関数で、ドカドカと計算結果をファイル内に書いていくということです。  宜しくお願いいたします。

  • 勉強法2

    何回か書き込みしたことがある tomojyuuです。 C++の初心者向けの本を理解した所で簡単なコンソール プログラムを作っている所ですが、 私、Cは知らないので標準の関数を使っていないのです。 本にも1~2個載っているだけで、関数の使い方は 関数のリファレンスの本に書いてあるので、使い方が なんとなくわかるので、APIの使い方を勉強しよう と思っているのですが、みなさん方は独学でどのよう な方法でC++を勉強しているのか聞きたく書き込み ました。

  • C++の文法で分からないことがあります

    C++のコードを解析しているときに分からない部分が出てきたので教えていただきたいのですが... あるクラスのメンバ関数の引数で( {オブジェクト名}*& {変数名} )とあったのですが, *& てなんでしょうか? 参照へのポインタという意味かなとは思うのですがそれはそれで意味が分からないし、これを使うことでどんなことが起こるのか分かりません。 どなたか知っている方教えてください。 あと、objective-c++のリファレンスって存在するのでしょうか?あったらどこにあるのか教えてくださると非常に助かります。 よろしくお願いします。

    • 締切済み
    • Mac

専門家に質問してみよう