相关疑难解决方法(0)

是否可以使用const变量而不是constexpr来声明数组?

这个C++代码是否正确?

const size_t tabsize = 50;
int tab[tabsize];
Run Code Online (Sandbox Code Playgroud)

问题是我已经看到了很多关于这件事的相互矛盾的意见.即使是## c ++ IRC频道和节目论坛的人也要求完全不同的东西.

有人说上面的代码是正确的.

其他人认为它不是,它应该是这样的:

constexpr size_t tabsize = 50;
int tab[tabsize];
Run Code Online (Sandbox Code Playgroud)

由于我对"C++专家"的观点存在冲突已经足够困惑,我可以请一个合理的备份答案吗?非常感谢!

c++ arrays const

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

将const分配给constexpr变量

我试图运行一个基于的程序constexpr.

码:-

#include <iostream>
using namespace std;

int main()
{

        const int i = 10;
        constexpr int j = 10;

        constexpr int val1 = i;
        constexpr int val2 = j; 

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

在我所遵循的书中,提到如果将const分配给constexpr变量,那就是错误.

但我的程序编译没有任何投诉.

我错过了什么吗?

c++ language-lawyer constexpr c++11

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

使用 const 变量作为非类型模板参数

我有一个关于使用const变量作为模板参数的问题。

使用 gcc 和 clang x64 trunk可以很好地编译以下内容:

template <int N>
void func() { }

int main(int argc, char *argv[]) { 
    const int x = 12;
    func<x>();
}
Run Code Online (Sandbox Code Playgroud)

然而,正如人们所预料的那样,这个版本main()无法编译:

int main(int argc, char *argv[]) { 
    const int x = argc;
    func<x>();
}
Run Code Online (Sandbox Code Playgroud)

不应该x被要求吗constexpr?或者,当该值可以在编译时确定时,是const隐式的吗?constexpr

c++ c++11

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

数组声明中的“const int”和“int”有区别吗?

之间有什么区别:

int size = 10000;
Run Code Online (Sandbox Code Playgroud)

const int size = 10000;
Run Code Online (Sandbox Code Playgroud)

此代码处理数组,其中size变量名称将作为 进入数组array[size]

我如何在我的代码中使用它:

int main() {
    int size = 50000; // here is where I had const before
    int * items;
    items = new int [size];
    
    //random array for bubbleSort
    for (int i = 0; i < size; i++) {
        items[i] = rand();
    }
    
    clock_t start, end;
    assert((start = clock()) != -1);
    sort1(items, size); //bubbleSort
    end = clock();
    cout << "bubbleSort(random): " << (double)(end - …
Run Code Online (Sandbox Code Playgroud)

c++ arrays integer constants

-5
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×4

arrays ×2

c++11 ×2

const ×1

constants ×1

constexpr ×1

integer ×1

language-lawyer ×1