草庐IT

table_info

全部标签

c++ - 哪些平台不在 type_info op== 中使用字符串比较?

这是type_info::operator==的典型实现:#if_PLATFORM_SUPPORTS_UNIQUE_TYPEINFObooloperator==(consttype_info&__rhs)const{return__mangled_name==__rhs.__mangled_name;}#elsebooloperator==(consttype_info&__rhs)const{return__mangled_name==__rhs.__mangled_name||strcmp(__mangled_name,__rhs.__mangled_name)==0;}#endi

c++ - Visual Studio 资源编辑器 : there can only be one string table?

我在我的.rc文件中创建了一个字符串表,其中包含我的英语字符串-现在我需要为不同的语言添加另一个字符串表。如果我尝试这样做:添加资源...->字符串表->新建我收到错误:“这种类型的实例不能超过一个”。我知道我可以在记事本中打开.rc文件并在其中添加语言,但我想如何从VisualStudio中执行此操作? 最佳答案 是的,它隐藏得很好。在解决方案资源管理器中双击.rc文件以打开资源View窗口。展开字符串表节点,右键单击“字符串表”并选择“插入拷贝”。这会将您带到语言选择组合。 关于c+

java - JNI 错误 : Local reference table overflow 512 entries

我的函数如下所示。它被执行了很多次。在某些时候它在jobjectnvarObject=env->GetObjectField(var1,nvar1)崩溃,给出错误JNI错误:本地引用表溢出512个条目。任何人都可以研究这个问题并提出一些启示。 最佳答案 所有返回jobject或类似对象引用的JNI方法都在引用表中创建本地引用。当您将控制权交还给JVM时,这些引用会自动清理,但如果您要创建许多引用(例如,在循环中),则需要手动清理它们。您在cls引用上调用DeleteLocalRef是正确的,但请注意GetObjectField也返回

c++ - `type_info::before` 有什么用?

根据cplusplus.com,std::type_info::before()函数...Returnstrueifthetypeprecedesthetypeofrhsinthecollationorder.Thecollationorderisjustaninternalorderkeptbyaparticularimplementationandisnotnecessarilyrelatedtoinheritancerelationsordeclaringorder.那么它有什么用呢? 最佳答案 考虑你想把你的type_inf

c++ - 为什么 std::type_info 是多态的?

std::type_info被指定为多态有什么原因吗?析构函数被指定为虚拟的(并且在C++的设计和演进中对“使其具有多态性”的效果进行了注释)。我真的看不出一个令人信服的理由。我没有任何具体的用例,我只是想知道它背后是否有任何理由或故事。以下是我提出并拒绝的一些想法:这是一个可扩展点-实现可能会定义子类,然后程序可能会尝试将dynamic_cast一个std::type_info到另一个实现定义的派生类型。这可能是原因,但实现添加一个实现定义的成员似乎同样容易,这可能是虚拟的。无论如何,希望测试这些扩展的程序必然是不可移植的。这是为了确保在delete基指针时正确销毁派生类型。但是没有

c++ - 带有对 type_info 的引用的 std::common_type

我很困惑:升级到GCC6(RC1)后,一些使用std::common_type的模板代码在失败之前有效。我尝试了clang,但也失败了......所以我一定做错了什么!代码相当于:#include#includeusingnamespacestd;//common_typeoftwoconsttype_info&isok(compilesok)common_type::typefunc1();//common_typeofthreetype_info&isbad...(failstocompile)common_type::typefunc2();//common_typeoftwoc

c++ - 现代 C++ : initialize constexpr tables

假设我有一个类X,它的功能需要很多常量表值,比如数组A[1024]。我有一个循环函数f计算它的值,smthlikeA[x]=f(A[x-1]);假设A[0]是一个已知常数,因此数组的其余部分也是常数。预先计算这些值的最佳方法是什么,使用现代C++的功能,并且不使用该数组的硬编码值存储文件?我的解决方法是一个const静态虚拟变量:constboolX::dummy=X::SetupTables();boolX::SetupTables(){A[0]=1;for(size_ti=1;i但我相信,这不是最美丽的方式。注意:我强调数组相当大,我想避免代码的怪物。

c++ - 是否有用于标准化类型名称字符串格式的 C++ type_info 的可移植包装器?

type_info::name()的输出格式是特定于实现的。namespaceN{structA;}constN::A*a;typeid(a).name();//returnse.g."conststructN::A"butcompiler-specific有没有人编写过一个包装器,它返回可靠的、可预测的类型信息,这些信息在编译器中是相同的。多个模板化函数将允许用户获取有关类型的特定信息。所以我也许可以使用:MyTypeInfo::name(a);//returns"conststructN::A*"MyTypeInfo::base(a);//returns"A"MyTypeInfo:

node.js - Winston logger.info 不是函数

我已经为Winston设置了到MySQL和控制台的传输,并将它放在一个名为logger的模块中。就这样……//modules/logger.js/*requirestatements*/exports.logger=new(winston.Logger)({transports:[newwinstonMysql(winstonMysqlConfig),new(winston.transports.Console)]});然后在/modules//modules/index.js/*grabothermodules*/exports.logger=require('./logger.js

node.js - Sequelize Node.js : ER_NO_SUCH_TABLE

我是sequelize和Node.js的新手。我为测试Sequelize编写代码,但发生错误“ER_NO_SUCH_TABLE:表'db.node_tests'不存在”错误很简单。但是,我想从“node_test”表中获取数据。我认为sequelize会附加's'字符。有我的源代码。varSequelize=require('sequelize');varsequelize=newSequelize('db','user','pass');varnodeTest=sequelize.define('node_test',{uid:Sequelize.INTEGER,val:Sequel