草庐IT

class_id

全部标签

c++ - 如何将 `std::array` 用作 `template<typename> class` 形式的模板参数?

请考虑以下tree类templateclassTuple>classtree{private:Tm_value;Tuplem_children;};templateusingstatic_tree=tree>;定义不明确。std::array不是Tuple的合适模板参数.我假设static_tree的意图清楚了。我们可以做类似的事情templatestructhelper{templateusingtype=std::array;};templateusingstatic_tree=tree::templatetype>;没有helper还有其他选择吗?类(class)?

c++ - 什么是 "template<class T> using owner = T;"?

以下摘自Microsoft的gsl库(https://github.com/microsoft/gsl)的gsl.h:namespacegsl{////GSL.owner:ownershippointers//usingstd::unique_ptr;usingstd::shared_ptr;templateusingowner=T;...};我无法理解以下别名模板的含义:templateusingowner=T;有什么解释吗? 最佳答案 这意味着对于每个T,owner是T的别名. 关于

C++大学类(class)

你知道哪所大学有在线C++类(class)吗?我正在寻找类似于MIT风格的在线讲座的内容(讲义、项目和示例、作业、考试、解决方案和视频内容)。This是我在麻省理工上查到的,但是id没有视频内容。 最佳答案 我不太了解C++,但就编程概念的视频讲座而言,请查看:http://academicearth.org/subjects/computer-science 关于C++大学类(class),我们在StackOverflow上找到一个类似的问题: https:

c++ - 如何访问封装在类中的未命名的 "enum class"?

classA{public:enumclass{HELLO,WORLD};};知道了,在class中,声明一个简单的enum(而不是enumclass)是一个更好的主意,因为它已经使用class标识键入。但上面的语句仍然是一个有效的C++0x签名。现在如何访问外部未命名的enumclass?inti=A::HELLO;//error:‘HELLO’isnotamemberof‘A’ 最佳答案 实际上,这是无效的。C++0xFDIS说(9.2p1)Exceptwhenusedtodeclarefriends(11.3)ortointr

c++ - 从 C++ 到 AS3 : what are fundamental AS3 data structures classes?

我们正在将游戏从C++移植到Web;游戏大量使用STL。您能否提供与以下STL容器等效的类的简短比较图表(如果可能,提供一些基本操作的代码示例,如插入/删除/搜索和(如果适用)equal_range/binary_search):std::vectorstd::setstd::mapstd::liststdext::hash_map?非常感谢您的宝贵时间!更新:哇,看来我们这里没有我们需要的一切:(谁能指出一些用于AS3程序的行业标准算法库(如C++中的boost)?我无法相信人们可以在没有平衡二叉搜索树(std::setstd::map)的情况下编写非平凡的软件!

c++ - 将 ID 号映射到类

我正在建立一个系统,在该系统中,我可以根据从文件中读入的一些信息即时实例化类。所以,这必须在运行时完成。所讨论的类是多态的,并且都继承自CBaseTheoryEnt类。我想要做的是将ID号与每个类相关联(例如,使用无序映射)。本质上,我的管理类将查看从输入文件中读入的一系列ID号,然后实例化适当的类。将类与ID相关联然后根据输入实例化它们的理想且有效的方法是什么? 最佳答案 一种方法是使用模板函数来实例化CBaseTheoryEnt的子类:templateCBaseTheoryEnt*instantiator(){returnnew

c++ - 特定于线程的数据——为什么我不能只使用带有线程 ID 的静态映射?

在阅读POSIX线程时,我遇到了一个线程特定数据的示例。我确实有一个困惑的地方......线程特定的数据接口(interface)看起来有点笨拙,尤其是当你混合使用pthread_once、各种初始化程序等时。有什么理由我不能只使用静态std::map,其中键是pthread_self()id,数据值保存在std::pair的第二部分?我想不出只要它被包裹在互斥量中就无法工作的原因,但我没有看到任何关于它的建议或任何类似的东西让我感到困惑,因为它听起来比提供的API容易得多。我知道线程可能有很多catch-22,所以我想我会问一下,看看我是否要介入……一些不愉快的事情?:)

c++ - gcc4 模板错误或更可能是 id10t 错误

以下代码在VisualStudio下编译得很好,但gcc4.6.2或4.7都不能处理它。它似乎是有效的,但gcc似乎无法解决const和非const参数之间的区别。这可能是编译器错误吗?structCReadType{};structCWriteType{};templatestructAddPkgrConstByType{};templatestructAddPkgrConstByType{typedefTtype;};templatestructAddPkgrConstByType{typedefTtype;};templatestructAddPkgrConstByType{ty

C++ : friend function in a template class for operator<<

在.cpp文件中声明模板类的友元函数(对于std::ostream&运算符?我当前的实现不起作用://MyTest.htemplateclassMyTest{inlinefriendstd::ostream&operator(std::ostream&lhs,constMyTest&rhs);};//MyTest.cpptemplateinlinefriendstd::ostream&operator(std::ostream&lhs,constMyTest&rhs){//IMPLEMENTATION}非常感谢! 最佳答案 引用op

c++、cscope、ctags 和 vim : Finding classes that inherit from this one

在具有几层的相当大的代码库中,有没有办法在vim或命令行中找到从基类派生的所有类?grep是一个选项,但可能会很慢,因为grep没有索引。 最佳答案 cscope和ctags都不允许我们直接处理继承,但是相对解决这个限制是很容易的,因为派生类也被索引了。控制范围在cscope中,寻找“C符号”Foobar通常会列出原始类和继承自它的类。由于搜索是针对数据库完成的,因此速度快如闪电。或者,您可以使用cscope的egrep搜索功能和类似:.*Foobar的模式来列出仅继承自Foobar的类。因此,即使我们没有专门的“查找继承自此类的类