7

現在の C++0x ドラフトでは、予期される動作を強調するためにいくつかの新しい明示的なキーワードが導入されていることに気付きました (素晴らしい動きです!)。

例:デフォルト化/削除された関数 ( = defaultおよび= delete )、新しいnullptr定数、変換演算子にも使用できる明示的なキーワード、...

したがって、純粋仮想関数の= 純粋な構文も表示されると予想していました。

代わりに、醜い(もちろんIMHO)= 0のものがまだ存在します。

わかりました、 #define pure 0を使用できます(そして時々私はそれを行います) が、一貫性/一貫性は間違いなく標準の目標であるべきだと思います。さらに、私はそれが一種の非常に衒学的な要求であることを知っていますが、= 0は確かに私の C++ の最も嫌いな部分の 1 つでした (婉曲表現)...

私の質問:

  • 私は知っています、新しい標準は完全な機能ですが、「必要なマクロ」として、この小さなペダンティックな追加を要求することはまだ可能ですか?
  • 答えが肯定的である場合、どのように? (周りに委員はいますか?)
  • この追加を求めるには、私は少し衒学的すぎる(または間違っている)のでしょうか?純粋仮想関数の現在の構文についてどう思いますか?
4

5 に答える 5

29

それは小さな衒学的な変化ではありません。新しいキーワードの導入は、あなたが求めることができる最大の変化の 1 つです。それは彼らがどんな犠牲を払っても避けようとするものです. 「純粋」という言葉を使用しているすべてのコードを考えてみてください。

一般に、彼らのガイドラインは、以前はできなかったものだけを言語に追加することです。キーワードは新しいものを有効にしないため(pureたとえば、より適切な型チェックを有効にする nullptr キーワードとは異なります)、優先度が非常に低いことが予想されます。彼らが行うことは基本的にメンテナンス作業であることを覚えておいてください。一番の目標は、言語 (またはそれを使用する既存のコード) を壊さないようにすることです。追加される機能は、下位互換性を損なうことなく実行できる場合にのみ追加されます。

ただし、委員会は多かれ少なかれオープンなフォーラムです。彼らのウェブサイトをブラウズすると、いくつかのメールアドレスが見つかるはずです。または、comp.std.c++ニュースグループを使用します。

彼らの会議も開いていると思いますので、次の会議をゲートクラッシュさせることができます. ;)

于 2009-05-12T12:12:24.753 に答える
5

C++で最も嫌いなのは" = 0;"???

この言語を使ったことがありますか?あなたがあなたの憎しみをよりよく使うことができる他のたくさんのものがあります。

<Flame retardant>私はC++を10年以上使用しています。私にとっては、計算量の多い作業を行う必要があるときはいつでも、それが選択される言語です。</Flame retardant>

于 2009-05-12T13:22:10.713 に答える
4

まず、comp.std.c++ニュースグループを読み始めます。ここは公開討論の場です。

第二に、現在の C++0x ドラフトには正誤表のみが適用されると思います。委員会は実際には最終段階にあります。

もしあなたが非常に熱心なら、本当に正当な理由を付けて、ニュースグループであなたの提案をしてください。そして、それが撃墜されることを期待してください。実質的により有用な提案 (モジュールなど) は行われていません。

補遺: このようなことを進めたい場合は、委員会に参加する (ANSI が持っている) か、委員会の誰かを見つけて提案を推し進める必要があります。

于 2009-05-12T12:07:41.837 に答える
3

遅すぎる。リクエストの募集は数年前に終了しました。

(投稿が保留されているページがありましたが、そのリストはもう見つかりません。)

于 2009-05-12T12:11:11.760 に答える
2

キーワードを追加することの欠点に関するjalfのコメント (私は 100% 同意します) に加えて、コンピューター サイエンスでは純粋な関数というフレーズが既に意味を持っていることにも注意してください。これは、同じパラメーターを指定すると、関数は常に同じ値を返し、副作用がないことを意味します。したがって= pure、オーバーライドする必要がある仮想関数を示すことを選択することは、不適切な構文の選択になります。

于 2009-05-13T20:37:09.190 に答える