问题标签 [stdarray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 将字符数组中的元素范围提取到字符串中
我想从 char 数组的开头提取一系列元素并将它们放入字符串中。该范围可以小于或等于元素的数量。
这就是我想出的。
有一个更好的方法吗?
我一直在研究类似 std::string 的迭代器构造函数。例如 std::string(buffer.begin(), buffer.end())
,但我不想要所有的元素。
谢谢。
c++ - “解包” std::array作为函数的参数
这是一个很好的(不是我的)例子,你可以如何扩展(或“爆炸”)元组作为函数的参数:
那么你可以像这样使用它:
std::array
我在徘徊,因为它很像元组,你怎么能做同样的事情。std::get<N>
一起工作,std::array
所以我认为修改这个解决方案很容易。但是这样的事情不起作用:
因为部分std::result_of<FT(Arg&&)>::type
。参数类型Arg&&
错误并且result_of
没有字段type
。对于元组Args&&...
扩展,但现在应该“重复”I
次。有没有办法使用result_of
这样可以扣除返回的类型?
我也想知道,拥有“解包”的工具,tuple
是否array
可以递归地“解包”(可能使用enable_if
)结构tuple<array<int, 2>, tuple<array<double,3>, ...
之类的?某种树在哪里是树枝,tuple
而array
其他类型是叶子?
c++ - std::accumulate 中的无效转换
我有一个N
用静态函数表示维度点的类min
(逐个字段的最小字段)
当我写的时候一切都很好
但是如果我尝试使用std::accumulate
数组
我收到一个错误:
这是std::accumulate
实现与我的构造函数不兼容的问题吗?
c++ - 大小为零的 std::array
std::array<int,0>
拥有大小为零的数组是什么意思?
在发布此之前,我已经在 SO 中解决了类似的问题,所有这些问题都是关于简单数组类型和 C 语言的,其中大多数都说这是非法的。但在 C++array<int,0>
中是允许的。
根据 cppreference.com
零长度数组(N == 0)有一种特殊情况。在这种情况下,
array.begin() == array.end()
,这是一些独特的价值。调用front()
orback()
对大小为零的数组的影响是未定义的。
为什么不定义为非法?
c++ - c++11数组初始化不会调用复制构造函数
我正在制作一个使用其大小模板化的数组的小类。这是一些代码...
.hpp
.cc
在构造函数的成员初始化中,我不能combo{sequence}
用作初始化器,因为它只接受sf::Keyboard::Key
类型。如果它要求一个 ,这是有道理的initializer_list
,但这对我来说似乎很奇怪。对于其他标准容器,我可以使用 {} 表示法调用复制构造函数。这是一个怪癖std::array
吗?或者也许是我的clang中的一个错误?
以防万一,这是我的clang版本:
c++ - 将 2d std::array 传递给函数 c++
我正在尝试将二维数组传递给构造函数类
我做了一些搜索,我尝试使用模板..但不起作用
但是,我的代码产生以下错误:
主要代码:
这里是构造函数的代码:
c++ - 转换/重新解释向量的有效方法作为向量>
我想调用一个方法(模板),它vector<array<T, N>>&
从另一个返回 a 的方法中获取结果vector<T>
是否有一种有效的 (O(1)) 方式将 a 重新解释vector<T>
为 a vector<array<T,1>>
?它可能/安全reinterpret_cast
吗?
arrays - 重置循环缓冲区中的元素
我被要求在 C++中实现一个采用未指定类型的循环缓冲区。我假设泛型类型是原始类型。(或者它应该考虑非原始类型?)对于缓冲区,我使用一个基本数组,例如 T[]和new和delete来初始化和销毁它。
我已经实现了缓冲区类并在具有预期输出的整数上对其进行了测试。但它不起作用std::string
。问题是,当我弹出缓冲区时,我通过将元素设置为零来清除元素,编译器抱怨这样做是模棱两可的。因此,我需要一种通用的方法来清除元素,并且我认为它std::array
可能支持此功能,但我在文档中找不到它。
是否有一种通用方法来清除 std::array 或基本数组中的元素,或者 std::allocator 是我唯一的选择?或者,如果我完全走错了方向,我应该如何实现 pop 方法来重置第一个元素并将前索引增加到下一个元素的索引?
提前致谢!
如果有帮助,以下是我的相关代码:
c++ - 索引到 std::array 的 std::array
我对 C++ 中数组数组的索引有些困惑:
我有:
当我进行索引时,我假设以下内容:
因此,首先outer_index
进入数组SIZE_OUTER
,然后是内部索引。
真的吗?
c++ - Compilation error when typedef an std::array
I define a type called inputTy
using std::array
(c++11) , the dimension of the array declared as an external constant integer d
.
Why do I get such compilation error?
Thanks for your help.