标签: c++
假设我的范围内有两个变量。
int a, b;
可以安全地假设它们将一个接一个地存储在进程的内存中吗? (相差sizeof(int))
sizeof(int)
答案 0 :(得分:4)
如果该作用域是局部函数作用域,则否,假设安全是不安全的。该标准对此不提供任何保证。 (与structs相对)
structs
答案 1 :(得分:0)
不,假设是不安全的。 但是大多数情况下,它们会一个接一个地存储在进程的内存中。
喜欢这个:
#include<iostream> using namespace std; int main() { int a,b; cout<<&a<<endl; cout<<&b<<endl; int c; int d; cout<<&c<<endl; cout<<&d; }
以下程序的输出是:
在这里,我们可以很容易地注意到这四个地址只是四个连续的内存块(大小不同(sizeof(int))。