腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(4028)
视频
沙龙
1
回答
c++14
静态
常量
表达式
auto
与
odr
用法
、
、
、
、
我有以下
c++14
代码: template<typename T> static constexpr
auto
something{T::foo()};constexpr
auto
Test<T>::something; 不起作用。谢谢!
浏览 13
提问于2019-02-08
得票数 5
回答已采纳
6
回答
对
静态
常量
char[] char[]的引用未定义
、
、
、
我想在我的类中有一个static const char数组。GCC抱怨说我应该使用constexpr,尽管现在它告诉我这是一个未定义的引用。如果我将数组设为非成员,那么它就会编译。怎么一回事?struct foo { static constexpr char baz[] = "quz";void foo::bar() {}
浏览 1
提问于2011-11-05
得票数 215
回答已采纳
1
回答
依赖
表达式
和
ODR
-在
C++14
中的通用Lambda中使用
、
、
、
、
g = [](
auto
a) { }; 这不应该是编译时错误,因为存在依赖
表达式
而没有捕获默认值?或者,依赖
表达式
隐式捕获变量的条件是否仅在存在捕获默认值时才
浏览 4
提问于2017-03-03
得票数 7
回答已采纳
2
回答
带有std::function的泛型lambda不捕获变量
、
、
我正在尝试使用
C++14
的泛型lambda,但是在std::function方面遇到了麻烦。iostream>{ std::function<void(int)> f = [&](
auto
浏览 3
提问于2015-01-25
得票数 27
回答已采纳
2
回答
常量
表达式
中的
静态
成员访问
、
、
、
、
可以通过两种方式访问
静态
类成员函数或变量:通过对象(obj.member_fun()或obj.member_var)或通过类(Class::member_fun()或Class::member_var)static
auto
v() { return s_v; } Start prog.cc:12:24: error: constexpr变
浏览 7
提问于2017-07-09
得票数 13
回答已采纳
1
回答
在头文件中使用符合
ODR
要求的
常量
、
、
查看,我意识到不能通过头文件使用匿名命名空间中的对象或函数,因为它会导致类定义或内联函数中的
ODR
冲突。如果是这样的话,那么是否可以在const函数或类中安全地使用命名的static对象?例如,如果CONSTANT位于namespace下面,它将是不安全的,但是使用带有
静态
链接的
常量
可以吗?
浏览 0
提问于2016-12-14
得票数 3
回答已采纳
1
回答
为什么无法在类主体中初始化
静态
const字符串成员
、
我使用的是c++ 14,我需要在我的类中使用
静态
的const字符串。
浏览 9
提问于2017-07-19
得票数 4
回答已采纳
2
回答
链接器错误(未定义的引用)
与
“
静态
const char*”和完美转发
、
、
、
、
#include <iostream>{} { SomeStruct() print(s
浏览 4
提问于2015-03-03
得票数 3
回答已采纳
1
回答
使用lambda捕获的constexpr值作为数组维数
、
、
、
、
GCC和Clang编译了以下代码:{
auto
Lambda = [Size]{ int Dim[Size]; };然而,所有三个编译器都对这段代码很满意:{
auto
Lambda = []{ int Dim[Size这个问题
与
有关
浏览 2
提问于2015-02-27
得票数 6
回答已采纳
2
回答
为什么在lambdas中隐式地捕获了const in (或shorts)?
、
、
、
、
该文件汇编如下: const int x = 123; g();}int main(){
auto
g = []() { std::cout << x << "\n"; }; g();
浏览 5
提问于2017-10-13
得票数 44
回答已采纳
2
回答
在编译时可以使用` std::initializer_list`‘,而不能使用
ODR
吗?
、
、
、
在下面的独立程序中,我希望在编译时展开for循环,甚至完全计算,因此在链接时没有必要使用Foo::MyNumbers:{ constexpr static
auto
MyNumbers那么,有什么可以用不需要
ODR
定义的constexpr std::initializer_list有效地完成呢?注意:我正在两个编译器上使用-std=
c++14
编译,但我意识到它们可能并不完全符合--尽管我使用的版本是最近的。我想知道更多最新版本是否允许上述代码。编辑:在
与
ChrisBeck讨论之后,改变了我的示例
浏览 3
提问于2016-04-18
得票数 2
2
回答
模板中
静态
成员的初始化
、
、
、
另外,如果我取消了显式实例化的注释,VS2015RC也给出了42,这很有趣,因为这里的模板参数
与
main函数中使用的参数不同。// ...
浏览 7
提问于2015-07-13
得票数 6
回答已采纳
1
回答
强制模板实例化通过类型胡枝子template<typename T,T> -为什么它工作?
、
、
如果我将#2#从int&改为int,我将得到:-error:'InitCRTP::init‘的值在
常量
表达式
中不可用 如果我将#1#改为template <T>struct NonTypeParameter
浏览 0
提问于2019-09-16
得票数 2
回答已采纳
1
回答
内嵌函数中未定义的引用,用一元+求解
、
、
、
我有一个奇怪的gcc 4.7问题,启用了c++11:constexpr unsigned int getDim(const int e){ ( (e==3)? C::Set::Dimension : +D::Set:
浏览 2
提问于2014-03-10
得票数 4
回答已采纳
1
回答
有人能解释一下当前C++0x标准草案的这一段吗?
、
表达式
可能被计算,除非它是一个未计算的操作数(第5条)或它的子
表达式
。
odr
使用了一个变量或非重载函数,其名称显示为一个潜在的求值
表达式
,除非它是一个满足出现在
常量
表达式
(5.19)中的要求的对象,并且立即应用lvalue-rvalue转换(4.1)。这是
odr
-如果它显示为一个潜在的计算
表达式
(包括非
静态
成员函数(9.3.1)体中的隐式转换的结果),则使用
odr
。ISO标准2003:
表达式
可能会
浏览 1
提问于2011-04-06
得票数 13
回答已采纳
2
回答
隐式捕获未指定捕获的模板lambda中的const变量
、
、
、
、
考虑以下代码: const
auto
x = 1;} 。我应该信任哪个编译器?
浏览 6
提问于2021-03-03
得票数 16
回答已采纳
3
回答
为什么有时不需要在lambda中捕获const变量?
、
、
、
我检查了
C++14
标准中的5.1.2节(Lambda
表达式
),但是找不到原因。你能给我指一段解释这一点的段落吗? 更新:我观察到了GCC 6.3.1和7(主干)的这种行为。
浏览 4
提问于2017-04-18
得票数 81
回答已采纳
2
回答
静态
数据成员的红色?
N4687: D.1
静态
数据成员的读取-最终例子] 我英语不好,所以我在学习标准时遇到了几个问题(我只是来自
odr
在2014年C++ (
c++14
/1Y)之前,sta
浏览 6
提问于2017-11-13
得票数 2
回答已采纳
1
回答
未捕获变量在lambda中的使用
、
、
、
我不能完全理解
C++14
标准草案N4140 5.1.2.12 [expr.prim.lambda]中的一个例子。带有关联捕获的lambda
表达式
--默认不显式捕获此对象或具有自动存储持续时间的变量(这不包括任何已被发现引用initcapture的关联非
静态
数据成员的id-
表达式
),如果复合语句:
odr
const int (&)2 = {}) {} // #1 void f(const int&,const int (&)1) {} /
浏览 0
提问于2016-08-03
得票数 4
回答已采纳
2
回答
通过msvc中的值错误捕获Lambda const?
#include <array>{
auto
lambda = [n] { // Both n and nn shouldtime const std::array<int,nn> h{}; }; return xarray.size(); 错误:错误C29
浏览 2
提问于2022-09-19
得票数 1
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券