私はどのスタック/ヒープ/静的な平均か、それらの間で何が違うのか尋ねていません。私はどの領域にconstオブジェクトを要求していますか?C++ではどのメモリ領域がconstオブジェクトですか?
C++コード:
#include <cstdio>
using namespace std;
const int a = 99;
void f()
{
const int b = 100;
printf("const in f(): %d\n", b);
}
int main()
{
const int c = 101;
printf("global const: %d\n", a);
f();
printf("local const: %d\n", c);
return 0;
}
メモリ領域はa
、b
、及びc
にありますか?そして彼らの生涯は何ですか? C言語に違いはありますか?
住所を取得すればどうなりますか?
アドレスを取得しないと、最適化されている可能性があります。 – Antimony
実際には、それらがメモリ領域にまったく存在する必要はありません。コンパイラはこれらの変数をすべて最適化できます。 'const'は変数の存続期間に何の違いもありません。 – john
@Antimony詳細を教えてください、多くのありがとうございます。 :] – imsrch