C++ でスタックまたはヒープにオブジェクトを割り当てるための経験則を探していました。ここでSOに関する多くの議論を見つけました。多くの人が、それはオブジェクトの寿命に関するものだと言いました。関数のスコープよりも長い寿命が必要な場合は、ヒープに入れます。それは完全に理にかなっています。
しかし、私を混乱させたのは、多くの人が、オブジェクトが小さい場合はスタックに割り当てるということです。オブジェクトが大きい場合は、ヒープに入れます。しかし、オブジェクトを識別する方法が大きいかどうかについて、誰も言いませんでしたか?
以下の質問があります。
- オブジェクトが大きいかどうかを識別する方法は?
- スタックの最大サイズは?OSごとにスタックサイズが異なる?
- ラップするラッパークラスがあります
vector<string>
。約100アイテムになります。このクラスをスタックに割り当てると、スタック オーバーフローが発生しますか? 私はこれを試しましたが、完全に機能しました。私が何か間違ったことをしているかわからない。