腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
0
回答
如何
static_assert
一个
初始化
器
列表
是
一定
大小
c++
、
visual-studio-2015
、
c++14
是否可以验证传递给constexpr构造函数的
初始化
器
列表
是否具有
一定
的
大小
?或者,这只能在运行时完成吗?这是
一个
想法,但它不起作用:{ std::initializer_list<std::initializer_list<UINT const> const> groups {
static_a
浏览 2
提问于2016-12-31
得票数 9
回答已采纳
2
回答
获取std::array的常量表达式
初始化
成员数
c++
、
c++14
我在编译时使用
初始化
器
列表
初始化
std::array,我希望有一种方法来存储元素的数量。std::array::size()会返回整个数组的
大小
,这不是我要找的。 我
如何
改进下面的代码?非常感谢!; } int main() {
static_assert
(element_count(a) == 3); } 我正在用g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
浏览 15
提问于2019-03-16
得票数 1
回答已采纳
5
回答
initializer_list::size()上的
static_assert
c++
、
c++11
、
initializer-list
、
constexpr
为什么不允许在
static_assert
中使用std::initializer_list<_E>::size,即使它在我的libstdc++ (v4.6)中被声明为constexpr?template<class T, int Length>{ Point(std::initializer_list<T> init)
static_assert
E>::size_type = long unsigned int]()’ test.C:54:7
浏览 1
提问于2011-03-26
得票数 36
回答已采纳
2
回答
数组的数据成员在标准库实现中
是
公共的。为什么?
c++
、
c++-standard-library
当我到达std::array类类定义的末尾时,我注意到数据成员不是声明为私有的,而且它上面
是
所有的公共成员函数,因此数据成员也是公开的。因此,为了测试它,我尝试在我用std::array定义的main()对象中访问它,令我惊讶的
是
,我可以访问它,并且它也在输出中打印了正确的值!
浏览 13
提问于2022-08-02
得票数 1
回答已采纳
3
回答
如何
确保枚举和数组在编译时具有相同的条目?
c
、
arrays
、
enums
、
embedded
系统的另一部分要求设置参数,而本地uC需要维护参数
列表
。每个参数由
一个
8位ID和
一个
8位值组成。由于另一端的内存限制,ID在0x70开始。为了保持尽可能低的内存使用率,我将参数存储实现为
一个
数组,其中包含所有可写参数的In和值。然后,头文件中有这些参数的枚举
列表
,以允许应用程序的其他部分访问参数。是否有任何方法确保枚举
列表
和参数数组以相同的顺序具有相同的条目?我已经相当彻底地记录了代码(并不是全部包含在摘录中),但是我想在编译时进行某种形式的检查,以确保
列表
和数组匹配。
浏览 2
提问于2016-12-09
得票数 5
回答已采纳
1
回答
初始
列表
构造和静态断言
c++
、
initializer-list
我试图让我的类支持
初始化
程序
列表
。我得到的地方: 错误:“
列表
”不是常量表达式 template<size_t N> m_last_write(0) push(datum);但是,当我使用这个
初始
浏览 2
提问于2018-10-08
得票数 1
回答已采纳
1
回答
用于校验数组的C++常量表达式函数
c++
、
arrays
、
constexpr
我们的目标
是
,当
一个
额外的元素被附加到前面的元素的末尾时,能够从
一个
常量
初始化
器
列表
创建
一个
数组。我发现的所有关于在编译时
初始化
数组的帖子都需要大量复杂的递归模板函数调用,而且都与生成数字序列有关。res.size() - 1] = cs;}
static_assert</e
浏览 7
提问于2021-04-08
得票数 1
回答已采纳
1
回答
从
一个
值和
一个
大小
创建递归函数参数
列表
c++
、
variadic-templates
、
c++17
、
fold-expression
我的目的
是
创建
一个
大小
为n的函数参数
列表
,这样我就可以将它传递给
一个
帮助
器
,该帮助器使用折叠表达式将值递归地相乘在一起。这是我到目前为止想出的方法。template<typename T, typename N> T SmoothStart(const T&
浏览 1
提问于2018-02-22
得票数 2
回答已采纳
1
回答
如何
在C中的
初始化
器
中使用
static_assert
?
c
、
gcc
、
macros
、
static-analysis
信不信由你,我想在宏中使用
static_assert
,该宏扩展为指定的
初始化
程序: /*
static_assert
((N) < 42, "too large"), */ \我想要
一个
来自INIT(42)的错误,但是取消注释
static_assert
是
<
浏览 2
提问于2017-04-27
得票数 0
回答已采纳
3
回答
检查提供给std::array编译时的元素数量
c++
、
static-assert
、
stdarray
我有
一个
性能关键代码,其中我查询N个索引。
如何
在不牺牲性能的情况下,使用
static_assert
检查编译时是否恰好给出了N个索引?#include <array> void test(const std::array<int, N>& indices) //
static_assert
浏览 14
提问于2019-08-09
得票数 2
1
回答
如何
确认我的constexpr表达式
是
在编译时实际执行的。
c++
、
constexpr
、
functor
、
compile-time
假设我已经创建了一些函式类,在执行时返回
一个
值数组。我要在编译时间内进行。functor_g(); // not sure if should be also const/constexpr {} 显然,我不能在这里运行任何计时
器
,
浏览 2
提问于2020-02-23
得票数 1
回答已采纳
3
回答
static_assert
在使用const时失败。常数中的混淆,const,constexpr,const,非const变量
c++
、
constexpr
、
c++20
、
constinit
我有
一个
关于编译时函数的问题。我理解
static_assert
应该只与类型一起工作,这些类型可以在编译时进行评估/计算。映射被
初始化
为非const变量.我知道这是行不通的,它不是常量变量,编译时间也不是initializedMap被
初始化
为const变量。这也不起作用,即使变量
是
常量,也不能保证它在编译时被创建。现在,constinit保证表达式
是
零
初始化
或常量
初始化
.我用常数
初始化
,因此根据这个变量应该在编译时知道(将静态
浏览 4
提问于2020-10-01
得票数 0
回答已采纳
1
回答
模板化类构造函数中的
static_assert
c++
、
arrays
、
stl
、
initializer-list
我正在尝试创建
一个
由std::initializer_list
初始化
的样本数组类。我想检查
初始化
列表
的
大小
是否不超过编译时数组的
大小
。由于静态断言只能计算constexpr,因此不会编译此代码。size]; array() } {
static_assert
浏览 80
提问于2021-03-17
得票数 4
1
回答
是
使用placement,复制存储,然后访问未定义的值行为吗?
c++
、
language-lawyer
、
undefined-behavior
、
placement-new
让S
是
一个
结构类型,它包含
一个
字符数组data,它具有最大的对齐方式和固定的
大小
。其思想
是
,S能够存储任何T类型的对象,这些对象的
大小
不超过限制,并且
是
微不足道的复制、可构造和轻微破坏的对象。template <typename T>
static_assert
(sizeof(T) <= MaxSize, "");
static_assert
(stdvo
浏览 0
提问于2018-04-15
得票数 7
2
回答
如何
从std::initializer_list构建类似于数组的数据结构
c++
、
c++11
、
initializer-list
、
stdarray
我希望实现
一个
具有编译时间常数
大小
的数据结构(如std::array)。我希望能够像这样
初始化
这个数据结构:使用像:MyStruct(std::initializer_list<T> elements)这样的构造函数可以很好地工作,但是编译
器
并不对我的内部结构和elements强制执行相同的
大小
,即使它们在编译时都是已知的。我不能使用
static_assert
,因为elements.si
浏览 3
提问于2013-07-31
得票数 3
回答已采纳
3
回答
如何
静态地检查变量模板参数
列表
中是否存在类型T
c++
、
c++11
、
variadic-templates
、
static-assert
、
service-locator
我正在尝试静态地检查
一个
类型是否存在于
一个
可变模板参数
列表
中。但是,此模板
列表
实际上存在于传递单个类型的类中。答案展示了
如何
检查参数
列表
或参数包,但我不确定
如何
测试包含各种模板的类。class ServiceLocatorpublic: T& Resolve()
static_assert
check_t_exists_
浏览 2
提问于2013-10-17
得票数 2
回答已采纳
5
回答
如何
将
static_assert
与尺寸和张力相结合?
c++
、
visual-studio-2010
、
c++11
、
stringify
、
static-assert
因此,我有特定的断言,即在编译时检查内存
大小
,并给出
一个
static_assert
,如果
大小
与我们以前认为正确的
大小
不同。我定义了这样
一个
宏:这个宏使得编写以下内容变得非常容易:CHECKMEM(Library,80); 问题
浏览 4
提问于2012-07-17
得票数 23
回答已采纳
3
回答
构造函数的初始值设定项
列表
前的
static_assert
c++
、
static-assert
有
一个
非模板化的类,它有
一个
模板化的构造函数。在
初始化
这样的构造函数中的成员变量之前,是否可以检查静态断言? template<typename T> : m_value(t.value())
static_assert
(HasValueMethod<T>::value, "T must have
浏览 13
提问于2017-11-26
得票数 8
1
回答
constexpr上下文中std::initializer_list的验证
c++
、
c++17
、
constexpr
、
initializer-list
我有一些类,我希望在编译时由需要某种级别验证的
初始化
器
列表
进行
初始化
。什么
是
导致构建错误的最好方法?
浏览 9
提问于2020-02-21
得票数 1
回答已采纳
3
回答
是否有一种方法可以强制执行std::array的完全
初始化
arrays
、
c++11
、
initialization
、
stdarray
我使用的
是
std::array<size_t, N> (N
是
一个
固定的模板变量)。问题
是
,其他代码被默许为:也就是说,即使有遗漏的元素,array也是以某种方式被
初始化
的,即使它定义得很好(例如,剩余的元素
初始化
为零,我不确定)是否有一种方法来强制额外元素的
初始化
?,例如通过生成编译
器
错误或警告。我考虑过的
一个
选择
是
使用initializer_lis
浏览 4
提问于2015-10-07
得票数 11
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
腾讯会议
活动推荐
运营活动
广告
关闭
领券