草庐IT

指标聚合

全部标签

c++ - 使用聚合初始值设定项声明空 C++ 数组

在C++中,与C不同,空数组Tname[]是非法的,thetypedeclaredis"arrayofunknownboundofT",whichisakindofincompletetype.但是,当usedinadeclarationwithanaggregateinitializer如Tname[]={val1,val2,...},其中数组分配有初始化列表中的元素数。聚合初始值设定项为空时的预期行为是什么?T名称[]={}我已经测试了g++(4.8.4版)和clang(3.4版),它们都没有给出任何错误或警告,并且似乎分配了1个元素。这是定义的行为吗?文档?inta[]={};i

c++ - 在 C++11 中,我可以为非聚合类型实现类似构造函数的聚合类型初始化吗?如何实现?

比如说,我有一个封装在名为stA的类中的一维数组classstA{public:templatestA(T...t):data_{t...}{}private:intdata_[2];};通过利用可变参数模板,我可以成功实现这个想法。stAa={1,2};但是,当我试图将这个技巧应用于名为stB的类二维类时,classstB{public:templatestB(T...t):data_{t...}{}private:stAdata_[2];};诡计失败了。stBb={{1,2},{1,2}};error:couldnotconvert'{{1,2},{1,2}}'frombrace-

c++ - 改进软件指标?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我最近跑了CCCC在我的C++代码库上,并收到了不少红色标记(示例outputofCCCConacodebase(notmycodebase)可以在链接中看到)。我理解红色标记可能是由于本质复杂性或偶然复杂性,但CCCC不区分两者。我最关心的是我的代码库中称为“HenryandKafura'sinformationflowcomplexity”的模块化指标的值,它有很

如何使用聚合物中的jQuery动态更改数组?

我有一些html包含这样的html[[user.userName]]在我的JS文件中,我正在更新“用户列表”数组。if(event.target.checked){this.userList.push(event.target.value);}else{varindex=this.userList.indexOf(event.target.value);this.userList.splice(index,1);}当我在数组中更新值时,它没有直接反映“用户列表”数组中的值,我们如何使用OutPageRefresh进行更新?看答案使用聚合物的阵列突变方法对阵列进行可观察的更改。https://w

c++ - 如何避免为聚合初始化重新输入类型信息?

我有以下示例:#includestructA{constchar*str;constchar*str2;};templatestructAs{std::arrayelems_;};templateAs(Args...)->As;//Linktonon-workingexample虽然此代码有效,但我想避免在聚合列表中“重新输入”A,但如果我将其遗漏,推导指南将失败:“cannot推导出'As'"的模板参数(我想这是有道理的)。也许解决这个问题的一种方法是手写我需要的任何数量的推导指南,从那时起我可以在每个推导指南中编写A类型(即:我需要的每个尺寸一个推导容器)。

c++ - 寻求 Linux 的 C++ 指标工具

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我正在寻找可以在Linux上运行的C++代码质量度量工具。拥有Eclipse集成将是一个额外的好处,但不是必需的。我找到了一个不错的工具,叫做SourceMonitor,但这仅适用于Windows,并且无法在Linux上重建源代码。我还

c++ - g++ 4.9 拒绝 C++14 中的有效聚合初始化

考虑这段代码:structS{intx;doubley=1.1;};intmain(){Ss={0};}根据C++14标准,§8.5.1/7Iftherearefewerinitializer-clausesinthelistthantherearemembersintheaggregate,theneachmembernotexplicitlyinitializedshallbeinitializedfromitsbrace-or-equal-initializeror,ifthereisnobrace-or-equal-initializer,fromanemptyinitiali

c++ - boost::proto::is_aggregate 为聚合类型时返回 false

在测试聚合类型时,我尝试使用boost::proto::is_aggregate来检查我创建的类型是否真正聚合。我写了这段代码:#include#includestructIsAggregate{IsAggregate&operator=(IsAggregateconst&rhs){}};intmain(){std::cout()我希望输出为真,因为聚合类型可以定义复制赋值运算符(根据此:WhatareAggregatesandPODsandhow/whyaretheyspecial?)但是输出是错误的。我还在之前的答案中使用了聚合类,它应该返回true却返回了false。这已在Boo

c++17 聚合初始化

我正在观看JasonTuner在youtube上的一个视频系列以及在此处找到的这个特定视频:AggregateInitializations他开始使用clang++c++03,然后将编译器更改为clang++c++11,然后当他合并基类层次结构时,他将其更改为使用c++17或使用最近构建的clang++的c++1z。我最近刚刚下载并安装了MSVS2017RC,我在IntelQuadCoreExtreme上运行Windows764位SP1。然而,当我在我的IDE中尝试观看他的视频时structB{doubleq;};structS:B{inti;floatf;};intmain(){Ss