草庐IT

Duck-typing

全部标签

我的类中的 c++ condition_variable wait_for 谓词,std::thread <unresolved overloaded function type> error

我想在我的类中使用一个线程,然后该线程需要使用一个condition_variable,条件变量将被阻塞,直到一个谓词被更改为true。代码如下所示:classmyThreadClass{boolbFlag;threadt;mutexmtx;condition_variablecv;boolmyPredicate(){returnbFlag;}intmyThreadFunction(intarg){while(true){unique_locklck(mtx);if(cv.wait_for(lck,std::chrono::milliseconds(3000),myPredicate)

types - 如何将数据类型映射到该数据类型的集合

代码:abstractclassDataContainer(publicvalpath:String)valpreloaded:MutableMap,HashSet>=hashMapOf()我想知道如何让Kotlin意识到第一个outDataContainer与第二个outDataContainer的类型相同.所以代码如下:funget(clazz:Class):HashSet=preloaded[clazz]asHashSet不需要asHashSet(并且不容易出现类型转换错误)。我是Kotlin的新手,所以如果我遗漏了什么,请链接文档。此外,此代码将位于object中如果重要的话。

types - 如何将数据类型映射到该数据类型的集合

代码:abstractclassDataContainer(publicvalpath:String)valpreloaded:MutableMap,HashSet>=hashMapOf()我想知道如何让Kotlin意识到第一个outDataContainer与第二个outDataContainer的类型相同.所以代码如下:funget(clazz:Class):HashSet=preloaded[clazz]asHashSet不需要asHashSet(并且不容易出现类型转换错误)。我是Kotlin的新手,所以如果我遗漏了什么,请链接文档。此外,此代码将位于object中如果重要的话。

c++ - streampos 和 pos_type、streamoff 和 off_type 有什么区别?

streampos之间有什么区别?和pos_type,streamoff和off_type,除了它们的定义不同。我应该将basic_stream::seek与什么一起使用?的功能? 最佳答案 std::basic_istream和std::basic_ostream两者都采用两种模板类型,CharT和Traits.给定一个派生自基本流之一的A类,Traits数据类型可以检索为A::traits_type根据C++标准的§21.2,该数据类型必须提供以下成员类型:char_type//mustbeidenticaltoCharToft

c++ - unique_ptr::deleter_type::pointer 有什么用?

std::unique_ptr指定存储不是T*如您所料,但是类型为std::unique_ptr::pointer的对象.这基本上定义为D::pointer如果存在这样的类型,并且T*否则。因此,您可以通过适本地自定义删除器来自定义底层原始指针类型。什么时候这样做是个好主意?它是干什么用的?我能找到的唯一讨论是thisnote,这暗示“更好地支持[ing]共享内存上下文中的容器和智能指针”,但这并没有完全说明很多问题。 最佳答案 最初的动机是启用boost::offset_ptr的使用作为unique_ptr下的表示,这将允许在进程

c++ - 错误 : Assigning to char* from incompatible type void*

所以我试图将来自libcURLHTTP请求的响应存储到C字符串中,以便稍后解析。响应代码完全是用C编写的,而其他所有内容都是用C++编写的,对于任何其他C++编译器,它应该可以正常工作。但是当我尝试编译时,即使我在文件名后跟“-xc”参数,我也会得到这些特定的响应。g++main.cpp-xccJSON.c-xcrespbuffer.c-lcurl-lm./respbuffer.c:14:9:error:assigningto'char*'fromincompatibletype'void*'s->ptr=malloc(s->len+1);^~~~~~~~~~~~~~~~~./resp

c++ - 为什么他用 "typedef vector<double>::size_type"而不是用 "int"

我刚刚学习C++,并且正在使用AcceleratedC++。在一个vector例子中,作者使用了如下代码;typedefvector::size_typevec_sz;vec_szsize=homework.size;我知道typedefvector::size_typevec_sz;这样他就不必将下一个命令写成vector::size_typesize=homework.size;,但我的问题是他为什么不直接声明size改为整数?intsize=homework.size;这是因为我们使用了vector吗?如果是这样,是否意味着vector迭代器返回的值不能存储在常规变量中?

c++ - STL容器中的value_type有什么用?

value_type在STL容器中有什么用?来自MSDN://vector_value_type.cpp//compilewith:/EHsc#include#includeintmain(){usingnamespacestd;vector::value_typeAnInt;AnInt=44;cout我不明白value_type在这里实现了什么?变量也可以是int吗?使用它是因为编码人员懒于检查vector中存在的对象类型吗?我觉得这些也跟它差不多allocator_type,size_type,difference_type,reference,key_type等..

c++ - 性能 : typedef vs wrapper class for primitive types?

我想在C++中定义一个新类型,它只是一些原始类型(在我的示例中,int可以是任何类型)。在此示例中,我将类型称为NodeId。我可以只使用typedefintNodeId。我想要NodeId的默认值,所以我会使用#defineNULL_NODE_ID-1。现在,我认为定义一个类而不是typedef会更好,以允许函数isValid()和构造nullNodeId的默认构造函数:classNodeId{intvalue;public:inlineNodeId():value(-1){}inlineNodeId(intvalue):value(value){}inlineoperatorint

c++ - 使用 "Error: expression must have a pointer type"关键字时为 "this"

所以我创建了一个父类,我称之为Parent,它有一个Square*网格成员变量。grid变量是一个指向大型Square数组的指针,其中包含key成员变量。(将此项目视为哈希表)问题是我在Parent类中创建一个函数,该函数编辑Square数组中的关键变量,但出现错误。这行代码编译:this->grid=newSquare[row*col];但是这一行不编译:this->grid[i*col+j]->key1=j;它在this下划线并表示表达式必须具有指针类型。我想知道是否有人知道我可能做错了什么?voidParent::initialize(introw,intcol){this->g