草庐IT

construct_at

全部标签

c++ - 返回 C++17 可变参数模板的可变参数聚合(结构)和语法 'construction deduction guide'

使用模板结构,例如下面的many,可以返回一组固定的可能不可移动的对象,并使用c++17结构化绑定(bind)(auto[a,b,c]=f();声明变量a、b和c并从分配它们的值f返回例如结构或元组)。templatestructmany{T1a;T2b;T3c;};//guide:templatemany(T1,T2,T3)->many;autof(){returnmany{string(),5.7,unmovable()};};intmain(){auto[x,y,z]=f();}如这两个问题和答案中所述(Dostd::tupleandstd::pairsupportaggrega

c++ - 测试容器是否实现 .at() 成员访问/std::sort 兼容的正确方法

我正在寻找确定容器是否通过.at()实现随机元素访问的最佳/正确方法.在不同(STL)容器相对于彼此排序的场景中(比如排序容器std::vector,相对于std::vector),我这样做:std::sort(toOrder.begin(),toOrder.end(),[&orderBy](inti,intj)->bool{returnorderBy.at(i)>orderBy.at(j);});在哪里std::vectortoOrder;std::vectororderBy我可以将其包装在模板函数中,但我不确定限制或测试具有随机访问迭代器/.at()的容器的最佳方法(如果没有,则需

c++ - std::piecewise_construct 语法如何工作?

当与std::map一起使用时,我对std::piecewise_construct有点困惑。示例:std::mapm;//usespair'spiecewiseconstructorm.emplace(std::piecewise_construct,std::forward_as_tuple("c"),std::forward_as_tuple(10,'c'));我不确定emplace()如何知道在使用piecewise_construct时如何以不同方式处理这种类型的构造。不应该是:std::piecewise_construct(std::forward_as_tuple("c

c++ - Valgrind 错误 : in use at exit: 72, 704 字节 C++ 初始化列表异常与 char*

问题:我有一个我没想到的奇怪问题。我有一个名为答案的类(class)在标题中是这样的:classAnswer{char*aText;boolb_correct;public:Answer():aText(0){;}//defaultconstructor}主要(测试)驱动程序代码是这样的:intmain(void){staticconstunsignedintMAX_ANSWERS=5;Answeranswers[MAX_ANSWERS];}我得到的(意想不到的)怪事是发生了一个分配,而且我还没有在我的代码中的任何地方使用一个新的。我猜char*正在初始化列表中调用它。我正在使用val

c++ - 在 opencv 中使用 Mat::at(i,j) 获取二维 Mat 对象

我正在使用Ubuntu12.04和OpenCV2我写了下面的代码:IplImage*img=0;img=cvLoadImage("nature.jpg");if(img!=0){MatImg_mat(img);std::vectorRGB;split(Img_mat,RGB);intdata=(RGB[0]).at(i,j));/*Wherei,jareinsidetheboundsofthematrixsize..ihavecheckedthis*/}问题是我在数据变量中得到负值和非常大的值。我想我在某个地方犯了一些错误。你能指出来吗?我一直在阅读文档(我还没有完全读完它。它相当大。

c++ - "Warning: corrupt .drectve at end of def file"是什么意思?

这个问题在这里已经有了答案:Warning:corrupt.drectveatendofdeffile(3个答案)关闭去年。在这个环境下,我编译了一个c++/openGL的例子贴在网上:Windows7代码::Blocksv13.12MinGW构建于2013年10月(不确定版本)mingw32-g++v4.8.1来自codeincodeblock.com的代码:#defineGLEW_STATIC//third-partylibraries#include#include#include#include#include#include#includeGLuintgVAO=0;GLuin

c++ - std::is_default_constructible<T> 错误,如果构造函数是私有(private)的

我有以下片段#include#includeclassC{C(){}};intmain(){static_assert(!boost::has_trivial_default_constructor::value,"Constructible");static_assert(!std::is_default_constructible::value,"Constructible");}条件不相等,但第一个条件工作正常,第二个构造给出错误,构造函数是私有(private)的。编译器gcc4.7...那么,这是gcc错误,还是由标准定义的?http://liveworkspace.org/

c++ - 为什么没有透明的 C++1x std::map::at?

缺少transparent的原因吗?(templateat(K&&key);)在std::map? 最佳答案 我的猜测是std::map::at()必须是std::map::operator[]()的“边界检查”版本>。提供透明版本的std::map::operator[]()对std::map::key_type和查询键类型施加了额外的要求K-如果查询键不在映射中,则必须将其插入(使用默认构造值),这意味着std::map::key_type必须可从查询键类型。 关于c++-为什么没有

【 安信可海思Hi-12F模组】AT指令入门教程 && 接入鸿蒙智联

文章目录一、前言二、创建产品三、产品信息配置3.1AT+SYSVER设置产品系统信息3.2AT+SYSPRAM配置产品详细信息3.3AT+SYSTOKEN设置产品token参数信息3.4AT+ACKEY设置ACKEY信息3.5AT+PRODKEY设置产品密钥3.6AT+DEVICE配置产品基本信息,用于设备配网和设备注册3.7AT+PROFILE设置系统能力3.8AT+SVCINFO设置设备服务信息四、App设置五、设备控制5.1AT+GETSTATE云端获取设备状态信息5.2AT+REPORT上报设备状态信息联系我们一、前言Hi-12F模组搭载华为海思Hi3861芯片,目前已过Harmony

c++ - 为什么 std::allocator::construct 和 std::allocator::destroy 在元素类型上模板化?

std::allocator的construct和destroy成员函数根据要构造的元素的类型进行参数化:templateclassallocator{public:typedefTvalue_type;typedefT*pointer;templatevoidconstruct(U*p,Args&&...args);templatevoiddestroy(U*p);...};这样做的理由是什么?他们为什么不选择value_type*或pointer?好像allocator应该只知道如何构造或销毁T类型的对象. 最佳答案 这与all