- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
C++11 编译器能否(它们确实)注意到一个函数是一个constexpr 并且即使它们没有被声明为constexpr 也如此对待它们?
我正在向使用直接来自维基百科的示例的人演示 constexpr 的用法:
int get_five() {return 5;}
int some_value[get_five() + 7]; // Create an array of 12 integers. Ill-formed C++
令我惊讶的是,编译器没有问题。因此,我进一步更改了 get_five( ) 以获取一些 int 参数,将它们相乘并返回结果,同时仍未明确声明为 constexpr。编译器也同意这一点。似乎如果编译器可以做到这一点,那么为了显式声明某些内容而设置所需的限制就没有多大意义了constexpr。
最佳答案
在正常运行的 C++11 编译器上,您的代码将被拒绝。
根据它被接受的情况,您几乎可以肯定正在使用 gcc(或类似其错误的东西)。 gcc [在某种程度上取决于标志] 可以接受在任何情况下都不是常量的数组大小(例如,取决于用户的运行时输入),因为它们支持 C++ 中 C99 可变长度数组的模拟。
关于c++ - 隐含的constexpr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749825/
我正在使用 Fortran90,但我对它不太熟悉。 在代码的某些地方,我想在 t0 和 tf 之间创建一个由 n 个线性等距点组成的数组,所以我尝试了以下方法: t = t0+(/(i,i=0,n-1
我试图弄清楚为什么在数组构造函数内的 do 构造之前放置标量会产生它所得到的答案。 我一般理解 do 结构,(/(i,i=1,5)/) 相当于 (/1,2,3,4,5/)。 real, dimensi
我目前遇到的情况是,我需要能够通过应用程序 B 的隐式 Intent 广播来启动应用程序 A。应用程序之间没有数据传递。应用程序 A 被简单地启动,显示特定的 Activity。 我的问题是这样的;从
我是一名优秀的程序员,十分优秀!