小编Die*_*ser的帖子

变量是否在堆栈上连续?

我想知道下面代码中的数组a和b是否在内存中是连续的:

int main() {
    int a[3];
    int b[3];

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

a[0],a[1]并且a[2]应该是连续的和相同的b,但是否有任何关于b将在哪里分配的保证a

如果没有,有没有办法强迫ab相互毗连?即,使它们在堆栈中彼此相邻分配.

c++ variables contiguous

5
推荐指数
1
解决办法
526
查看次数

c ++:"期望的常量表达式"

我在以下代码的最后一行中收到"预期的常量表达式"错误:

int main() {
    const float a = 0.5f;
    const float b = 2.0f;

    int array_of_ints[int(a*b + 1)];
}
Run Code Online (Sandbox Code Playgroud)

我想这是因为int(a*b + 1)在编译期间不知道的事实,对吧?我的问题是:有没有办法编写上面的例子,以便它可以工作,并array_of_ints有大小int(a*b + 1)

任何帮助或洞察这里发生的事情将不胜感激:)

编辑:我意识到矢量会解决这个问题.但是,我希望数组的内容在堆栈上.

c++ expression constants

1
推荐指数
1
解决办法
3008
查看次数

标签 统计

c++ ×2

constants ×1

contiguous ×1

expression ×1

variables ×1