草庐IT

BeanShell断言

全部标签

c++ - 为 std::put_time 调试断言 "Invalid format directive"

我正在学习使用C++11chrono,并尝试输出时间。OtherSOquestions显示一些代码示例,例如std::chrono::time_pointnow=std::chrono::system_clock::now();std::time_tnow_c=std::chrono::system_clock::to_time_t(now-std::chrono::hours(24));std::cout当我在VS2012上调试运行它时,我得到一个调试断言,声称我使用了“无效的格式指令”。如果我使用std::strftime,也会发生同样的情况。我假设Microsoft不支持%F和%

c++ - 如何断言特定类在其布局中没有任何 vtbl 指针?

我有一个简单的RAII类来确保正确处理一些句柄。现在我想断言,没有人会意外地向它添加任何虚拟方法。在我看来,我需要断言该类没有vtbl指针。我该怎么做?是否可以在编译时断言?编辑我将满足于桌面编译器。据我所知,没有不使用vtbl实现多态性的桌面c++编译器。 最佳答案 如果你有C++11库,你可以使用std::is_polymorphic:IfTisapolymorphicclass(thatis,aclassthatdeclaresorinheritsatleastonevirtualfunction),providestheme

c++ - AfxGetInstanceHandle() 触发断言失败

我在我的C++程序中使用MFC(使用VisualStudio2008)。我必须在程序开始时调用AfxGetInstanceHandle()。这个函数触发一个断点:AFXWIN_INLINEHINSTANCEAFXAPIAfxGetInstanceHandle(){ASSERT(afxCurrentInstanceHandle!=NULL);returnafxCurrentInstanceHandle;}ASSERT语句失败。在我们尝试访问afxCurrentInstanceHandle之前,是否需要做一些特殊的事情来初始化它?PS:我在共享dll中使用MFC。编辑我的代码是这样的:in

c++ - 不同于复制构造函数的 move 构造函数的静态断言

想象一下,我有一个类A,move成本低,复制成本高。它可能看起来像classA{public:[...]private:HeavyClassm;};对于这个类,我想要一个静态验证类(1)是move可构造的并且(2)不简单的使用拷贝构造函数进行move构造,独立于move构造函数是否显式声明。这可能吗?至于为什么我会这样,请考虑以下示例:首先,该类自动生成move构造函数并按预期运行。然后,有人更改类并添加析构函数,这导致move构造函数不会隐式生成,而是使用复制构造函数。因此,static_assert将是理想的,但似乎is_move_constructible或is_triviall

c++ - 如果表达式在编译时未知则通过的静态断言

我想实现与c++17单参数static_assert略有不同的my_static_assert:如果my_static_assert中的条件是在编译时未知,它应该通过。下例中的第二个my_static_assert应该通过,但如果我使用static_assert它将失败。#includeintx,y;constexprintf1(){return0;}constexprintf2(){return0;}intf3(){returnx;}intf4(){returny;}constexprintsum(inta,intb){returna+b;}intmain(){std::cin>>x

c++ - 如果可能的话静态断言,否则动态断言?

假设我有一个模板函数,它接受一个整数和一个对类型T实例的const引用。现在根据整数,只有一些T是可接受的,否则在运行时会抛出异常。如果此函数的所有使用都使用常量整数,则可以将int设为模板参数并使用静态断言来检查它是否可接受。所以而不是func(1,c)一个人会使用func(c)并将获得编译时类型检查。有没有办法写func(1,c)并且仍然保持编译时检查,同时还能够编写func(i,c)并使用动态断言?目标是使其对开发人员透明。如果添加这种安全性而不用为编译时常量之类的事情打扰开发人员,那就太好了。他们可能只记得func(1,c)始终有效并使用它,避免检查。如何尽可能使用静态断言定义

python - 如何在 python 运行时捕获断言(由 C++ 引起)

我想在python应用程序中嵌入C++。我不想使用Boost库。如果C++函数执行断言,我想捕获它并在我的python应用程序中打印错误,或者获取一些详细信息,例如python脚本中导致错误的行号。主要的是“我想在python执行流程中进一步进行”我该怎么做?我在PythonAPI或C++中找不到任何函数来获取详细的断言信息。C++代码voidsum(intiA,intiB){assert(iA+iB>10);}Python代码fromctypesimport*mydll=WinDLL("C:\\Users\\cppwrapper.dll")try:mydll.sum(10,3)cat

redis - 使用 Beanshell 将 Jmeter 连接到 Redis

我想将Jmeter连接到Redis数据库,我想通过java编程来完成。我将jedis-2.2.1.jar文件添加到lib文件夹。并创建一个只有bean-shell预处理器的测试计划。我无法理解我所看到的,因为什么都没有发生,响应树是空白的,有人可以建议如何通过jmeter连接到redis(请不要使用redis插件)提供程序的图片,这是一个简单的程序,只是想连接。**我是Jmeter中java脚本的新手,我添加的唯一jar是jedis.jar,该程序是来自网络的脚本。测试计划中没有创建线程组使用voidmain也不起作用 最佳答案 您

javascript - 尝试将 Redis 集成到 Node.js (TypeScript) 时出现断言错误

有些人对Redis有点陌生,对这里的Node有点新手。我一直在尝试将node-redis模块与我一直在从事的TypescriptNode项目集成,我一直在使用mocha进行测试,并且柴。我正在尝试编写可以与我的项目的其余部分集成的基本Getter/Setter函数(我正在使用Redis来跟踪FacebookMessengerBot的状态)。每当我尝试使用setKeyValue函数向数据库写入一个新的键值对时,事务都会通过(通过redis-cli客户端验证)),但是setKeyValue和getValueFromKey返回的值与数据库事务成功时应返回的值不对应。我编写的代码实现如下(在我

ruby-on-rails - 断言 Redis 发布

我正在为after_create回调编写规范。规范如下所示:it'broadcastscreation'domessage=Message.create(body:'foo')expect(Redis.any_instance).tohave_received(:publish)end我的Message模型如下所示:classMessage{publish(:create)}privatedefpublish(name)Redis.new.publish(self.class.inferred_channel_name,json(action))Redis.new.publish(in