節P3は、その執行のセクションの下に次のパターンを提供しています:意味は、コアのcppガイドラインの
F( T *、int)インタフェースとf(スパン)インタフェースの比較
現代のC++を理解しようとしている皮質な古いCプログラマにとって、
節P3は、その執行のセクションの下に次のパターンを提供しています:意味は、コアのcppガイドラインの
F( T *、int)インタフェースとf(スパン)インタフェースの比較
現代のC++を理解しようとしている皮質な古いCプログラマにとって、
セクションP3は、「Express intent」です。それゆえ、アイデアは意図をより明確に表現するものです。
f(T*, int)
を考えてください。
この情報は、機能シグネチャでうまく表現されていません。他の手段、例えば(span<T>
オブジェクトで参照されている)配列をとります。この例では、次のように記述しています:オブジェクトから参照される配列です。ポインタが多目的であるのとは異なり、これがspan
の唯一の目的であるため、意図は明確です。
したがって、f(span<T>)
は、意図が配列をとることを意図している場合、より良い意図を述べています。
質問に加えてあなたは "私のポインタがヌルになるのですか?"と "所有権セマンティクスは何ですか?"と付け加えました。 (後者への答え*は、** **データが所有している必要がありますが、十分なレガシーAPIがありますが依然として質問する必要があります)。 –
「スパン」の詳細[ここ](https://stackoverflow.com/questions/45723819/what-is-a-span-and-when-should-i-use-one) – Default