もともとCの一部ではなかったが、C++で/のために発明され、その利点のために後でCに採用された実際のC標準の機能は何ですか?
1つの顕著な例は、単一行コメント//
です。これは、もともとC++から来たもので、後にCによって採用されました。
C++の開発から明示的または暗黙的にもたらされた実際のC標準の機能をもっと知っていますか?
情報:もちろん、C++はCから派生していることは知っていますが、派生したC++の開発から採用された機能について考えていただけです。
C++の影響を直接受けていることは確認できません1、しかしここにC99で追加された標準C++の機能のリストがあります:
C11:
1 たとえば、Bの前身であるBCPLは、Cの前身であるBの前身であり、すでに単一行コメントに対して同じ構文を持っています。これらの一部は、標準C++に組み込まれる前に、一部のC実装で言語拡張としてサポートされている場合があります。これらの場合、標準Cと標準C++の両方が、互いに影響を与えるのではなく、同じソースから影響を受けている可能性があります。
属性 はC++ 11で追加され、次のC標準リビジョン C2x で追加されます。この機能の proposal (および here )は特にC++を参照しています。
属性は、たとえば、コンパイラがより良い診断を発行したり、生成されたコードを最適化したりするのに役立つ情報を提供するのに役立ちます。 ソース
例:
int [[attr1]] i [[attr2, attr3]];
[[attr4(arg1, arg2)]] if (cond)
{
[[vendor::attr5]] return i;
}
この例では、「属性attr1は変数iのタイプに適用され、attr2およびattr3は変数自体に適用され、attr4はifステートメントに適用され、vendor :: attr5はreturnステートメントに適用されます。 " ソース