タグ付けされた質問 「c++03」


6
仮想関数にデフォルトのパラメーターを設定できますか?
基本クラス(またはインターフェイスクラス)を宣言し、そのパラメーターの1つ以上にデフォルト値を指定する場合、派生クラスは同じデフォルトを指定する必要がありますか?そうでない場合、どのデフォルトが派生クラスに現れますか? 補遺:私はまた、これがさまざまなコンパイラでどのように処理されるか、およびこのシナリオでの「推奨される」実践に関する入力に興味があります。
164 c++  c++11  c++03 

9
C ++でのTrigraphシーケンスの目的?
C ++ '03 Standard 2.3 / 1によると: 他の処理が行われる前に、以下の3つの文字のシーケンス(「3文字表記シーケンス」)が出現するたびに、表1に示されている単一の文字に置き換えられます。 ---------------------------------------------------------------------------- | trigraph | replacement | trigraph | replacement | trigraph | replacement | ---------------------------------------------------------------------------- | ??= | # | ??( | [ | ??< | { | | ??/ | \ | ??) | ] | ??> | } | | …
127 c++  c++03  trigraphs 

8
C ++ 03とC ++ 11の間に、実行時に検出できる違いがあるとすれば、どのようなものですか?
Cコンパイラーでコンパイルすると0を返し、C ++コンパイラーでコンパイルすると1を返す関数を書くことができます(取るに足らない解決策#ifdef __cplusplusは興味深いもので はありません)。 例えば: int isCPP() { return sizeof(char) == sizeof 'c'; } もちろん、上記がとsizeof (char)同じでない場合にのみ機能しますsizeof (int) 別のよりポータブルなソリューションは次のようなものです: int isCPP() { typedef int T; { struct T { int a[2]; }; return sizeof(T) == sizeof(struct T); } } 例が100%正しいかどうかはわかりませんが、あなたは考えを理解しています。同じ関数を書く方法は他にもあると思います。 C ++ 03とC ++ 11の間に、実行時に検出できる違いがあるとすれば、どのようなものですか?言い換えると、それが適合C ++ 03コンパイラーによってコンパイルされたかC ++ 11コンパイラーによってコンパイルされたかを示すブール値を返す同様の関数を作成することは可能ですか? bool isCpp11() …

3
デフォルト、値、ゼロの初期化の混乱
値とデフォルトとゼロの初期化について非常に混乱しています。特に、異なる標準C ++ 03とC ++ 11(およびC ++ 14)を採用する場合。 私はここで本当に良い答えを引用して拡張しようとしています値-/デフォルト-/ゼロ-初期化C ++ 98とC ++ 03誰かが記入するのを手伝ってくれるなら多くのユーザーを助けるので、それをより一般的にしますいつ何が起こるかについての概要を把握するためにギャップが必要でしたか? 一言で言えば例による完全な洞察: new演算子によって返されるメモリが初期化される場合もあれば、新しい型がPOD(単純な古いデータ)であるかどうか、またはPODメンバーを含み、を使用しているクラスであるかどうかに依存しない場合もあります。コンパイラーが生成したデフォルトのコンストラクター。 ではC ++ 1998:初期化の2種類があるゼロとデフォルトの初期化は、 C ++ 2003の初期化の3種類、値初期化を加えました。 C ++ 2011 / C ++ 2014のみリストの初期化は、添加し、そしてための規則値- / default- /ゼロ初期化は、ビットを変更しました。 仮定: struct A { int m; }; struct B { ~B(); int m; }; struct C { C() : m(){}; …
88 c++  c++11  c++14  c++03  c++98 

10
C ++ 03で「auto」キーワードを使用する理由はありますか?
この質問は、C ++ 11が承認される前、およびautoキーワードの意味が大幅に変更される前の2009年に最初に投稿されたことに注意してください。提供された回答は関連しています、C ++ 03の意味(auto指定されたストレージクラスである)にのみ、C ++ 11の意味(auto自動型推論)にしません。C ++ 11をいつ使用するかについてのアドバイスを探している場合auto、この質問はその質問とは関係ありません。 staticブロックスコープの外で宣言された変数は暗黙的にグローバルであるため、長い間、Cでキーワードを使用する理由はないと思っていました。次に、変数をstaticブロックスコープ内として宣言すると永続的な期間が与えられ、ブロックスコープ外(プログラムスコープ内)で宣言するとファイルスコープ(そのコンパイルユニットでのみアクセス可能)になることがわかりました。 したがって、これにより、私が(おそらく)まだ完全には理解していないキーワードが1つだけauto残ります。それはキーワードです。「ローカル変数」以外の意味はありますか?あなたがそれを使いたいと思うところならどこでもあなたのために暗黙のうちに行われていないことは何ですか?auto変数はプログラムスコープでどのように動作しますか?static autoファイルスコープの変数はどうですか?このキーワードには、完全を期すために存在する以外の目的がありますか?
85 c++  keyword  c++03 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.