問題タブ [c++-faq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - static_cast、dynamic_cast、const_cast、および reinterpret_cast はいつ使用する必要がありますか?
次の適切な用途は何ですか:
static_cast
dynamic_cast
const_cast
reinterpret_cast
- C スタイル キャスト
(type)value
- 関数スタイルのキャスト
type(value)
どの特定のケースでどちらを使用するかをどのように決定しますか?
c++ - C ++プログラマーが知っておくべき一般的な未定義の動作は何ですか?
C ++プログラマーが知っておくべき一般的な未定義の動作は何ですか?
言う、のように:
c++ - C ++で実際にプライベートまたは保護された継承が必要なのはなぜですか?
C ++では、基本クラスからプライベート/保護を継承したい場合は考えられません。
本当に便利ですか?
c++ - The Definitive C++ Book Guide and List
この質問は、毎年出版される数十冊の悪い C++ 書籍の中から、数少ない真珠を集めようとしています。
外出先でインターネット上のチュートリアルから学ぶことが多い他の多くのプログラミング言語とは異なり、よく書かれた C++ の本を勉強せずにすぐに C++ を習得できる人はほとんどいません。これを行うには、大きすぎて複雑すぎます。実際、C++ は非常に大規模で複雑なため、非常に質の悪い C++ の本がたくさん出回っています。そして、私たちは悪いスタイルについて話しているのではなく、明白な事実上の誤りを誇示したり、ひどく悪いプログラミングスタイルを促進したりするようなものです.
承認された回答を編集して、質の高い本とおおよそのスキル レベルを提供し て ください。(レギュラーは、推奨事項に同意しない場合、容赦なくあなたの仕事を元に戻す可能性があります。) あなたが個人的に読んだ/恩恵を受けた各本について、短い宣伝文句/説明を追加します。品質、見出しなどについて自由に議論してください。基準を満たす本はリストに追加されます。Association of C and C++ Users (ACCU) によるレビューがある書籍には、レビューへのリンクがあります。
c++ - std :: wstring VS std :: string
std::string
との違いがわかりませんstd::wstring
。wstring
Unicode文字などのワイド文字をサポートしていることは知っています。次の質問があります。
- いつ使い替えるべきです
std::wstring
かstd::string
? std::string
特殊文字を含むASCII文字セット全体を保持できますか?std::wstring
すべての一般的なC++コンパイラでサポートされていますか?- 正確には「ワイド文字」とは何ですか?
c++ - 派生クラスで同じ名前だが異なるシグネチャを持つ関数
同じ名前の関数がありますが、基本クラスと派生クラスのシグネチャが異なります。派生クラスから継承する別のクラスで基本クラスの関数を使用しようとすると、エラーが発生します。次のコードを参照してください。
gcc コンパイラから次のエラーが表示されます。
int foo(int i){};
class から削除するB
か、から名前を変更するとfoo1
、すべて正常に動作します。
これの何が問題なのですか?
c++ - C++ でオブジェクトをどのようにシリアル化しますか?
シリアル化してソケット接続を介して送信する必要があるオブジェクトの小さな階層があります。オブジェクトをシリアライズしてから、オブジェクトのタイプに基づいてデシリアライズする必要があります。C++ でこれを行う簡単な方法はありますか (Java にあるように)。
C++ シリアル化のオンライン コード サンプルまたはチュートリアルはありますか?
EDIT:明確にするために、オブジェクトをバイト配列に変換してからオブジェクトに戻す方法を探しています。ソケット送信はできます。
c++ - 前方宣言はいつ使用できますか?
別のクラスのヘッダー ファイルでクラスの前方宣言を行うことが許可されている場合の定義を探しています。
基本クラス、メンバーとして保持されているクラス、参照によってメンバー関数に渡されるクラスなどに対してそれを行うことはできますか?
c++ - C++ 標準は、int、long 型のサイズをどのように規定していますか?
基本的な C++ 型のサイズに関する詳細情報を探しています。アーキテクチャ (16 ビット、32 ビット、64 ビット) とコンパイラに依存することはわかっています。
しかし、C++ の標準はありますか?
32 ビット アーキテクチャで Visual Studio 2008 を使用しています。ここに私が得るものがあります:
char
さまざまなアーキテクチャやコンパイラでの、short
、int
、long
、(および私が思いもよらなかった他の型)double
のサイズを示す信頼できる情報を見つけようとしましたが、あまり成功しませんでした。float