タグ付けされた質問 「segmentation-fault」

プロセスに属していないメモリにアクセスすると、セグメンテーション違反が発生します。このタグは、言語を示すタグおよびオペレーティングシステムを示すタグと一緒に使用してください。セグメンテーション違反は通常、ポインタ変数(ほとんどの場合、無効なアドレスを含む)を使用した逆参照操作またはバッファオーバーフローの結果です。無効なポインタ値の根本的な原因は、セグメンテーション違反を生成している場所から遠く離れている可能性があります。

1
プリミティブstatic_vector実装での未定義の動作の可能性
tl; dr:static_vectorの動作が未定義だと思いますが、見つかりません。 この問題はMicrosoft Visual C ++ 17にあります。この単純で未完成のstatic_vectorの実装、つまりスタック割り当て可能な固定容量のベクターがあります。これは、std :: aligned_storageとstd :: launderを使用するC ++ 17プログラムです。私はそれを問題に関連すると思われる部分にまで煮詰めようとしました: template <typename T, size_t NCapacity> class static_vector { public: typedef typename std::remove_cv<T>::type value_type; typedef size_t size_type; typedef T* pointer; typedef const T* const_pointer; typedef T& reference; typedef const T& const_reference; static_vector() noexcept : count() { } ~static_vector() …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.