草庐IT

FRIEND_TEST

全部标签

c++ - 来自 Parasoft C++test 的混淆控制流分析

我们使用ParasoftC++test静态分析我们的代码。它在使用如下代码时遇到问题:voidfoo(int*x){try{bar();}catch(...){deletex;throw;}*x;}它在*x;行警告:Freedmemoryshouldn'tbesubsequentlyaccessedunderanycircumstances不知何故得出结论,控制流可以传递到catch(...)block,删除x,经过throw;,并使其成为*x;。我尝试了throwstd::exception("");和其他几个,得到了同样的结果。Parasoft当然知道异常并将它们合并到其控制流中,

C++ 模板 : Partial Template Specifications and Friend Classes

是否有可能以某种方式使部分模板规范成为友元类?IE。考虑你有以下模板类templateclassX{Tt;};现在你有了部分特化,例如,指针templateclassX{T*t;};我想要完成的是每一个可能的X是X的好友类对于任何S.IE。X应该是X的friend.当然,我想到了X中的常用模板友元声明:templateclassX{templatefriendclassX;}但是,这不会编译,g++告诉我:test4.cpp:34:15:错误:'templateclassX的特化'必须出现在命名空间范围内test4.cpp:34:21:错误:部分特化'X'声明'friend'这根本不可

c++ - 如何为模板类中定义的类定义 friend

假设我有以下定义嵌套类的模板类:templatestructfoo{structbar{};};假设我正在编写代码的环境也有以下帮助程序类,它应该专门用于需要特殊处理的任何类型:templatestructmaybeChangeType{usingtype=T;}/*default:sametype*/我怎样才能专攻maybeChangeType对于foo::bar?专门针对foo::bar很容易,但是foo将与100多种不同的T一起使用所以这不是一个真正的选择。注意:请在将此问题标记为重复之前仔细阅读。这个问题不是询问一般如何专门化(例如Understandingtemplatesi

c++ - is_constructible 和 is_destructible 不受 friend 声明的影响

在评估std::is_constructible和std::is_destructible时,Clang和GCC似乎不遵守friend声明。关于`is_constructible,cppreference.comsays:AccesschecksareperformedasiffromacontextunrelatedtoTandanyofthetypesinArgs.Onlythevalidityoftheimmediatecontextofthevariabledefinitionisconsidered.(该站点没有解释is_destructible如何处理访问检查,但访问修饰符

c++ - C++ 标准库必须支持对 friend 是谁挑剔的类吗?

这个问题最容易用一个例子来说明,所以这里是:像下面这样的代码是否保证有效,并且可以正确编译和运行?(并不是所有的实现都能正确地编译它,但我想知道这是否是一个错误。)#includeclassPicky{friendPicky*std::copy(Pickyconst*,Pickyconst*,Picky*);Picky&operator=(Pickyconst&){return*this;}public:Picky(){}};intmain(){Pickyconsta;Pickyb;std::copy(&a,&a+1,&b);return0;} 最佳答案

c++ - 更改 CMAKE_CXX_FLAGS_DEBUG 和 CMake 中的 friend 的默认值

我想在CMake中更改CMAKE_CXX_FLAGS_RELEASE或CMAKE_CXX_FLAGS_DEBUG的默认值。基本上,我有一些项目默认值与CMake的默认值略有不同(例如,发布),我不必问自己“哦,当添加add_compile_options时,他们的-O3或我们的-O2是否优先。”现在,我知道如何设置这些值,但我不知道如何通过两种常用方式让用户可以编辑它们:通过在命令行上使用-DCMAKE_CXX_FLAGS_DEBUG=yourflags或通过使用ccmake或CMakeSetup配置它。问题是CMAKE为这些设置和缓存了自己的默认值,如果您尝试在不使用FORCE的情况

c++ - 使用 Google Test、Clang 和 libc++ 构建测试时遇到问题

我尝试使用以下CMake配置构建GoogleTest:$CMAKE_CXX_COMPILER="clang++"CMAKE_CXX_FLAGS="-std=c++11-stdlib=libc++-U__STRICT_ANSI__"cmake../sourceBuilding显示CMake选择了正确的编译器,但我的编译器标志没有通过:$VERBOSE=1make.../Users/jfreeman/local/bin/clang++-I/Users/jfreeman/work/googletest/source/include-I/Users/jfreeman/work/googlete

Parasoft C++test 单元测试常见问题总结-2

这里写自定义目录标题单元测试常见问题总结1.QT项目测试环境-没有生成moc_文件2.QT图形界面的类初始化失败的问题3.测试用例程序启动失败4.由于循环出现测试超时5.桩函数常用接口单元测试常见问题总结1.QT项目测试环境-没有生成moc_文件error:LNK2001:无法解析的外部符号“public:virtualstructQMetaObjectconst*…错误提示如图:配置方法如下:选择需要生成moc文件的类的.h文件,鼠标右键属性,配置属性->常规,在项类型中将C/C++标头,改为自定义生成工具,点击应用然后将自定义生成工具配置如下:命令行:“$(QTDIR)\bin\moc.e

c++ - 当你是 friend 时,为什么 GCC 不允许从私有(private)嵌套类继承?

问同样的问题:为什么GCC允许从私有(private)嵌套类继承?对于非模板类,它允许从私有(private)嵌套类继承,如果它是一个friend,但不是模板类。是错误吗?templateclassInheritFromBaseMember:publicBase::MemberPrivate//error{usingPrivateMember=typenameBase::MemberPrivate;//worksfine};classMyBase{friendclassInheritFromBaseMember;//anothertrytodeclareitfriendtemplate

随机测试 Monkey Test

今天说一说随机测试,MonkeyTest。翻译成中文就是猴子测试。你可以想象一只猴子趴在电脑面前,拿着鼠标随便乱点的样子。一,什么是随机测试?软件测试中的Monkey测试是测试人员对应用程序随机输入以验证其功能的一种方法。这是一种功能性黑盒测试方法,在没有足够的时间编写和执行测试时使用。Monkey测试也被称为随机测试,可以用于移动、web和桌面应用程序。它通常被实现为随机和自动化的单元测试,这使得它很有优势,因为它可以快速评估软件的可靠性。二,随机测试的特点Monkey测试在不考虑规格的情况下自动执行。测试的主要目标是识别程序中的bug和错误,以确保产品可以向公众发布。以下是Monkey测试