Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 执行C/C++;有标准';切片';集装箱?_C++_C - Fatal编程技术网

C++ 执行C/C++;有标准';切片';集装箱?

C++ 执行C/C++;有标准';切片';集装箱?,c++,c,C++,C,我经常在项目中使用切片结构: struct SSlice { void *pData; size_t length; }; 我还看到其他项目使用类似的容器来处理数据,而不复制数据(如RocksDB、MDB等)。有人知道这样的容器是否有标准(或操作系统相关)的头文件吗? 在STL中,linux头文件是无关紧要的 UPD。在我和前面提到的项目中,这种容器的主要用途是处理数据,而不是复制数据。例如,我使用它来解析URI路径或LDAP DN,并将其表示为切片向量。< P>在C++标准库

我经常在项目中使用切片结构:

struct SSlice {
    void *pData;
    size_t length;
};
我还看到其他项目使用类似的容器来处理数据,而不复制数据(如RocksDB、MDB等)。有人知道这样的容器是否有标准(或操作系统相关)的头文件吗? 在STL中,linux头文件是无关紧要的


UPD。在我和前面提到的项目中,这种容器的主要用途是处理数据,而不是复制数据。例如,我使用它来解析URI路径或LDAP DN,并将其表示为切片向量。

< P>在C++标准库中更典型的是使用一系列迭代器(开始,结束),而不是迭代器和长度(开始,长度)。指针是迭代器的一个例子,迭代器是一个更一般的概念

没有标准的范围结构,也没有您描述的切片†。标准接口将开始和结束视为单独的对象

但是,添加范围已经存在,并且可能已经得到一些标准库实现的支持


至少,不是一般的,但是有一个特殊的<代码> STD::ValSux容器,它提供了一个与其内容的接口。

< P>在C++标准库中更典型的是使用一系列迭代器(开始,结束),而不是迭代器和长度(开始,长度)。指针是迭代器的一个例子,迭代器是一个更一般的概念

没有标准的范围结构,也没有您描述的切片†。标准接口将开始和结束视为单独的对象

但是,添加范围已经存在,并且可能已经得到一些标准库实现的支持


†至少,不是一般的,但是有一个特殊的
std::valarray
容器,它为其内容提供了一个接口。

std::string\u视图
是一个C++17非所有的字符视图,具有类似
std::string
的功能。它的目的是加快划桨等


span
array\u视图
是各种标准化和原型化工作的名称,它们也与您的概念相匹配,但不是字符串推定。

std::string\u视图
是一个C++17非自有的、具有
std::string
类似功能的字符范围视图。它的目的是加快划桨等


span
array\u view
是各种标准化和原型化工作的名称,它们也符合您的概念,但不是字符串假设。

建议存在一个实现这一点的
span
模板。
C/C++
是,您知道。如果正确使用
std::move
,任何STL容器(如
std::vector
)都会这样做。即使没有,您也可以使用指向容器的指针来实现“处理数据而不复制数据”的效果。我认为你需要更具体地说明你想要实现什么。很快还会有
string\u视图
。在GSL中,代码延迟> <代码> > AdayaVIEW/COD>。C++和C++是两种不同的语言,非常不同。建议使用一个代码< > Stase模板来实现这一点。即使没有,您也可以使用指向容器的指针来实现“处理数据而不复制数据”的效果。我认为你需要更具体地说明你想要实现什么。很快还会有
string\u视图
。在GSL中,代码< >代码> ARYAYVIEW/CODE>。C和C++是两种不同的语言,非常不同。