草庐IT

auto-size

全部标签

c++ - Vector size() 返回看似随机的大整数

我正在编写一个作业程序,遇到了一个奇怪的问题。当尝试使用size()函数获取二维vector的大小时,我得到看似随机的大整数,这使我的程序无法运行。我需要大小来访问vector中的元素。我的头文件:#ifndef_MATRIX_H#define_MATRIX_H#include#includeclassMatrix{private://intdimension;std::vector>matrix;public:Matrix();Matrix(std::vector>);voidprint();Matrixoperator-(Matrixoperand);};#endif我的实现文件:

c++ - 使用 auto 的函数式 C++ 映射组合器

我正在尝试使用花哨的-std=c++14功能来实现您在函数式语言中看到的“map”组合子(不要与std::map混淆)。我的最终目标是为函数式编程编写一个“外观模式”header,让我在大多数时候忘记副作用和迭代器。我在https://gist.github.com/phatak-dev/766eccf8c72484ad623b找到了一个志同道合的人的帖子.Madhukara版本的map看起来像templateCollectionmap(Collectioncol,unopop){std::transform(col.begin(),col.end(),col.begin(),op);

c++ - 有没有一种方法可以将 container<T>::size_type 普遍用于不同类型的 T?

假设我有一个std::vectora的类(class)和std::vectorb我想要的字段reserve()在构造函数中设置为某种大小,这对于两个容器都是相等的。鉴于reserve()接受size_type参数,为了完全安全,据我所知,我必须使用两个参数编写我的构造函数,这并不是特别吸引人:MyCtor(std::vector::size_typesize1,std::vector::size_typesize2){abortIfNotEqual(size1,size2);//Proceedonlyifsize1==size2a.reserve(size1);b.reserve(si

c++ - 警告: "when type is in parentheses, array cannot have dynamic size"?的原因是什么

我已经发布了一个关于与数组的动态内存分配相关的GCC错误的问题:Anerrorisissuedbygccrelativetoparsingtype-idinanewexpression现在使用ClangHEAD10.0.0我收到以下警告:rog.cc:9:37:warning:whentypeisinparentheses,arraycannothavedynamicsizeint(**a)[N3]=new(int(*[n1])[N3]);~~^~~当我运行这个演示程序时:#includeintmain(){constsize_tN3=4;size_tn1=2;int(**a)[N3]

如何通过引用对Android Auto MediaBrowser的引用来在MediaBrowserServiceCompat中设置Extra_page和extra_page_size?

我有一个Android自动应用程序。我想利用分页以在应用程序中浏览。似乎您可以通过获取对MediaBrowserCompat的引用并在.subscribe()中传递这些常数来设置Extra_page和extra_page_size。但是,我无法弄清楚如何获得对AndroidAutoAudio用来调用.subscribe()的MediaBrowserCompat的引用。对于应该简单的事情来说,这似乎太复杂了,我只是想出事情吗?看答案如何获取对AndroidAutoMediaBrowser的引用?为此,您想知道包名称和类名(如果您要在应用程序之外绑定它)。如果您不知道这些详细信息,则可以从软件包管

c++ - 将 auto_ptr 转换为 shared_ptr

如何将std::auto_ptr更改为boost::shared_ptr?这是我的限制:1.我正在使用一个API类,让我们称之为only_auto返回这些指针2.我需要在auto_only中调用3.我的语义涉及共享,所以我确实需要使用shared_ptr)4.类中only_autooperator=private防止copy5.only_auto对象必须通过克隆调用std::auto_ptrcreat_only_auto();我知道模板显式shared_ptr(std::auto_ptr&r);但是我该如何在这种情况下使用它呢?一个super简化的代码示例:#include#inclu

c++ - auto 是如何推断类型的?

我有一些auto的使用案例:autos=expr;//sisalwayslvalueauto&s=expr;//sisalwayslvaluereference?Whatifexprisrvalue?auto&&s=expr;//sisperfectlyforwarded它们是真的吗?如果不是,为什么? 最佳答案 dyp是正确的,我想详细说明。首先,结论是来自dyp的:Thetypededucedforautointhedeclarationofavariableisdefinedviatherulesoftemplateargum

c++ - 用于在 auto_ptr 和 unique_ptr 之间切换的宏

在一个仍然使用C++11之前版本的项目中,我想通过使用C++11编译器进行编译并修复错误来为切换准备源代码。它们包括std::auto_ptr的实例替换为std::unique_ptr必要时,用std::move()包裹智能指针一些0和NULL替换为nullptr现在我想切换回C++之前的编译器并编写一个可以切换回更改的宏,这样,当最后的编译器切换时间到了时,我只需删除宏。我试过了#ifndefHAVE_CXX11#definenullptrNULLnamespacestd{#defineunique_ptrauto_ptr}#endif(使用exvector与智能指针一起使用的示例类

c++ - tuple_size 的特化不一致

当为某个模板显式特化tuple_size和tuple_element时,我意识到§14.5.1/4,它是这样写的Inaredeclaration,partialspecialization,explicitspecializationorexplicitinstantiationofaclasstemplate,theclass-keyshallagreeinkindwiththeoriginalclasstemplatedeclaration(7.1.6.3).似乎违反了标准本身:我是否遗漏了什么(例如,标准规定class-key“仅供说明”并且应在实际实现中达成一致)?

C++ 枚举类 std::size_t 隐式转换

我通过创建一个枚举类定义了一个元组及其索引:/**parameter{key;value1;value1;}*/usingParameter=std::tuple;enumclassParameterKey:std::size_t{KEY=0,VALUE1=1,VALUE2=2};现在我想从这个元组中获取一个值:constauto&key=std::get(*parameterPointer);我认为从int到std::size_t的隐式转换是由:std::size_t语法确保的:enumclassParameterKey:std::size_t{....}但是我收到了这个错误erro