私は通常C++をコーディングしませんが、私の奇妙な計算機科学の友人は、私のすばらしいFORTRANプログラムを見るのにうんざりし、私のC ++コードの方が好きなので、そのうちの1つをC++で書き直すように要求しました。(ここでお金を賭けています。)正確な用語は、最新のC++コンパイラーでコンパイル可能である必要があるということです。多分彼は良いconio.hを嫌っています-私は知りません。
今では、C ++で書くのに完全に良い方法があることに気づきましたが、C ++バージョンを可能な限りFORTRAN風にすることで、ここで個人的な勝利を収めようとしています。ボーナスポイントについては、コードを変換するときに時間と労力を節約できる可能性があります。
それで!これにより、次の関連クエリが表示されます。
gotosについて:
- どのように後藤を動かしますか?
- C ++でのgotoの制約は何ですか?
- スコープについて何か懸念はありますか?(私は可能な限りグローバルにスコープを設定しようとしますが、あなたは決して知りません。)
- GCC拡張機能を使用してvoidポインター配列に移動する場合、未定義の動作などに関する新しい懸念はありますか?
longjmpの場合:
- longjmpをどのように安全に使用しますか?
- C ++でのlongjmpsの制約は何ですか?
- スコープに対して何をしますか?
- longjmpが安全であるように見える特定の瞬間はありますが、実際には注意する必要はありませんか?
- longjmpを使用して計算されたgotoをどのようにシミュレートしますか?
- プログラムに関数が1つしかない場合、gotoよりもlongjmpを使用することに具体的なメリットはありますか?
今のところ、私の主な関心事は、このために計算されたgotoを機能させることです。voidポインタ配列はC++標準の一部ではなく、GCC固有の拡張機能であるため、おそらくlongjmpを使用してこれを機能させるようです。