C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

セグメンテーション違反はC++での実際の未定義の動作ですか?


未定義動作は、実装者(コンパイラやOSなど)とコンピュータに、「やりたいこと」を実行する自由、つまり結果を気にしない自由を与える方法です。

セグメンテーション違反が発生するケースは、本質的に一時的なものです。それらは常にセグメンテーション違反を引き起こすとは限りませんが、正しく実行することもできます(または少なくともそう見える)。たとえば、次のコードフラグメントを考えてみましょう-

#include<iostream>
int main() {
    int arr[2];
    arr[0] = 0;
    arr[1] = 1;
    arr[2] = 2; // Undefined behaviour
    arr[3] = 3; // Undefined behaviour
}

このコードは正しく実行されるか、セグメンテーション違反が発生する可能性があります。これは実際には定義されておらず、実装に依存していません。未定義動作の詳細については、こちらをご覧ください-https://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html


  1. Linux上のc++のトップIDEは何ですか?

    大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。 Linuxに最適なC/C++IDEのリストは次のとおりです。 C /C++開発用のNetbeans- Netbeansは、C /C++および他の多くのプログラミング言語向けの無料のオープンソースで人気のあるクロスプラットフォームIDEです。コミュニティで開発されたプラグインを使用して完全に拡張可能です。 Eclipse CDT(C / C ++

  2. Window上のc++のトップIDEは何ですか?

    大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。これがWindowに最適なC/C++IDEのリストです。 Visual Studio − Microsoftが開発したIDEです。このIDEは、Windows上でC ++のプログラムを構築、開発、およびプロファイリングするためのクラス最高のツールを備えています。 Visual Studioには、多数のプラグインを備えた巨大なプラグインストアもありま